@loicngr/kobo 1.11.26 → 1.11.28
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/AGENTS.md +19 -1
- package/CHANGELOG.md +10 -0
- package/dist/mcp-server/kobo-tasks-handlers.js +17 -1
- package/dist/server/db/migrations.js +34 -0
- package/dist/server/db/schema.js +3 -1
- package/dist/server/index.js +80 -23
- package/dist/server/middleware/host-check-middleware.js +80 -0
- package/dist/server/routes/changelog.js +51 -3
- package/dist/server/routes/notion.js +1 -1
- package/dist/server/routes/pull-requests.js +6 -2
- package/dist/server/routes/sentry.js +1 -1
- package/dist/server/routes/settings.js +23 -8
- package/dist/server/routes/usage.js +12 -0
- package/dist/server/routes/workspaces.js +240 -91
- package/dist/server/services/agent/engines/claude-code/engine.js +112 -15
- package/dist/server/services/agent/engines/codex/engine.js +18 -0
- package/dist/server/services/agent/engines/codex/server-requests.js +5 -20
- package/dist/server/services/agent/orchestrator.js +143 -34
- package/dist/server/services/agent/session-controller.js +28 -0
- package/dist/server/services/agent/streaming-batcher.js +1 -0
- package/dist/server/services/agent/turn-liveness.js +12 -1
- package/dist/server/services/auto-loop-service.js +65 -0
- package/dist/server/services/awaiting-user-reminder-service.js +115 -0
- package/dist/server/services/change-source-branch-service.js +1 -1
- package/dist/server/services/file-editor-service.js +2 -46
- package/dist/server/services/forge/bitbucket/provider.js +9 -8
- package/dist/server/services/forge/github/provider.js +4 -3
- package/dist/server/services/forge/gitlab/provider.js +4 -3
- package/dist/server/services/forge/parse-cli-json.js +14 -0
- package/dist/server/services/forge/resolve.js +29 -1
- package/dist/server/services/lifecycle-hook-service.js +114 -0
- package/dist/server/services/network-access-service.js +187 -6
- package/dist/server/services/pr-watcher-service.js +27 -1
- package/dist/server/services/settings-service.js +147 -4
- package/dist/server/services/usage/reliability.js +81 -0
- package/dist/server/services/wakeup-service.js +23 -0
- package/dist/server/services/websocket-service.js +31 -3
- package/dist/server/services/workspace-service.js +36 -4
- package/dist/server/services/worktree-purge-service.js +1 -1
- package/dist/server/utils/git-ops.js +159 -1
- package/dist/server/utils/paths.js +19 -0
- package/dist/server/utils/safe-path.js +21 -1
- package/dist/server/utils/script-runner.js +2 -1
- package/dist/server/utils/workspace-name.js +37 -0
- package/dist/shared/consts.js +22 -0
- package/dist/shared/models.js +4 -4
- package/package.json +3 -2
- package/src/client/dist/pwa/assets/{ActivityFeed-DUjY6lCm.css → ActivityFeed-C6XSxdJ0.css} +1 -1
- package/src/client/dist/pwa/assets/ActivityFeed-LDzg5XPx.js +8 -0
- package/src/client/dist/pwa/assets/ChangelogPage-CjiWI9Qa.js +1 -0
- package/src/client/dist/pwa/assets/ClosePopup-CK6wvsMy.js +1 -0
- package/src/client/dist/pwa/assets/ComparisonPanel-C0hI2D1O.css +1 -0
- package/src/client/dist/pwa/assets/ComparisonPanel-D6eEciwQ.js +1 -0
- package/src/client/dist/pwa/assets/CreatePage-DHBa7ZL5.js +2 -0
- package/src/client/dist/pwa/assets/CreatePage-DeKYK6uC.css +1 -0
- package/src/client/dist/pwa/assets/DashboardPage-BqgK4lAf.css +1 -0
- package/src/client/dist/pwa/assets/DashboardPage-Xev4suQ7.js +1 -0
- package/src/client/dist/pwa/assets/DiffViewer-D0BQ5Dip.js +8 -0
- package/src/client/dist/pwa/assets/DiffViewer-DnR79ycb.css +1 -0
- package/src/client/dist/pwa/assets/DocumentsPanel-7hMCYUTd.js +1 -0
- package/src/client/dist/pwa/assets/DrawerToggleButton-BASeszPg.js +1 -0
- package/src/client/dist/pwa/assets/GitPanel-D-rwHnFn.js +3 -0
- package/src/client/dist/pwa/assets/{GitPanel-BKrtkPrV.css → GitPanel-DVs5BCU-.css} +1 -1
- package/src/client/dist/pwa/assets/HealthPage-BKXqP1li.js +1 -0
- package/src/client/dist/pwa/assets/MainLayout-DnPtpWgP.js +2 -0
- package/src/client/dist/pwa/assets/MainLayout-ExB0xYHB.css +1 -0
- package/src/client/dist/pwa/assets/QBanner-CDiXUya7.js +1 -0
- package/src/client/dist/pwa/assets/QBtnDropdown-52YHuBbx.js +1 -0
- package/src/client/dist/pwa/assets/QChip-DpUYTCOJ.js +1 -0
- package/src/client/dist/pwa/assets/QItemSection-CEUi4Tz0.js +1 -0
- package/src/client/dist/pwa/assets/QMarkupTable-DcoQpjPu.js +1 -0
- package/src/client/dist/pwa/assets/SchedulePanel-C7NK1hIK.js +1 -0
- package/src/client/dist/pwa/assets/SearchPage-Cm8chltA.js +1 -0
- package/src/client/dist/pwa/assets/{SettingsPage-CDZhPV6A.css → SettingsPage-2vdOZu1C.css} +1 -1
- package/src/client/dist/pwa/assets/SettingsPage-B4xs1RUl.js +10 -0
- package/src/client/dist/pwa/assets/TerminalPanel-CSPk8QtK.js +18 -0
- package/src/client/dist/pwa/assets/{TerminalPanel-B6xJJs8p.css → TerminalPanel-DbVZk0vD.css} +1 -1
- package/src/client/dist/pwa/assets/TouchPan-CpO61wPy.js +1 -0
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-CrLP_I5S.css +1 -0
- package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-DZrbJ0vD.js +1 -0
- package/src/client/dist/pwa/assets/WorkspacePage-D0-FkRVJ.js +4 -0
- package/src/client/dist/pwa/assets/browser-Bg25_sDh.js +8 -0
- package/src/client/dist/pwa/assets/build-path-tree-DH4SSsEz.js +1 -0
- package/src/client/dist/pwa/assets/de-Bf_OsgDw.js +17 -0
- package/src/client/dist/pwa/assets/documents-CDZqd_g5.js +1 -0
- package/src/client/dist/pwa/assets/editor-BJU3Xb3h.css +1 -0
- package/src/client/dist/pwa/assets/editor.api-CMsYdZTX.js +413 -0
- package/src/client/dist/pwa/assets/{efforts-BPZzMyrc.js → efforts-Db4w0alg.js} +1 -1
- package/src/client/dist/pwa/assets/engineFeatures-BjtQR0vB.js +1 -0
- package/src/client/dist/pwa/assets/es-1ib0e9jm.js +17 -0
- package/src/client/dist/pwa/assets/expand-template-CTUNyJrv.css +1 -0
- package/src/client/dist/pwa/assets/expand-template-DY8ntqUb.js +1 -0
- package/src/client/dist/pwa/assets/format-C-9jMgWb.js +435 -0
- package/src/client/dist/pwa/assets/format-CX6Cv1cD.css +1 -0
- package/src/client/dist/pwa/assets/{formatters-D0dU6VcA.js → formatters-CQ90Icr4.js} +1 -1
- package/src/client/dist/pwa/assets/fr-nj0BrM3X.js +17 -0
- package/src/client/dist/pwa/assets/{freemarker2-BqVyQSGe.js → freemarker2-KxB1BtrL.js} +1 -1
- package/src/client/dist/pwa/assets/{handlebars-9K762gzW.js → handlebars-7TByd_Zc.js} +1 -1
- package/src/client/dist/pwa/assets/{html-CRmp4AC_.js → html-BoVZ_gre.js} +1 -1
- package/src/client/dist/pwa/assets/i18n-BubYp85n.js +1 -0
- package/src/client/dist/pwa/assets/{index-BpmxQlZi.css → index-6H3m6vH7.css} +1 -1
- package/src/client/dist/pwa/assets/index-Ck1_qrff.js +18 -0
- package/src/client/dist/pwa/assets/it-B9MEgvg1.js +17 -0
- package/src/client/dist/pwa/assets/{javascript-DB9a_ZGm.js → javascript-BLL8vPQy.js} +1 -1
- package/src/client/dist/pwa/assets/layout-CFuk4mdG.js +1 -0
- package/src/client/dist/pwa/assets/{liquid-C67ZTBj7.js → liquid-DzcT-R6k.js} +1 -1
- package/src/client/dist/pwa/assets/{mdx-C_K9rc9_.js → mdx-Bguo999w.js} +1 -1
- package/src/client/dist/pwa/assets/monaco-contributions-CM7FH-iZ.js +51 -0
- package/src/client/dist/pwa/assets/monaco-contributions-Cb0afGfW.css +1 -0
- package/src/client/dist/pwa/assets/monaco.contribution-Dkq0qtWA.js +2 -0
- package/src/client/dist/pwa/assets/network-auth-C0moem8_.js +1 -0
- package/src/client/dist/pwa/assets/{notify-theme-thUiJn9n.js → notify-theme-C7mNmzKx.js} +1 -1
- package/src/client/dist/pwa/assets/pending-diff-open-BaQ_SNEF.js +1 -0
- package/src/client/dist/pwa/assets/permissionModes-CJZsT9Fl.js +36 -0
- package/src/client/dist/pwa/assets/pinia-ClsyLh3i.js +1 -0
- package/src/client/dist/pwa/assets/{project-color-hgNWqp0x.js → project-color-54JZHVy2.js} +1 -1
- package/src/client/dist/pwa/assets/{python-D1CBO9Uf.js → python-D5RQNiPF.js} +1 -1
- package/src/client/dist/pwa/assets/{razor-BCiKSj6_.js → razor-CVwoDJol.js} +1 -1
- package/src/client/dist/pwa/assets/{render-chat-markdown-Cw1_NLqs.js → render-chat-markdown-NAmPVIQp.js} +1 -1
- package/src/client/dist/pwa/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/src/client/dist/pwa/assets/{typescript-D-8UENST.js → typescript-qdgwClKe.js} +1 -1
- package/src/client/dist/pwa/assets/use-checkbox-3io6bTPe.js +1 -0
- package/src/client/dist/pwa/assets/use-onboarding-DbYF8ZX_.js +2 -0
- package/src/client/dist/pwa/assets/use-quasar-B4eIgSfZ.js +1 -0
- package/src/client/dist/pwa/assets/vue-i18n-DtajJy_8.js +3 -0
- package/src/client/dist/pwa/assets/{xml-BBPvJ9QP.js → xml-DNSfQSlk.js} +1 -1
- package/src/client/dist/pwa/assets/{yaml-D4q1p7HX.js → yaml-6gnX2NnP.js} +1 -1
- package/src/client/dist/pwa/index.html +6 -5
- package/src/client/dist/pwa/sw.js +1 -1
- package/src/mcp-server/kobo-tasks-handlers.ts +17 -1
- package/src/client/dist/pwa/assets/ActivityFeed-CGMEOMn5.js +0 -8
- package/src/client/dist/pwa/assets/ChangelogPage-rvISZfJb.js +0 -1
- package/src/client/dist/pwa/assets/ClosePopup-BK6mNWsy.js +0 -1
- package/src/client/dist/pwa/assets/CreatePage-BCuDTB_0.css +0 -1
- package/src/client/dist/pwa/assets/CreatePage-BptAgVvu.js +0 -2
- package/src/client/dist/pwa/assets/DiffViewer-ZrvQ0YWN.js +0 -8
- package/src/client/dist/pwa/assets/DiffViewer-ahWtFrRy.css +0 -1
- package/src/client/dist/pwa/assets/DocumentsPanel-DuWbZiID.js +0 -1
- package/src/client/dist/pwa/assets/DrawerToggleButton-CBdOJzVZ.js +0 -1
- package/src/client/dist/pwa/assets/GitPanel-BiIXQPfL.js +0 -3
- package/src/client/dist/pwa/assets/HealthPage-DTrmhh3X.js +0 -1
- package/src/client/dist/pwa/assets/MainLayout-PSmlvfJd.js +0 -2
- package/src/client/dist/pwa/assets/MainLayout-Vq1iUPjx.css +0 -1
- package/src/client/dist/pwa/assets/QBanner-BoAbhM1O.js +0 -1
- package/src/client/dist/pwa/assets/QBtnDropdown-Ckvd3IVR.js +0 -1
- package/src/client/dist/pwa/assets/QChip-BzB_GF4Z.js +0 -1
- package/src/client/dist/pwa/assets/QItemSection-5GBV9MR2.js +0 -1
- package/src/client/dist/pwa/assets/SchedulePanel-DJWMsAoh.js +0 -1
- package/src/client/dist/pwa/assets/SearchPage-BI8w9utc.js +0 -1
- package/src/client/dist/pwa/assets/SettingsPage-Dr8oSevA.js +0 -16
- package/src/client/dist/pwa/assets/TerminalPanel-DVC58DJb.js +0 -18
- package/src/client/dist/pwa/assets/TouchPan-pqksSni0.js +0 -1
- package/src/client/dist/pwa/assets/WorkspacePage-DRP9Ypmz.js +0 -4
- package/src/client/dist/pwa/assets/build-path-tree-CQ4zZqo0.js +0 -1
- package/src/client/dist/pwa/assets/css.worker-JKZQyld4.js +0 -93
- package/src/client/dist/pwa/assets/cssMode-MGWKgqj7.js +0 -1
- package/src/client/dist/pwa/assets/documents-B6eOZeFK.js +0 -1
- package/src/client/dist/pwa/assets/editor-vZnmUXVO.css +0 -1
- package/src/client/dist/pwa/assets/editor.api-Dq41Mm99.js +0 -847
- package/src/client/dist/pwa/assets/engineFeatures-Dd_dxoOS.js +0 -1
- package/src/client/dist/pwa/assets/expand-template-B4LAsXAF.css +0 -1
- package/src/client/dist/pwa/assets/expand-template-BfZqON3q.js +0 -1
- package/src/client/dist/pwa/assets/html.worker-BUr90sI4.js +0 -506
- package/src/client/dist/pwa/assets/htmlMode-CFxFF9iH.js +0 -1
- package/src/client/dist/pwa/assets/i18n-BsWCIFmf.js +0 -1
- package/src/client/dist/pwa/assets/index-xTf0VfFG.js +0 -82
- package/src/client/dist/pwa/assets/json.worker-BOODjG9U.js +0 -62
- package/src/client/dist/pwa/assets/jsonMode-JhLTE1-C.js +0 -7
- package/src/client/dist/pwa/assets/layout-nWIyHeJf.js +0 -1
- package/src/client/dist/pwa/assets/lspLanguageFeatures-BIDd3ml0.js +0 -4
- package/src/client/dist/pwa/assets/network-auth-BPxfeLcl.js +0 -1
- package/src/client/dist/pwa/assets/pending-diff-open-BdA8vrDx.js +0 -1
- package/src/client/dist/pwa/assets/permissionModes-D09rnNgv.js +0 -36
- package/src/client/dist/pwa/assets/ts.worker-C-oGa8JT.js +0 -67738
- package/src/client/dist/pwa/assets/tsMode-Db77HzVu.js +0 -11
- package/src/client/dist/pwa/assets/use-checkbox-z-Qs4ZHY.js +0 -1
- package/src/client/dist/pwa/assets/use-id-DlouqdB8.js +0 -1
- package/src/client/dist/pwa/assets/use-onboarding-BafrD9nc.js +0 -2
- package/src/client/dist/pwa/assets/vs-Bb18eQC8.js +0 -56
- package/src/client/dist/pwa/assets/vs-JJSFJJVJ.css +0 -1
- package/src/client/dist/pwa/assets/vue-i18n-C3W5i7h6.js +0 -3
- package/src/client/dist/pwa/assets/workers-CImko7IX.js +0 -1
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/freemarker2-BqVyQSGe.js","assets/editor.api-Dq41Mm99.js","assets/index-xTf0VfFG.js","assets/vue-i18n-C3W5i7h6.js","assets/reactivity.esm-bundler-DtSZKRQB.js","assets/runtime-dom.esm-bundler-DgevF6KV.js","assets/QBtn-B7WFdfmy.js","assets/debounce-CDIE7CV6.js","assets/use-id-DlouqdB8.js","assets/private.use-form-D8Yuc3aU.js","assets/use-checkbox-z-Qs4ZHY.js","assets/index-BpmxQlZi.css","assets/editor-vZnmUXVO.css","assets/handlebars-9K762gzW.js","assets/html-CRmp4AC_.js","assets/javascript-DB9a_ZGm.js","assets/typescript-D-8UENST.js","assets/liquid-C67ZTBj7.js","assets/mdx-C_K9rc9_.js","assets/python-D1CBO9Uf.js","assets/razor-BCiKSj6_.js","assets/xml-BBPvJ9QP.js","assets/yaml-D4q1p7HX.js","assets/cssMode-MGWKgqj7.js","assets/workers-CImko7IX.js","assets/lspLanguageFeatures-BIDd3ml0.js","assets/htmlMode-CFxFF9iH.js","assets/jsonMode-JhLTE1-C.js","assets/tsMode-Db77HzVu.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./vue-i18n-C3W5i7h6.js";import{t}from"./index-xTf0VfFG.js";import{$ as n,$a as r,$c as i,$d as a,$i as o,$l as s,$n as c,$o as l,$r as u,$s as d,$t as f,$u as p,A as m,Aa as h,Ac as g,Ad as _,Ai as v,Al as y,An as ee,Ao as te,Ar as ne,As as re,At as ie,Au as ae,B as oe,Ba as se,Bc as ce,Bd as le,Bi as ue,Bl as de,Bn as fe,Bo as pe,Br as me,Bs as he,Bt as ge,Bu as _e,C as ve,Ca as ye,Cc as be,Cd as xe,Ci as Se,Cl as Ce,Cn as we,Co as Te,Cr as Ee,Cs as De,Ct as Oe,Cu as ke,D as Ae,Da as je,Dc as Me,Dd as Ne,Di as Pe,Dl as Fe,Dn as Ie,Do as Le,Dr as Re,Ds as ze,Dt as Be,Du as Ve,E as He,Ea as Ue,Ec as We,Ed as b,Ei as Ge,El as Ke,En as qe,Eo as Je,Er as Ye,Es as Xe,Et as Ze,Eu as Qe,F as $e,Fa as et,Fc as tt,Fd as nt,Fi as rt,Fl as it,Fn as at,Fo as ot,Fr as st,Fs as ct,Ft as lt,Fu as ut,G as dt,Ga as ft,Gc as x,Gd as pt,Gi as mt,Gl as ht,Gn as gt,Go as _t,Gr as vt,Gs as yt,Gt as bt,Gu as xt,H as St,Ha as Ct,Hc as wt,Hd as Tt,Hi as Et,Hl as Dt,Hn as Ot,Ho as kt,Hr as At,Hs as S,Ht as jt,Hu as Mt,I as Nt,Ia as C,Ic as w,Id as Pt,Ii as Ft,Il as It,In as Lt,Io as Rt,Ir as zt,Is as Bt,It as Vt,Iu as Ht,J as Ut,Jc as Wt,Jd as Gt,Ji as Kt,Jl as qt,Jn as Jt,Jo as Yt,Jr as Xt,Js as T,Jt as Zt,Ju as Qt,K as $t,Ka as en,Kc as tn,Kd as nn,Ki as rn,Kl as E,Kn as an,Ko as on,Kr as sn,Ks as cn,Kt as ln,Ku as un,L as dn,La as fn,Lc as pn,Ld as mn,Li as hn,Ll as gn,Ln as _n,Lo as vn,Lr as yn,Ls as bn,Lt as xn,Lu as Sn,M as Cn,Ma as wn,Mc as D,Md as Tn,Mi as En,Ml as Dn,Mn as On,Mo as kn,Mr as An,Ms as jn,Mt as Mn,Mu as Nn,N as Pn,Na as Fn,Nc as In,Nd as Ln,Ni as Rn,Nl as zn,Nn as Bn,No as Vn,Nr as Hn,Ns as Un,Nt as Wn,Nu as Gn,O as Kn,Oa as qn,Oc as Jn,Od as Yn,Oi as Xn,Ol as Zn,On as Qn,Oo as $n,Or as er,Os as tr,Ot as nr,Ou as rr,P as ir,Pa as ar,Pc as or,Pd as sr,Pi as cr,Pl as lr,Pn as ur,Po as dr,Pr as fr,Ps as pr,Pt as mr,Pu as hr,Q as gr,Qa as _r,Qc as vr,Qd as yr,Qi as br,Ql as xr,Qn as Sr,Qo as Cr,Qr as wr,Qs as Tr,Qt as Er,Qu as Dr,R as Or,Ra as kr,Rc as Ar,Rd as jr,Ri as Mr,Rl as Nr,Rn as Pr,Ro as Fr,Rr as Ir,Rs as Lr,Rt as Rr,Ru as zr,S as Br,Sa as Vr,Sc as Hr,Sd as Ur,Si as Wr,Sl as Gr,Sn as Kr,So as qr,Sr as Jr,Ss as Yr,St as Xr,Su as Zr,T as Qr,Ta as $r,Tc as ei,Td as O,Ti as ti,Tl as ni,Tn as ri,To as ii,Tr as ai,Ts as oi,Tt as si,Tu as ci,U as li,Ua as ui,Uc as k,Ud as di,Ui as fi,Ul as pi,Un as mi,Uo as hi,Ur as gi,Us as A,Ut as _i,Uu as vi,V as yi,Va as bi,Vc as xi,Vd as Si,Vi as Ci,Vl as wi,Vn as Ti,Vo as Ei,Vr as Di,Vs as j,Vt as Oi,Vu as ki,W as Ai,Wa as ji,Wc as Mi,Wd as Ni,Wi as Pi,Wl as Fi,Wn as Ii,Wo as Li,Wr as Ri,Ws as zi,Wt as Bi,Wu as Vi,X as Hi,Xa as Ui,Xc as Wi,Xd as Gi,Xi as Ki,Xl as qi,Xn as Ji,Xo as Yi,Xr as Xi,Xs as M,Xt as Zi,Xu as Qi,Y as $i,Ya as ea,Yc as N,Yd as ta,Yi as na,Yl as P,Yn as ra,Yo as ia,Yr as aa,Ys as F,Yt as oa,Yu as sa,Z as ca,Za as la,Zc as ua,Zd as da,Zi as fa,Zl as pa,Zn as ma,Zo as I,Zr as ha,Zs as ga,Zt as _a,Zu as va,_a as ya,_c as ba,_d as L,_f as R,_i as xa,_l as Sa,_n as Ca,_o as wa,_r as Ta,_s as Ea,_t as Da,_u as Oa,a as ka,aa as Aa,ac as ja,ad as Ma,af as Na,ai as Pa,al as z,an as Fa,ao as Ia,ar as La,as as Ra,at as za,au as Ba,b as Va,ba as Ha,bc as Ua,bd as B,bi as Wa,bl as Ga,bn as Ka,bo as qa,br as Ja,bs as Ya,bt as Xa,bu as Za,c as Qa,ca as $a,cc as eo,cd as to,cf as no,ci as ro,cl as io,cn as ao,co as oo,cr as so,cs as co,ct as lo,cu as uo,d as fo,da as po,dc as mo,dd as ho,df as go,di as _o,dl as vo,dn as yo,do as bo,dr as xo,ds as So,dt as Co,du as wo,ea as To,ec as Eo,ed as Do,ef as Oo,ei as ko,el as Ao,en as jo,eo as Mo,er as No,es as Po,et as Fo,eu as Io,f as Lo,fa as Ro,fc as zo,fd as Bo,ff as Vo,fi as Ho,fl as Uo,fn as Wo,fo as Go,fr as Ko,fs as qo,ft as Jo,fu as Yo,g as Xo,ga as Zo,gc as Qo,gd as $o,gf as es,gi as ts,gl as ns,gn as rs,go as is,gr as as,gs as os,gt as ss,gu as cs,h as ls,ha as us,hc as ds,hd as fs,hf as ps,hi as ms,hl as hs,hn as gs,ho as _s,hr as vs,hs as ys,ht as bs,hu as xs,i as Ss,ia as Cs,ic as ws,id as Ts,if as Es,ii as Ds,il as Os,in as ks,io as As,ir as js,is as Ms,it as Ns,iu as Ps,j as Fs,ja as Is,jc as Ls,jd as Rs,ji as zs,jl as Bs,jn as Vs,jo as Hs,jr as Us,js as Ws,jt as Gs,ju as Ks,k as qs,ka as Js,kc as Ys,kd as Xs,ki as Zs,kl as Qs,kn as $s,ko as ec,kr as tc,ks as nc,kt as rc,ku as ic,l as ac,la as oc,lc as sc,ld as cc,lf as lc,li as uc,ll as dc,ln as fc,lo as pc,lr as mc,ls as hc,lt as gc,lu as _c,m as V,ma as vc,mc as yc,md as bc,mf as xc,mi as Sc,ml as Cc,mn as wc,mo as Tc,mr as Ec,ms as Dc,mt as Oc,mu as kc,n as Ac,na as jc,nc as Mc,nd as Nc,nf as Pc,ni as Fc,nl as H,nn as Ic,no as U,nr as Lc,ns as Rc,nt as zc,nu as Bc,o as Vc,oa as Hc,oc as Uc,od as Wc,of as Gc,oi as Kc,ol as qc,on as Jc,oo as Yc,or as Xc,os as Zc,ot as Qc,ou as $c,p as el,pa as tl,pc as nl,pd as rl,pf as il,pi as al,pl as ol,pn as sl,po as cl,pr as ll,ps as ul,pt as dl,pu as fl,q as pl,qa as ml,qc as hl,qd as gl,qi as _l,ql as vl,qn as yl,qo as bl,qr as xl,qs as Sl,qt as Cl,qu as wl,r as Tl,ra as El,rc as Dl,rd as Ol,rf as kl,ri as Al,rl as jl,rn as Ml,ro as Nl,rr as Pl,rs as Fl,rt as Il,ru as Ll,s as Rl,sa as zl,sc as Bl,sd as Vl,sf as Hl,si as Ul,sl as Wl,sn as Gl,so as Kl,sr as ql,ss as Jl,st as Yl,su as Xl,t as Zl,ta as Ql,tc as $l,td as eu,tf as tu,ti as nu,tl as ru,tn as iu,to as au,tr as ou,ts as su,tt as cu,tu as lu,u as uu,ua as du,uc as fu,ud as pu,uf as mu,ui as hu,ul as gu,un as _u,uo as vu,ur as yu,us as bu,ut as xu,uu as Su,v as Cu,va as wu,vc as Tu,vd as Eu,vf as W,vi as Du,vl as Ou,vn as ku,vo as Au,vr as G,vs as ju,vt as Mu,vu as Nu,w as Pu,wa as Fu,wc as Iu,wd as Lu,wi as Ru,wl as K,wn as zu,wo as Bu,wr as Vu,ws as Hu,wt as Uu,wu as Wu,x as Gu,xa as Ku,xc as q,xd as qu,xi as Ju,xl as Yu,xn as Xu,xo as Zu,xr as Qu,xs as $u,xt as ed,xu as td,y as nd,ya as rd,yc as id,yd as ad,yi as od,yl as sd,yn as cd,yo as ld,yr as ud,ys as dd,yt as fd,yu as pd,z as md,za as hd,zc as gd,zd as _d,zi as vd,zl as yd,zn as bd,zo as xd,zr as Sd,zs as Cd,zt as wd,zu as Td}from"./editor.api-Dq41Mm99.js";var Ed,Dd,Od=class extends id{constructor(){super({id:`diffEditor.toggleCollapseUnchangedRegions`,title:W(101,`Toggle Collapse Unchanged Regions`),icon:w.map,toggled:g.has(`config.diffEditor.hideUnchangedRegions.enabled`),precondition:g.has(`isInDiffEditor`),menu:{when:g.has(`isInDiffEditor`),id:q.EditorTitle,order:22,group:`navigation`}})}run(e,...t){let n=e.get(Ea),r=!n.getValue(`diffEditor.hideUnchangedRegions.enabled`);n.updateValue(`diffEditor.hideUnchangedRegions.enabled`,r)}},kd=class extends id{constructor(){super({id:`diffEditor.toggleShowMovedCodeBlocks`,title:W(102,`Toggle Show Moved Code Blocks`),precondition:g.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(Ea),r=!n.getValue(`diffEditor.experimental.showMoves`);n.updateValue(`diffEditor.experimental.showMoves`,r)}},Ad=class extends id{constructor(){super({id:`diffEditor.toggleUseInlineViewWhenSpaceIsLimited`,title:W(103,`Toggle Use Inline View When Space Is Limited`),precondition:g.has(`isInDiffEditor`)})}run(e,...t){let n=e.get(Ea),r=!n.getValue(`diffEditor.useInlineViewWhenSpaceIsLimited`);n.updateValue(`diffEditor.useInlineViewWhenSpaceIsLimited`,r)}},jd=W(104,`Diff Editor`),Md=class extends zi{constructor(){super({id:`diffEditor.switchSide`,title:W(105,`Switch Side`),icon:w.arrowSwap,precondition:g.has(`isInDiffEditor`),f1:!0,category:jd})}runEditorCommand(e,t,n){let r=Vd(e);if(r instanceof Zt){if(n&&n.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}},Nd=class extends zi{constructor(){super({id:`diffEditor.exitCompareMove`,title:W(106,`Exit Compare Move`),icon:w.close,precondition:I.comparingMovedCode,f1:!1,category:jd,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...n){let r=Vd(e);r instanceof Zt&&r.exitCompareMove()}},Pd=class extends zi{constructor(){super({id:`diffEditor.collapseAllUnchangedRegions`,title:W(107,`Collapse All Unchanged Regions`),icon:w.fold,precondition:g.has(`isInDiffEditor`),f1:!0,category:jd})}runEditorCommand(e,t,...n){let r=Vd(e);r instanceof Zt&&r.collapseAllUnchangedRegions()}},Fd=class extends zi{constructor(){super({id:`diffEditor.showAllUnchangedRegions`,title:W(108,`Show All Unchanged Regions`),icon:w.unfold,precondition:g.has(`isInDiffEditor`),f1:!0,category:jd})}runEditorCommand(e,t,...n){let r=Vd(e);r instanceof Zt&&r.showAllUnchangedRegions()}},Id=class extends id{constructor(){super({id:`diffEditor.revert`,title:W(109,`Revert`),f1:!0,category:jd,precondition:g.has(`isInDiffEditor`)})}run(e,t){return t?this.runViaToolbarContext(e,t):this.runViaCursorOrSelection(e)}runViaCursorOrSelection(e){let t=Vd(e);t instanceof Zt&&t.revertFocusedRangeMappings()}runViaToolbarContext(e,t){let n=Bd(e,t.originalUri,t.modifiedUri);n instanceof Zt&&n.revertRangeMappings(t.mapping.innerChanges??[])}},Ld=W(110,`Accessible Diff Viewer`),Rd=class e extends id{constructor(){super({id:e.id,title:W(111,`Go to Next Difference`),category:Ld,precondition:g.has(`isInDiffEditor`),keybinding:{primary:65,weight:100},f1:!0})}run(e){Vd(e)?.accessibleDiffViewerNext()}};Ed=Rd,Ed.id=`editor.action.accessibleDiffViewer.next`;var zd=class e extends id{constructor(){super({id:e.id,title:W(112,`Go to Previous Difference`),category:Ld,precondition:g.has(`isInDiffEditor`),keybinding:{primary:1089,weight:100},f1:!0})}run(e){Vd(e)?.accessibleDiffViewerPrev()}};Dd=zd,Dd.id=`editor.action.accessibleDiffViewer.prev`;function Bd(e,t,n){return e.get(Mi).listDiffEditors().find(e=>{let r=e.getModifiedEditor(),i=e.getOriginalEditor();return r&&r.getModel()?.uri.toString()===n.toString()&&i&&i.getModel()?.uri.toString()===t.toString()})||null}function Vd(e){let t=e.get(Mi).listDiffEditors(),n=io();if(n){for(let e of t)if(e.getContainerDomNode().contains(n))return e}return null}We(Od),We(kd),We(Ad),be.appendMenuItem(q.EditorTitle,{command:{id:new Ad().desc.id,title:R(135,`Use Inline View When Space Is Limited`),toggled:g.has(`config.diffEditor.useInlineViewWhenSpaceIsLimited`),precondition:g.has(`isInDiffEditor`)},order:11,group:`1_diff`,when:g.and(I.diffEditorRenderSideBySideInlineBreakpointReached,g.has(`isInDiffEditor`))}),be.appendMenuItem(q.EditorTitle,{command:{id:new kd().desc.id,title:R(136,`Show Moved Code Blocks`),icon:w.move,toggled:Ys.create(`config.diffEditor.experimental.showMoves`,!0),precondition:g.has(`isInDiffEditor`)},order:10,group:`1_diff`,when:g.has(`isInDiffEditor`)}),We(Id);for(let e of[{icon:w.arrowRight,key:I.diffEditorInlineMode.toNegated()},{icon:w.discard,key:I.diffEditorInlineMode}])be.appendMenuItem(q.DiffEditorHunkToolbar,{command:{id:new Id().desc.id,title:R(137,`Revert Block`),icon:e.icon},when:g.and(I.diffEditorModifiedWritable,e.key),order:5,group:`primary`}),be.appendMenuItem(q.DiffEditorSelectionToolbar,{command:{id:new Id().desc.id,title:R(138,`Revert Selection`),icon:e.icon},when:g.and(I.diffEditorModifiedWritable,e.key),order:5,group:`primary`});We(Md),We(Nd),We(Pd),We(Fd),be.appendMenuItem(q.EditorTitle,{command:{id:Rd.id,title:R(139,`Open Accessible Diff Viewer`),precondition:g.has(`isInDiffEditor`)},order:10,group:`2_diff`,when:g.and(I.accessibleDiffViewerVisible.negate(),g.has(`isInDiffEditor`))}),In.registerCommandAlias(`editor.action.diffReview.next`,Rd.id),We(Rd),In.registerCommandAlias(`editor.action.diffReview.prev`,zd.id),We(zd);var Hd,Ud=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Wd=function(e,t){return function(n,r){t(n,r,e)}},Gd,Kd=new D(`selectionAnchorSet`,!1),qd=(Hd=class{static get(e){return e.getContribution(Gd.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Kd.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(j.fromPositions(e,e),{description:`selection-anchor`,stickiness:1,hoverMessage:new mi().appendText(R(834,`Selection Anchor`)),className:`selection-anchor`})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),hl(R(835,`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(j.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()}},Gd=Hd,Hd.ID=`editor.contrib.selectionAnchorController`,Hd);qd=Gd=Ud([Wd(1,Ls)],qd);var Jd=class extends A{constructor(){super({id:`editor.action.setSelectionAnchor`,label:W(836,`Set Selection Anchor`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2080),weight:100}})}async run(e,t){qd.get(t)?.setSelectionAnchor()}},Yd=class extends A{constructor(){super({id:`editor.action.goToSelectionAnchor`,label:W(837,`Go to Selection Anchor`),precondition:Kd})}async run(e,t){qd.get(t)?.goToSelectionAnchor()}},Xd=class extends A{constructor(){super({id:`editor.action.selectFromAnchorToCursor`,label:W(838,`Select from Anchor to Cursor`),precondition:Kd,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2089),weight:100}})}async run(e,t){qd.get(t)?.selectFromAnchorToCursor()}},Zd=class extends A{constructor(){super({id:`editor.action.cancelSelectionAnchor`,label:W(839,`Cancel Selection Anchor`),precondition:Kd,kbOpts:{kbExpr:I.editorTextFocus,primary:9,weight:100}})}async run(e,t){qd.get(t)?.cancelSelectionAnchor()}};M(qd.ID,qd,4),T(Jd),T(Yd),T(Xd),T(Zd);var Qd,$d=C(`editorOverviewRuler.bracketMatchForeground`,`#A0A0A0`,R(840,`Overview ruler marker color for matching brackets.`)),ef=class extends A{constructor(){super({id:`editor.action.jumpToBracket`,label:W(842,`Go to Bracket`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:3165,weight:100}})}run(e,t){af.get(t)?.jumpToBracket()}},tf=class extends A{constructor(){super({id:`editor.action.selectToBracket`,label:W(843,`Select to Bracket`),precondition:void 0,metadata:{description:W(844,`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,n){let r=!0;n&&n.selectBrackets===!1&&(r=!1),af.get(t)?.selectToBracket(r)}},nf=class extends A{constructor(){super({id:`editor.action.removeBrackets`,label:W(845,`Remove Brackets`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){af.get(t)?.removeBrackets(this.id)}},rf=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},af=class e extends O{static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Vl(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{this._matchBrackets!==`never`&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.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(t=>{let n=t.getStartPosition(),r=e.bracketPairs.matchBracket(n),i=null;if(r)r[0].containsPosition(n)&&!r[1].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{let t=e.bracketPairs.findEnclosingBrackets(n);if(t)i=t[1].getStartPosition();else{let t=e.bracketPairs.findNextBracket(n);t&&t.range&&(i=t.range.getStartPosition())}}return i?new j(i.lineNumber,i.column,i.lineNumber,i.column):new j(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{let i=r.getStartPosition(),a=t.bracketPairs.matchBracket(i);if(!a&&(a=t.bracketPairs.findEnclosingBrackets(i),!a)){let e=t.bracketPairs.findNextBracket(i);e&&e.range&&(a=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let o=null,s=null;if(a){a.sort(S.compareRangesUsingStarts);let[t,n]=a;if(o=e?t.getStartPosition():t.getEndPosition(),s=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(i)){let e=o;o=s,s=e}}o&&s&&n.push(new j(o.lineNumber,o.column,s.lineNumber,s.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(k.compare);let s=[],c=0,l=0,u=i.length;for(let t=0,r=a.length;t<r;t++){let r=a[t];for(;l<u&&i[l].position.isBefore(r);)l++;if(l<u&&i[l].position.equals(r))s[c++]=i[l];else{let t=n.bracketPairs.matchBracket(r,20),i=e._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!t&&this._matchBrackets===`always`&&(t=n.bracketPairs.findEnclosingBrackets(r,20),i=e._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),s[c++]=new rf(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};Qd=af,Qd.ID=`editor.contrib.bracketMatchingController`,Qd._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=G.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`,overviewRuler:{color:Al($d),position:Hu.Center}}),Qd._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=G.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`}),M(af.ID,af,1),T(tf),T(ef),T(nf),be.appendMenuItem(q.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:R(841,`Go to &&Bracket`)},order:2}),Fc((e,t)=>{let n=e.getColor(wr);n&&t.addRule(`.monaco-editor .bracket-match-inline { color: ${n} !important; }`)});var of=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 n=this._selection.startLineNumber,r=this._selection.startColumn,i=this._selection.endColumn;if(!(this._isMovingLeft&&r===1)&&!(!this._isMovingLeft&&i===e.getLineMaxColumn(n))){if(this._isMovingLeft){let a=new S(n,r-1,n,r),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new S(n,i,n,i),o)}else{let a=new S(n,i,n,i+1),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new S(n,r,n,r),o)}}}computeCursorState(e,t){return this._isMovingLeft?new j(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new j(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}},sf=class extends A{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(let e of r)n.push(new of(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},cf=class extends sf{constructor(){super(!0,{id:`editor.action.moveCarretLeftAction`,label:W(846,`Move Selected Text Left`),precondition:I.writable})}},lf=class extends sf{constructor(){super(!1,{id:`editor.action.moveCarretRightAction`,label:W(847,`Move Selected Text Right`),precondition:I.writable})}};T(cf),T(lf),T(class extends A{constructor(){super({id:`editor.action.transposeLetters`,label:W(848,`Transpose Letters`),precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],i=t.getSelections();for(let e of i){if(!e.isEmpty())continue;let t=e.startLineNumber,i=e.startColumn,a=n.getLineMaxColumn(t);if(t===1&&(i===1||i===2&&a===2))continue;let o=i===a?e.getPosition():pr.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),s=pr.leftPosition(n,o),c=pr.leftPosition(n,s),l=n.getValueInRange(S.fromPositions(c,s)),u=n.getValueInRange(S.fromPositions(s,o)),d=S.fromPositions(c,o);r.push(new ct(d,u+l))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}});var uf,df=class e{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(t){return this.equals(t)||this.value===``||t.value.startsWith(this.value+e.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...t){return new e((this.value?[this.value,...t]:t).join(e.sep))}};uf=df,uf.sep=`.`,uf.None=new uf(`@@none@@`),uf.Empty=new uf(``);var ff,pf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},mf=function(e,t){return function(n,r){t(n,r,e)}},hf=G.register({description:`inline-progress-widget`,stickiness:1,showIfCollapsed:!0,after:{content:`\xA0`,inlineClassName:`inline-editor-progress-decoration`,inlineClassNameAffectsLetterSpacing:!0}}),gf=class e extends O{constructor(e,t,n,r,i){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=N(`.inline-progress-widget`),this.domNode.role=`button`,this.domNode.title=e;let t=N(`span.icon`);this.domNode.append(t),t.classList.add(...tt.asClassNameArray(w.loading),`codicon-modifier-spin`);let n=()=>{let e=this.editor.getOption(75);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(61)||e.hasChanged(75))&&n()})),this._register(H(this.domNode,vr.CLICK,e=>{this.delegate.cancel()}))}getId(){return e.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)}};ff=gf,ff.baseId=`editor.widget.inlineProgressWidget`;var _f=class extends O{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new Ne),this._currentWidget=this._register(new Ne),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,n,r,i){let a=this._operationIdPool++;this._currentOperation=a,this.clear(),this._showPromise.value=ho(()=>{let n=S.fromPositions(e);this._currentDecorations.set([{range:n,options:hf}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(gf,this.id,this._editor,n,t,r))},i??this._showDelay);try{return await n}finally{this._currentOperation===a&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};_f=pf([mf(2,x)],_f);var vf,yf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bf=function(e,t){return function(n,r){t(n,r,e)}},xf,Sf=(vf=class{static get(e){return e.getContribution(xf.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new Ne,this._messageListeners=new b,this._mouseOverMessage=!1,this._editor=e,this._visible=xf.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){if(hl(an(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),an(e)){let n=this._messageListeners.add(Pr(e,{actionHandler:(e,t)=>{this.closeMessage(),Vt(this._openerService,e,t.isTrusted)}}));this._messageWidget.value=new wf(this._editor,t,n.element)}else this._messageWidget.value=new wf(this._editor,t,e);this._messageListeners.add(qu.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&Yu(io(),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(H(this._messageWidget.value.getDomNode(),vr.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(H(this._messageWidget.value.getDomNode(),vr.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let n;this._messageListeners.add(this._editor.onMouseMove(e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new S(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(wf.fadeOut(this._messageWidget.value))}},xf=vf,vf.ID=`editor.contrib.messageController`,vf.MESSAGE_VISIBLE=new D(`messageVisible`,!1,R(1333,`Whether the editor is currently showing an inline message`)),vf);Sf=xf=yf([bf(1,Ls),bf(2,xn)],Sf);var Cf=yt.bindToContribution(Sf.get);F(new Cf({id:`leaveEditorMessage`,precondition:Sf.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));var wf=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener(`animationend`,t)},n=setTimeout(t,110);return e.getDomNode().addEventListener(`animationend`,t),e.getDomNode().classList.add(`fadeOut`),{dispose:t}}constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement(`div`),this._domNode.classList.add(`monaco-editor-overlaymessage`),this._domNode.style.marginLeft=`-6px`;let i=document.createElement(`div`);i.classList.add(`anchor`,`top`),this._domNode.appendChild(i);let a=document.createElement(`div`);typeof r==`string`?(a.classList.add(`message`),a.textContent=r):(r.classList.add(`message`),a.appendChild(r)),this._domNode.appendChild(a);let o=document.createElement(`div`);o.classList.add(`anchor`,`below`),this._domNode.appendChild(o),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)}};M(Sf.ID,Sf,4);var Tf,Ef=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Df=function(e,t){return function(n,r){t(n,r,e)}},Of=class{constructor(e){this.copyMimeTypes=[],this.kind=e,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(e,t,n,r,i){let a=await this.getEdit(n,i);if(a)return{edits:[{insertText:a.insertText,title:a.title,kind:a.kind,handledMimeType:a.handledMimeType,yieldTo:a.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,n,r){let i=await this.getEdit(n,r);if(i)return{edits:[{insertText:i.insertText,title:i.title,kind:i.kind,handledMimeType:i.handledMimeType,yieldTo:i.yieldTo}],dispose(){}}}},kf=class e extends Of{constructor(){super(df.Empty.append(`text`,`plain`)),this.id=e.id,this.dropMimeTypes=[Dc.text],this.pasteMimeTypes=[Dc.text]}async getEdit(e,t){let n=e.get(Dc.text);if(!n||e.has(Dc.uriList))return;let r=await n.asString();return{handledMimeType:Dc.text,title:R(965,`Insert Plain Text`),insertText:r,kind:this.kind}}};Tf=kf,Tf.id=`text`;var Af=class extends Of{constructor(){super(df.Empty.append(`uri`,`path`,`absolute`)),this.dropMimeTypes=[Dc.uriList],this.pasteMimeTypes=[Dc.uriList]}async getEdit(e,t){let n=await Nf(e);if(!n.length||t.isCancellationRequested)return;let r=0,i=n.map(({uri:e,originalText:t})=>e.scheme===ic.file?e.fsPath:(r++,t)).join(` `),a;return a=r>0?n.length>1?R(966,`Insert Uris`):R(967,`Insert Uri`):n.length>1?R(968,`Insert Paths`):R(969,`Insert Path`),{handledMimeType:Dc.uriList,insertText:i,title:a,kind:this.kind}}},jf=class extends Of{constructor(e){super(df.Empty.append(`uri`,`path`,`relative`)),this._workspaceContextService=e,this.dropMimeTypes=[Dc.uriList],this.pasteMimeTypes=[Dc.uriList]}async getEdit(e,t){let n=await Nf(e);if(!n.length||t.isCancellationRequested)return;let r=kc(n.map(({uri:e})=>{let t=this._workspaceContextService.getWorkspaceFolder(e);return t?yc(t.uri,e):void 0}));if(r.length)return{handledMimeType:Dc.uriList,insertText:r.join(` `),title:n.length>1?R(970,`Insert Relative Paths`):R(971,`Insert Relative Path`),kind:this.kind}}};jf=Ef([Df(0,nr)],jf);var Mf=class{constructor(){this.kind=new df(`html`),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=[`text/html`],this._yieldTo=[{mimeType:Dc.text}]}async provideDocumentPasteEdits(e,t,n,r,i){if(r.triggerKind!==Hs.PasteAs&&!r.only?.contains(this.kind))return;let a=await n.get(`text/html`)?.asString();if(!(!a||i.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:R(972,`Insert HTML`),kind:this.kind}]}}};async function Nf(e){let t=e.get(Dc.uriList);if(!t)return[];let n=await t.asString(),r=[];for(let e of hu.parse(n))try{r.push({uri:Nn.parse(e),originalText:e})}catch{}return r}var Pf={scheme:`*`,hasAccessToAllModels:!0},Ff=class extends O{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(Pf,new kf)),this._register(e.documentDropEditProvider.register(Pf,new Af)),this._register(e.documentDropEditProvider.register(Pf,new jf(t)))}};Ff=Ef([Df(0,U),Df(1,nr)],Ff);var If=class extends O{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(Pf,new kf)),this._register(e.documentPasteEditProvider.register(Pf,new Af)),this._register(e.documentPasteEditProvider.register(Pf,new jf(t))),this._register(e.documentPasteEditProvider.register(Pf,new Mf))}};If=Ef([Df(0,U),Df(1,nr)],If);var Lf,Rf=class e{constructor(){this.value=``,this.pos=0}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 t=this.pos,n=0,r=this.value.charCodeAt(t),i;if(i=e._table[r],typeof i==`number`)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(r)){i=8;do n+=1,r=this.value.charCodeAt(t+n);while(e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}if(e.isVariableCharacter(r)){i=9;do r=this.value.charCodeAt(t+ ++n);while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}i=10;do n+=1,r=this.value.charCodeAt(t+n);while(!isNaN(r)&&e._table[r]===void 0&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}};Lf=Rf,Lf._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};var zf=class{constructor(){this._children=[]}appendChild(e){return e instanceof Bf&&this._children[this._children.length-1]instanceof Bf?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.slice(0);i.splice(r,1,...t),n._children=i,(function e(t,n){for(let r of t)r.parent=n,e(r.children,r)})(t,n)}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 Jf)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),``)}len(){return 0}},Bf=class e extends zf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}},Vf=class extends zf{},Hf=class e extends Vf{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:+(e.index>t.index)}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Uf?this._children[0]:void 0}clone(){let t=new e(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}},Uf=class e extends zf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Bf&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let t=new e;return this.options.forEach(t.appendChild,t),t}},Wf=class e extends zf{constructor(){super(...arguments),this.regexp=RegExp(``)}resolve(e){let t=this,n=!1,r=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(e=>e instanceof Gf&&!!e.elseValue)&&(r=this._replace([])),r}_replace(e){let t=``;for(let n of this._children)if(n instanceof Gf){let r=e[n.index]||``;r=n.resolve(r),t+=r}else t+=n.toString();return t}toString(){return``}clone(){let t=new e;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?`i`:``)+(this.regexp.global?`g`:``)),t._children=this.children.map(e=>e.clone()),t}},Gf=class e extends zf{constructor(e,t,n,r){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=r}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):``:this.shorthandName===`kebabcase`?e?this._toKebabCase(e):``:this.shorthandName===`snakecase`?e?this._toSnakeCase(e):``:e&&typeof this.ifValue==`string`?this.ifValue:!e&&typeof this.elseValue==`string`?this.elseValue:e||``}_toKebabCase(e){if(!e.match(/[\p{L}0-9]+/gu))return e;if(!e.match(/[\p{L}0-9]/u))return e.trim().toLowerCase().replace(/^_+|_+$/g,``).replace(/[\s_]+/g,`-`);let t=e.trim().replace(/^_+|_+$/g,``),n=t.match(/\p{Lu}{2,}(?=\p{Lu}\p{Ll}+[0-9]*|[\s_-]|$)|\p{Lu}?\p{Ll}+[0-9]*|\p{Lu}(?=\p{Lu}\p{Ll})|\p{Lu}(?=[\s_-]|$)|[0-9]+/gu);return n?n.map(e=>e.toLowerCase()).join(`-`):t.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.toLowerCase()).join(`-`)}_toPascalCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toCamelCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map((e,t)=>t===0?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toSnakeCase(e){return e.replace(/(\p{Ll})(\p{Lu})/gu,`$1_$2`).replace(/[\s\-]+/g,`_`).toLowerCase()}clone(){return new e(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Kf=class e extends Vf{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 Bf(t)],!0)}clone(){let t=new e(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}};function qf(e,t){let n=[...e];for(;n.length>0;){let e=n.shift();if(!t(e))break;n.unshift(...e.children)}}var Jf=class e extends zf{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(n){return n instanceof Hf&&(e.push(n),t=!t||t.index<n.index?n: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,n=!1;return this.walk(r=>r===e?(n=!0,!1):(t+=r.len(),!0)),n?t:-1}fullLen(e){let t=0;return qf([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:n}=e;for(;n;)n instanceof Hf&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Kf&&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 t=new e;return t._children=this.children.map(e=>e.clone()),t}walk(e){qf(this.children,e)}},Yf=class{constructor(){this._scanner=new Rf,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,n){let r=new Jf;return this.parseFragment(e,r),this.ensureFinalTabstop(r,n??!1,t??!1),r}parseFragment(e,t){let n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let r=new Map,i=[];t.walk(e=>(e instanceof Hf&&(e.isFinalTabstop?r.set(0,void 0):!r.has(e.index)&&e.children.length>0?r.set(e.index,e.children):i.push(e)),!0));let a=(e,n)=>{let i=r.get(e.index);if(!i)return;let o=new Hf(e.index);o.transform=e.transform;for(let e of i){let t=e.clone();o.appendChild(t),t instanceof Hf&&r.has(t.index)&&!n.has(t.index)&&(n.add(t.index),a(t,n),n.delete(t.index))}t.replace(e,[o])},o=new Set;for(let e of i)a(e,o);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find(e=>e.index===0)||e.appendChild(new Hf(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}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 e=this._scanner.next();if(e.type!==0&&e.type!==4&&e.type!==5)return!1}this._token=this._scanner.next()}let n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,`$1`);return this._token=this._scanner.next(),n}_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 Bf(t)),!0):!1}_parseTabstopOrVariableName(e){let t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Hf(Number(t)):new Kf(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);let r=new Hf(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new Bf("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(r.index>0&&this._accept(7)){let t=new Uf;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(r.appendChild(t),this._accept(4)))return e.appendChild(r),!0}return this._backTo(n),!1}}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseChoiceElement(e){let t=this._token,n=[];for(;this._token.type!==2&&this._token.type!==7;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return n.length===0?(this._backTo(t),!1):(e.appendChild(new Bf(n.join(``))),!0)}_parseComplexVariable(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);let r=new Kf(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new Bf("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseTransform(e){let t=new Wf,n=``,r=``;for(;!this._accept(6);){let e;if(e=this._accept(5,!0)){e=this._accept(6,!0)||e,n+=e;continue}if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let e;if(e=this._accept(5,!0)){e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new Bf(e));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(n,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);let r=this._accept(8,!0);if(!r)return this._backTo(t),!1;if(!n||this._accept(4))return e.appendChild(new Gf(Number(r))),!0;if(!this._accept(1))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 Gf(Number(r),n)),!0)}if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new Gf(Number(r),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new Gf(Number(r),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let n=this._until(4);if(n)return e.appendChild(new Gf(Number(r),void 0,t,n)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new Gf(Number(r),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14&&(e.appendChild(new Bf(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}};function Xf(e,t,n){return(typeof n.insertText==`string`?n.insertText===``:n.insertText.snippet===``)?{edits:n.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new _i(e,{range:t,text:typeof n.insertText==`string`?Yf.escape(n.insertText)+`$0`:n.insertText.snippet,insertAsSnippet:!0})),...n.additionalEdit?.edits??[]]}}function Zf(e){function t(e,t){return`mimeType`in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}let n=new Map;for(let r of e)for(let i of r.yieldTo??[])for(let a of e)if(a!==r&&t(i,a)){let e=n.get(r);e||(e=[],n.set(r,e)),e.push(a)}if(!n.size)return Array.from(e);let r=new Set,i=[];function a(e){if(!e.length)return[];let t=e[0];if(i.includes(t))return console.warn(`Yield to cycle detected`,t),e;if(r.has(t))return a(e.slice(1));let o=[],s=n.get(t);return s&&(i.push(t),o=a(s),i.pop()),r.add(t),[...o,t,...a(e.slice(1))]}return a(Array.from(e))}function Qf(e,t){return t&&(e.stack||e.stacktrace)?R(33,`{0}: {1}`,ep(e),$f(e.stack)||$f(e.stacktrace)):ep(e)}function $f(e){return Array.isArray(e)?e.join(`
|
|
3
|
-
`):e}function ep(e){return e.code===`ERR_UNC_HOST_NOT_ALLOWED`?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof e.code==`string`&&typeof e.errno==`number`&&typeof e.syscall==`string`?R(34,`A system error occurred ({0})`,e.message):e.message||R(35,`An unknown error occurred. Please consult the log for more details.`)}function tp(e=null,t=!1){if(!e)return R(36,`An unknown error occurred. Please consult the log for more details.`);if(Array.isArray(e)){let n=kc(e),r=tp(n[0],t);return n.length>1?R(37,`{0} ({1} errors in total)`,r,n.length):r}if(Pc(e))return e;if(e.detail){let n=e.detail;if(n.error)return Qf(n.error,t);if(n.exception)return Qf(n.exception,t)}return e.stack?Qf(e,t):e.message?e.message:R(38,`An unknown error occurred. Please consult the log for more details.`)}var np=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rp=function(e,t){return function(n,r){t(n,r,e)}},ip,ap=`acceptSelectedCodeAction`,op=`previewSelectedCodeAction`,sp=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,n){n.text.textContent=e.group?.title??e.label??``}disposeTemplate(e){}},cp=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,n){n.text.textContent=e.label??``}disposeTemplate(e){}},lp=class{get templateId(){return`action`}constructor(e,t,n,r,i,a,o,s,c){this._supportsPreview=e,this._onRemoveItem=t,this._onShowSubmenu=n,this._hasAnySubmenuActions=r,this._groupTitleByIndex=i,this._linkHandler=a,this._hideDefaultKeybindingTooltip=o,this._keybindingService=s,this._openerService=c}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement(`div`);t.className=`icon`,e.append(t);let n=document.createElement(`span`);n.className=`title`,e.append(n);let r=document.createElement(`span`);r.className=`action-item-badge`,e.append(r);let i=document.createElement(`span`);i.className=`description`,e.append(i);let a=document.createElement(`span`);a.className=`group-title`,e.append(a);let o=document.createElement(`span`);o.className=`detail`,e.append(o);let s=new Uu(e,_d),c=document.createElement(`div`);c.className=`action-list-item-toolbar`,e.append(c);let l=document.createElement(`div`);return l.className=`action-list-submenu-indicator`,e.append(l),{container:e,icon:t,text:n,detail:o,badge:r,description:i,groupTitle:a,keybinding:s,toolbar:c,submenuIndicator:l,elementDisposables:new b}}renderElement(e,t,n){if(n.elementDisposables.clear(),e.group?.icon?(n.icon.className=tt.asClassName(e.group.icon),e.group.icon.color&&(n.icon.style.color=Fn(e.group.icon.color.id))):(n.icon.className=tt.asClassName(w.lightBulb),n.icon.style.color=`var(--vscode-editorLightBulb-foreground)`),!e.item||!e.label)return;if(Zn(!e.hideIcon,n.icon),e.isSectionToggle){let t=e.group?.icon===w.chevronDown;n.container.setAttribute(`aria-expanded`,String(t))}else n.container.removeAttribute(`aria-expanded`);if(n.previousClassName&&n.container.classList.remove(n.previousClassName),n.container.classList.toggle(`action-list-custom`,!!e.className),e.className&&n.container.classList.add(e.className),n.previousClassName=e.className,n.text.textContent=hp(e.label),e.badge?(n.badge.textContent=e.badge,n.badge.style.display=``):(n.badge.textContent=``,n.badge.style.display=`none`),e.keybinding)n.description.textContent=e.keybinding.getLabel(),n.description.style.display=`inline`,n.description.style.letterSpacing=`0.5px`;else if(e.description){if(qc(n.description),typeof e.description==`string`)n.description.textContent=hp(e.description);else{let t=Pr(e.description,{actionHandler:t=>{let n=Nn.parse(t);this._linkHandler?this._linkHandler(n,e):this._openerService.open(n,{allowCommands:!0})}});n.elementDisposables.add(t),n.description.appendChild(t.element)}n.description.style.display=`inline`}else n.description.textContent=``,n.description.style.display=`none`;let r=this._groupTitleByIndex.get(t);r?(n.groupTitle.textContent=r,n.groupTitle.style.display=``):(n.groupTitle.textContent=``,n.groupTitle.style.display=`none`),e.detail?(n.detail.textContent=hp(e.detail),n.detail.style.display=``):(n.detail.textContent=``,n.detail.style.display=`none`);let i=this._keybindingService.lookupKeybinding(ap)?.getLabel(),a=this._keybindingService.lookupKeybinding(op)?.getLabel();n.container.classList.toggle(`option-disabled`,!!e.disabled),e.hover===void 0?e.tooltip?n.container.title=e.tooltip:e.disabled?n.container.title=e.label:this._hideDefaultKeybindingTooltip?n.container.title=``:i&&a?this._supportsPreview&&e.canPreview?n.container.title=R(1705,`{0} to Apply, {1} to Preview`,i,a):n.container.title=R(1706,`{0} to Apply`,i):n.container.title=``:n.container.title=``,qc(n.toolbar);let o=[...e.toolbarActions??[]];if(e.onRemove&&o.push(ce({id:`actionList.remove`,label:R(1707,`Remove`),class:tt.asClassName(w.close),run:async()=>{await e.onRemove(),this._onRemoveItem?.(e)}})),n.container.classList.toggle(`has-toolbar`,o.length>0),o.length>0){let e=new Bn(n.toolbar);n.elementDisposables.add(e),e.push(o,{icon:!0,label:!1})}e.submenuActions?.length&&!e.hover?.content?(n.submenuIndicator.className=`action-list-submenu-indicator has-submenu `+tt.asClassName(w.chevronRight),n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=``,n.elementDisposables.add(H(n.submenuIndicator,vr.CLICK,t=>{t.stopPropagation(),this._onShowSubmenu?.(e)}))):this._hasAnySubmenuActions?(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=`hidden`):(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=`none`)}disposeTemplate(e){e.keybinding.dispose(),e.elementDisposables.dispose()}};lp=np([rp(7,Ir),rp(8,xn)],lp);var up=class extends UIEvent{constructor(){super(`acceptSelectedAction`)}},dp=class extends UIEvent{constructor(){super(`previewSelectedAction`)}};function fp(e){if(e.kind===`action`)return e.label}var pp=ip=class extends O{constructor(e,t,n,r,i,a,o,s,c){if(super(),this._supportsPreview=t,this._delegate=r,this._options=a,this._keybindingService=o,this._openerService=s,this._instantiationService=c,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new Eu),this._submenuDisposables=this._register(new b),this._collapsedSections=new Set,this._filterText=``,this._suppressHover=!1,this._hasLaidOut=!1,this._filterCts=this._register(new Ne),this._groupTitleByIndex=new Map,this._onDidRequestLayout=this._register(new B),this.onDidRequestLayout=this._onDidRequestLayout.event,this.domNode=document.createElement(`div`),this.domNode.classList.add(`actionList`),this._options?.inlineDescription&&this.domNode.classList.add(`inline-description`),this._options?.className){let e=this._options.className.split(/\s+/).filter(e=>e.length>0);e.length>0&&this.domNode.classList.add(...e)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement(`div`),this._submenuContainer.className=`action-list-submenu-panel action-widget`,this._submenuContainer.style.display=`none`,this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(H(this._submenuContainer,`mouseenter`,()=>{this._cancelSubmenuHide()})),this._register(H(this._submenuContainer,`mouseleave`,()=>{this._scheduleSubmenuHide()})),this._register(Tn(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let e of this._options.collapsedByDefault)this._collapsedSections.add(e);let l={getHeight:e=>this._getItemHeight(e),getTemplateId:e=>e.kind},u=(this._options?.reserveSubmenuSpace??!0)&&n.some(e=>!!e.submenuActions?.length&&!e.hover?.content);if(this._list=this._register(new at(e,this.domNode,l,[new lp(this._supportsPreview,e=>this._removeItem(e),e=>this._showSubmenuForItem(e),u,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._keybindingService,this._openerService),new sp,new cp],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:fp},accessibilityProvider:{getAriaLabel:e=>{if(e.kind===`action`){let t=e.label?hp(e?.label):``;if(e.detail&&(t=t+`, `+hp(e.detail)),e.ariaDescription)t=t+`, `+hp(e.ariaDescription);else if(e.description){let n=typeof e.description==`string`?e.description:e.description.value;t=t+`, `+hp(n)}if(e.hover?.content&&!e.ariaDescription&&!e.description){let n=e.hover.content,r=typeof n==`string`?n:an(n)?n.value:Gr(n)?n.textContent??void 0:void 0;r&&(!e.detail||hp(e.detail)!==hp(r))&&(t=t+`, `+hp(r))}return e.group?.title&&(t=t+`, `+e.group.title),e.disabled&&(t=R(1708,`{0}, Disabled Reason: {1}`,t,e.disabled)),e.submenuActions?.length&&(t=R(1709,`{0}, use right arrow to access options`,t)),t}return null},getWidgetAriaLabel:()=>R(1710,`Action Widget`),getRole:e=>{switch(e.kind){case`action`:return`option`;case`separator`:return`separator`;default:return`separator`}},getWidgetRole:()=>`listbox`,...i}})),this._list.style(_u),this._register(this._list.onMouseClick(e=>this.onListClick(e))),this._register(this._list.onMouseOver(e=>this.onListHover(e))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(e=>this.onListSelection(e))),this._allMenuItems=[...n],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement(`div`),this._filterContainer.className=`action-list-filter`;let e=z(this._filterContainer,N(`.action-list-filter-row`));if(this._options?.showFilter){this._filterInput=document.createElement(`input`),this._filterInput.type=`text`,this._filterInput.className=`action-list-filter-input`,this._filterInput.placeholder=this._options?.filterPlaceholder??R(1711,`Search...`),this._filterInput.setAttribute(`aria-label`,R(1712,`Filter items`)),e.appendChild(this._filterInput);let t=this._options?.filterActions??[];if(t.length>0){let n=z(e,N(`.action-list-filter-actions`));this._register(new Bn(n)).push(t,{icon:!0,label:!1})}this._register(H(this._filterInput,`input`,()=>{this._filterText=this._filterInput.value,this._applyOrUpdateFilter()}))}if(this._options?.secondaryHeading){let t=z(e,N(`.action-list-filter-label`));t.textContent=this._options.secondaryHeading}}if(this._options?.footerText&&(this._footerContainer=document.createElement(`div`),this._footerContainer.className=`action-list-footer`,this._footerContainer.textContent=this._options.footerText),this._options?.headerText){if(this._headerContainer=document.createElement(`div`),this._headerContainer.className=`action-list-header`,this._options.headerIcon){let e=z(this._headerContainer,N(`span.action-list-header-icon`));e.classList.add(...tt.asClassNameArray(this._options.headerIcon)),e.setAttribute(`aria-hidden`,`true`)}let e=z(this._headerContainer,N(`span.action-list-header-text`));e.textContent=this._options.headerText}this._applyFilter(),this._list.length&&this._focusCheckedOrFirst(),this._register(H(this.domNode,`keydown`,e=>{if(e.key===`ArrowRight`){let t=this._list.getFocus();if(t.length>0){let n=this._list.element(t[0]);if(n?.submenuActions?.length){ua.stop(e,!0);let r=this._getRowElement(t[0]);r&&(this._showSubmenuForElement(n,r),this._currentSubmenuWidget?.focus())}}}})),this._filterInput&&this._register(H(this.domNode,`keydown`,e=>{this._filterInput&&!Ga(this._filterInput)&&e.key.length===1&&e.key!==` `&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(this._filterInput.focus(),this._filterInput.value=e.key,this._filterText=e.key,this._applyOrUpdateFilter(),e.preventDefault(),e.stopPropagation())}))}_toggleSection(e){this._collapsedSections.has(e)?this._collapsedSections.delete(e):this._collapsedSections.add(e),this._options?.onDidToggleSection?.(e,this._collapsedSections.has(e)),this._applyFilter()}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let e=this._filterText;this._filterCts.value?.cancel();let t=new Eu;this._filterCts.value=t,this._delegate.onFilter(e,t.token).then(e=>{t.token.isCancellationRequested||(this._allMenuItems=[...e],this._applyFilter(!0))}).catch(()=>{})}_applyFilter(e=!1,t=!0){let n=e?``:this._filterText.toLowerCase(),r=!e&&n.length>0,i=[],a=this._list.getFocus(),o;if(a.length>0&&(o=this._list.element(a[0])),r){let e,t=[],r=!1,a=()=>{e&&r&&i.push(e),i.push(...t),e=void 0,t=[],r=!1},o=e=>{let t=(e.label??``).toLowerCase(),r=typeof e.description==`string`?e.description:e.description?.value??``;return t.includes(n)||r.toLowerCase().includes(n)};for(let n of this._allMenuItems)if(n.kind!==`header`){if(n.kind===`separator`){a(),e=n.label?n:void 0;continue}if(n.showAlways){t.push(n);continue}n.isSectionToggle||o(n)&&(r=!0,t.push(n))}a()}else for(let e of this._allMenuItems){if(e.kind===`header`){i.push(e);continue}if(e.kind===`separator`){if(e.section&&this._collapsedSections.has(e.section))continue;i.push(e);continue}if(e.isSectionToggle&&e.section){let t=this._collapsedSections.has(e.section);i.push({...e,group:{...e.group,icon:t?w.chevronRight:w.chevronDown}});continue}e.section&&this._collapsedSections.has(e.section)||i.push(e)}let s=[],c=!1;for(let e=0;e<i.length;e++)s[e]=c,i[e].kind===`action`&&(c=!0);let l=[],u=!1;for(let e=i.length-1;e>=0;e--){if(i[e].kind===`action`){u=!0;continue}i[e].kind===`separator`&&(l[e]=u,u=!1)}for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.kind!==`separator`)continue;let n=l[e],r=!t.label&&!s[e];(!n||r)&&i.splice(e,1)}this._options?.showGroupTitleOnFirstItem&&this._recomputeGroupTitles(i);let d=this._filterInput&&Ga(this._filterInput);if(this._list.splice(0,this._list.length,i),t&&this._onDidRequestLayout.fire(),d)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut&&o){let e=o.item?.id;if(e){for(let t=0;t<this._list.length;t++)if(this._list.element(t).item?.id===e){this._list.setFocus([t]),this._list.reveal(t),this._list.domFocus();break}}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}focusCondition(e){return!e.disabled&&e.kind===`action`}focus(){if(this._filterInput&&this._options?.focusFilterOnOpen){this._filterInput.focus(),this._focusCheckedOrFirst();return}this._list.domFocus(),this._focusCheckedOrFirst()}clearFocus(){this._list.setFocus([])}getFocusedElement(){let e=this._list.getFocus();if(e.length>0)return this._list.element(e[0])}_focusCheckedOrFirst(){this._suppressHover=!0;try{for(let e=0;e<this._list.length;e++){let t=this._list.element(e);if(t.kind===`action`&&t.item?.checked){this._list.setFocus([e]),this._list.reveal(e);return}}this._list.focusFirst(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}finally{this._suppressHover=!1}}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){return this._filterInput&&this._filterText?(this._filterInput.value=``,this._filterText=``,this._applyOrUpdateFilter(),!0):!1}get hasDynamicHeight(){return this._options?.showFilter?!0:this._allMenuItems.some(e=>e.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(e){switch(e.kind){case`header`:return this._headerLineHeight;case`separator`:return e.label?this._actionLineHeight:this._separatorLineHeight;default:return e.detail?this._options?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){let e=0;for(let t of this._allMenuItems)e+=this._getItemHeight(t);return e}computeListHeight(){let e=this._list.length,t=0;for(let n=0;n<e;n++){let e=this._list.element(n);t+=this._getItemHeight(e)}return t}layout(e,t){this._hasLaidOut=!0,this._list.layout(e,t),this.domNode.style.height=`${e}px`,this._filterContainer&&this._filterContainer.parentElement&&this._filterContainer.parentElement.insertBefore(this._filterContainer,this.domNode)}computeMaxWidth(e){let t=this._list.length,n=Math.max(e,this._options?.minWidth??0),r=this._options?.maxWidth??1/0,i=Math.max(r,n),a=e=>Math.min(Math.max(e,n),i),o=n,s=this._allMenuItems.length;if(s>=50)return a(380);if(s>t){let e=[];for(let n=0;n<t;n++)e.push(this._list.element(n));let n=[...this._allMenuItems];this._list.splice(0,t,n);let r=0;for(let e of n)r+=this._getItemHeight(e);this._list.layout(r);let i=[];for(let e=0;e<n.length;e++){let t=this._getRowElement(e);if(t){t.style.width=`auto`;let r=t.getBoundingClientRect().width;t.style.width=``,i.push(r+this._computeToolbarWidth(n[e]))}}return o=a(Math.max(...i)),this._list.splice(0,n.length,e),o}let c=[];for(let e=0;e<t;e++){let t=this._getRowElement(e);if(t){t.style.width=`auto`;let n=t.getBoundingClientRect().width;t.style.width=``,c.push(n+this._computeToolbarWidth(this._list.element(e)))}}return a(Math.max(...c))}focusPrevious(){if(this._filterInput&&Ga(this._filterInput)){this._list.domFocus();let e=this._list.getFocus();if(e.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let t=this._list.getFocus();t.length>0&&t[0]>=e[0]?this._filterInput.focus():t.length>0&&this._list.reveal(t[0])}else{this._list.focusLast(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]>e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}focusNext(){if(this._filterInput&&Ga(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}else{this._list.focusFirst(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]<e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}collapseFocusedSection(){let e=this._getFocusedSection();e&&!this._collapsedSections.has(e)&&this._toggleSection(e)}expandFocusedSection(){let e=this._getFocusedSection();e&&this._collapsedSections.has(e)&&this._toggleSection(e)}toggleFocusedSection(){let e=this._list.getFocus();if(e.length===0)return!1;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section?(this._toggleSection(t.section),!0):!1}_getFocusedSection(){let e=this._list.getFocus();if(e.length===0)return;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section,t.section}acceptSelected(e){let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!this.focusCondition(r))return;let i=e?new dp:new up;this._list.setSelection([n],i)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];if(t.isSectionToggle&&t.section){this._list.setSelection([]);let e=t.section;queueMicrotask(()=>{this._toggleSection(e)});return}if(Ce(e.browserEvent)){let t=e.browserEvent.target;if(Gr(t)&&(t.closest(`.action-list-item-toolbar`)||t.closest(`.action-list-submenu-indicator`))){this._list.setSelection([]);return}}if(t.item&&this.focusCondition(t)){let n=e.browserEvent instanceof dp;this._delegate.onSelect(t.item,n&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);this._delegate.onFocus?.(n.item),this._suppressHover||this._showHoverForElement(n,t)}_removeItem(e){let t=this._allMenuItems.indexOf(e);t>=0&&(this._allMenuItems.splice(t,1),this._applyFilter())}_recomputeGroupTitles(e){this._groupTitleByIndex.clear();let t=new Set;for(let n=0;n<e.length;n++){let r=e[n];r.kind===`action`&&r.group?.title&&!t.has(r.group.title)&&(t.add(r.group.title),this._groupTitleByIndex.set(n,r.group.title))}}_computeToolbarWidth(e){let t=e.toolbarActions?.length??0;return e.onRemove&&t++,t===0?0:t*22+6}_getRowElement(e){return this.domNode.ownerDocument.getElementById(this._list.getElementID(e))}_showHoverForElement(e,t){if(this._currentSubmenuElement===e)return;let n=!!e.hover?.content,r=!!e.submenuActions?.length;if(n||r){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n);return}this._hideSubmenu()}_showSubmenuForItem(e){let t=this._list.indexOf(e);if(t>=0){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}}_showSubmenuForElement(e,t){if(this._currentSubmenuElement===e)return;this._submenuDisposables.clear(),this._currentSubmenuElement=e,this._clearSubmenuContainer();let n,r=e.hover?.content;if(r){if(Gr(r))n=r,e.hover?.disposable&&this._register(e.hover.disposable);else{let t=typeof r==`string`?new mi(r):r,i=this._options?.linkHandler,a=Pr(t,{actionHandler:t=>{let n=Nn.parse(t);i?i(n,e):this._openerService.open(n,{allowCommands:!0})}});this._submenuDisposables.add(a),n=a.element}n.classList.add(`action-list-submenu-hover-header`),e.submenuActions?.length&&n.classList.add(`has-submenu`),this._submenuContainer.appendChild(n)}let i=!!e.submenuActions?.length;this._submenuContainer.style.display=``,this._submenuContainer.style.position=`absolute`,this._submenuContainer.removeAttribute(`role`);let a=t.getBoundingClientRect(),o=this.domNode.getBoundingClientRect(),s=Sa(this.domNode),c=0,l=n?n.offsetWidth:0;if(i){let t=[],n=e.submenuActions.filter(e=>e instanceof gd).filter(e=>e.actions.length>0);for(let e=0;e<n.length;e++){let r=n[e];r.label&&t.push({kind:`header`,group:{title:r.label},label:r.label});for(let e=0;e<r.actions.length;e++){let n=r.actions[e],i=n,a=i.icon??tt.fromId(n.checked?w.check.id:w.blank.id),o=i.hoverContent;t.push({item:n,kind:`action`,label:n.label,description:n.tooltip||void 0,group:{title:``,icon:a},hideIcon:!1,hover:o?{content:o}:{},onRemove:i.onRemove})}e<n.length-1&&t.push({kind:`separator`,label:``})}for(let n of e.submenuActions)if(!(n instanceof gd)){let e=n;t.push({item:n,kind:`action`,label:n.label,description:n.tooltip||void 0,group:{title:``},hideIcon:!1,hover:{},onRemove:e.onRemove})}let r=this._submenuDisposables.add(this._instantiationService.createInstance(ip,`submenu`,!1,t,{onHide:()=>{},onSelect:e=>{e.run();let t=this._currentSubmenuElement?.item;this._hideSubmenu(),t&&this._delegate.onSelect(t),this.hide()}},void 0,void 0));this._submenuContainer.appendChild(r.domNode),this._currentSubmenuWidget=r,r.clearFocus(),c=r.computeListHeight(),r.layout(c);let i=r.computeMaxWidth(0);l=Math.max(l,i),r.layout(c,l),r.domNode.style.width=`${l}px`,this._submenuDisposables.add(H(r.domNode,`keydown`,e=>{if(e.key===`ArrowLeft`||e.key===`Escape`)ua.stop(e,!0),this._hideSubmenu(),this._list.domFocus();else if(e.key===`Enter`){ua.stop(e,!0);let t=r.getFocusedElement();if(t?.item){t.item.run();let e=this._currentSubmenuElement?.item;this._hideSubmenu(),e&&this._delegate.onSelect(e),this.hide()}}else e.key===`ArrowDown`?(ua.stop(e,!0),r.focusNext()):e.key===`ArrowUp`&&(ua.stop(e,!0),r.focusPrevious())}))}let u=s.innerWidth-a.right,d=o.left,f=l+10;u>=f||u>=d?this._submenuContainer.style.left=`${o.right-o.left+4}px`:this._submenuContainer.style.left=`${-f-4}px`;let p=n?n.offsetHeight:0,m=c+p,h=s.innerHeight,g=a.height,_=a.top-o.top+(g-m)/2,v=o.top+_+m;v>h&&(_-=v-h+8),o.top+_<0&&(_=-o.top),this._submenuContainer.style.top=`${_}px`}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._currentSubmenuElement=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display=`none`}_clearSubmenuContainer(){this._submenuContainer.contains(io())&&this._list.domFocus(),qc(this._submenuContainer)}_scheduleSubmenuHide(){this._cancelSubmenuHide(),this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300)}_cancelSubmenuHide(){this._submenuHideTimeout!==void 0&&(clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0)}_scheduleSubmenuShow(e,t){this._cancelSubmenuShow(),this._submenuShowTimeout=setTimeout(()=>{this._submenuShowTimeout=void 0;let n=typeof t==`number`?this._getRowElement(t):null;n&&this._showSubmenuForElement(e,n)},500)}_cancelSubmenuShow(){this._submenuShowTimeout!==void 0&&(clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0)}async onListHover(e){let t=e.element;if(t&&t.item&&this.focusCondition(t)){if(Gr(e.browserEvent.target)&&e.browserEvent.target.closest(`.action-list-item-toolbar`)!==null){t.submenuActions?.length||this._cancelSubmenuShow(),this._list.setFocus([]);return}let n=!!(t.submenuActions?.length||t.hover?.content);if(n&&(this._suppressHover=!0),this._list.setFocus(typeof e.index==`number`?[e.index]:[]),n&&(this._suppressHover=!1),n){this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._hideSubmenu(),this._scheduleSubmenuShow(t,e.index));return}if(this._currentSubmenuElement===t?this._cancelSubmenuHide():(this._cancelSubmenuShow(),this._hideSubmenu()),this._delegate.onHover&&!t.disabled&&t.kind===`action`&&this._currentSubmenuElement!==t){let n=await this._delegate.onHover(t.item,this.cts.token),r=n?n.canPreview:void 0;r!==t.canPreview&&(t.canPreview=r,typeof e.index==`number`&&(this._list.splice(e.index,1,[t]),this._list.setFocus([e.index])))}}else t&&t.hover?.content&&typeof e.index==`number`&&(this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._hideSubmenu(),this._scheduleSubmenuShow(t,e.index)))}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};pp=ip=np([rp(6,Ir),rp(7,xn),rp(8,x)],pp);var mp=class extends O{get domNode(){return this._widget.domNode}get filterContainer(){return this._widget.filterContainer}get footerContainer(){return this._widget.footerContainer}get headerContainer(){return this._widget.headerContainer}get filterInput(){return this._widget.filterInput}get anchorPosition(){if(this._showAbove!==void 0)return+!!this._showAbove}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._contextViewService=s,this._layoutService=c,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=o,this._widget=this._register(l.createInstance(pp,e,t,n,r,i,a)),this._register(this._widget.onDidRequestLayout(()=>{this._hasLaidOut&&(this.layout(this._lastMinWidth),this._contextViewService.layout())}))}focus(){this._widget.focus()}hide(e){this._widget.hide(e),this._contextViewService.hideContextView()}clearFilter(){return this._widget.clearFilter()}focusPrevious(){this._widget.focusPrevious()}focusNext(){this._widget.focusNext()}collapseFocusedSection(){this._widget.collapseFocusedSection()}expandFocusedSection(){this._widget.expandFocusedSection()}toggleFocusedSection(){return this._widget.toggleFocusedSection()}acceptSelected(e){this._widget.acceptSelected(e)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let e=this.domNode.parentElement?.closest(`.action-widget`);if(!e)return 0;let t=Sa(e).getComputedStyle(e),n=e=>Number.parseFloat(e)||0;return n(t.paddingTop)+n(t.paddingBottom)+n(t.borderTopWidth)+n(t.borderBottomWidth)}computeHeight(){let e=this._widget.computeListHeight(),t=this._widget.filterContainer?36:0,n=this._widget.footerContainer?32:0,r=this._widget.headerContainer?this._widget.headerContainer.offsetHeight||36:0,i=t+n+r,a=Sa(this.domNode),o;if(this.hasDynamicHeight()){let e=a.innerHeight,t=Ze(this._anchor),n=t.top-a.pageYOffset,r=e-n-t.height-30,s=n;if(this._showAbove===void 0){let e=i+this._widget.computeFullHeight();this._showAbove=e>r&&s>r}o=Math.max(0,(this._showAbove?s:r)-this.computeActionWidgetVerticalChromeHeight())}else{let e=this._layoutService.getContainer(a).clientHeight,t=this.domNode.getBoundingClientRect().top;o=t>0?e-t-10:e*.7}let s=Math.floor(a.innerHeight*.6),c=this._widget.lineHeight,l=Math.min(Math.max(o,c*3+i),s);return Math.min(e+i,l)-i}layout(e){this._hasLaidOut=!0,this._lastMinWidth=e;let t=this.computeHeight();this._widget.layout(t);let n=this._widget.computeMaxWidth(e);return this._cachedMaxWidth=n,this._widget.layout(t,this._cachedMaxWidth),this._cachedMaxWidth}};mp=np([rp(7,Kr),rp(8,Oe),rp(9,x)],mp);function hp(e){return e.replace(/\r\n|\r|\n/g,` `)}var gp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_p=function(e,t){return function(n,r){t(n,r,e)}};C(`actionBar.toggledBackground`,Ft,R(1713,`Background color for toggled action items in action bar.`));var vp={Visible:new D(`codeActionMenuVisible`,!1,R(1714,`Whether the action widget list is visible`)),FilterFocused:new D(`codeActionMenuFilterFocused`,!1,R(1715,`Whether the action widget filter input is focused`))},yp=tn(`actionWidgetService`),bp=class extends O{get isVisible(){return vp.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new Ne)}show(e,t,n,r,i,a,o,s,c){let l=vp.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(mp,e,t,n,r,s,c,i);this._contextViewService.showContextView({getAnchor:()=>i,render:e=>(l.set(!0),this._renderWidget(e,u,o??[])),onHide:e=>{l.reset(),this._onWidgetClosed(e)},get anchorPosition(){return u.anchorPosition}},a,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}collapseSection(){this._list?.value?.collapseFocusedSection()}expandSection(){this._list?.value?.expandFocusedSection()}toggleSection(){return this._list?.value?.toggleFocusedSection()??!1}clearFilter(){return this._list?.value?.clearFilter()??!1}hide(e){this._list.value?.hide(e),this._list.clear()}_renderWidget(e,t,n){let r=document.createElement(`div`);if(r.classList.add(`action-widget`),e.appendChild(r),this._list.value=t,this._list.value)this._list.value.headerContainer&&r.appendChild(this._list.value.headerContainer),this._list.value.filterContainer&&r.appendChild(this._list.value.filterContainer),r.appendChild(this._list.value.domNode),this._list.value.footerContainer&&r.appendChild(this._list.value.footerContainer);else throw Error(`List has no value`);let i=new b,a=this._list.value.headerContainer;a&&i.add(ru(a,e=>e.preventDefault()));let o=document.createElement(`div`),s=e.appendChild(o);s.classList.add(`context-view-block`),i.add(ru(s,e=>e.stopPropagation()));let c=document.createElement(`div`),l=e.appendChild(c);l.classList.add(`context-view-pointerBlock`),i.add(H(l,vr.POINTER_MOVE,()=>l.remove())),i.add(ru(l,()=>l.remove()));let u=0;if(n.length){let e=this._createActionBar(`.action-widget-action-bar`,n);e&&(r.appendChild(e.getContainer().parentElement),i.add(e),u=e.getContainer().offsetWidth)}let d=this._list.value?.layout(u);r.style.width=`${d}px`,this._list.value?.focus();let f=vp.FilterFocused.bindTo(this._contextKeyService);if(i.add({dispose:()=>f.reset()}),this._list.value?.filterInput){let e=this._list.value.filterInput;i.add(H(e,`focus`,()=>f.set(!0))),i.add(H(e,`blur`,()=>f.set(!1)))}let p=i.add(Bs(e));return i.add(p.onDidBlur(()=>{let e=io();e?.closest(`.action-widget-hover`)||e?.closest(`.action-list-submenu-panel`)||this.hide(!0)})),i}_createActionBar(e,t){if(!t.length)return;let n=N(e),r=new Bn(n);return r.push(t,{icon:!1,label:!0}),r}_onWidgetClosed(e){this._list.value?.hide(e)}};bp=gp([_p(0,Kr),_p(1,Ls),_p(2,x)],bp),ys(yp,bp,1);var xp=1100;We(class extends id{constructor(){super({id:`hideCodeActionWidget`,title:W(1716,`Hide action widget`),precondition:vp.Visible,keybinding:{weight:xp,primary:9,secondary:[1033]}})}run(e){e.get(yp).hide(!0)}}),We(class extends id{constructor(){super({id:`clearFilterCodeActionWidget`,title:W(1717,`Clear action widget filter`),precondition:g.and(vp.Visible,vp.FilterFocused),keybinding:{weight:1101,primary:9}})}run(e){let t=e.get(yp);t instanceof bp&&(t.clearFilter()||t.hide(!0))}}),We(class extends id{constructor(){super({id:`selectPrevCodeAction`,title:W(1718,`Select previous action`),precondition:vp.Visible,keybinding:{weight:xp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){let t=e.get(yp);t instanceof bp&&t.focusPrevious()}}),We(class extends id{constructor(){super({id:`selectNextCodeAction`,title:W(1719,`Select next action`),precondition:vp.Visible,keybinding:{weight:xp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){let t=e.get(yp);t instanceof bp&&t.focusNext()}}),We(class extends id{constructor(){super({id:`collapseSectionCodeAction`,title:W(1720,`Collapse section`),precondition:g.and(vp.Visible,vp.FilterFocused.negate()),keybinding:{weight:xp,primary:15}})}run(e){let t=e.get(yp);t instanceof bp&&t.collapseSection()}}),We(class extends id{constructor(){super({id:`expandSectionCodeAction`,title:W(1721,`Expand section`),precondition:g.and(vp.Visible,vp.FilterFocused.negate()),keybinding:{weight:xp,primary:17}})}run(e){let t=e.get(yp);t instanceof bp&&t.expandSection()}}),We(class extends id{constructor(){super({id:`toggleSectionCodeAction`,title:W(1722,`Toggle section`),precondition:g.and(vp.Visible,vp.FilterFocused.negate()),keybinding:{weight:xp,primary:10}})}run(e){let t=e.get(yp);t instanceof bp&&(t.toggleSection()||t.acceptSelected())}}),We(class extends id{constructor(){super({id:ap,title:W(1723,`Accept selected action`),precondition:vp.Visible,keybinding:{weight:xp,primary:3,secondary:[2137]}})}run(e){let t=e.get(yp);t instanceof bp&&t.acceptSelected()}}),We(class extends id{constructor(){super({id:op,title:W(1724,`Preview selected action`),precondition:vp.Visible,keybinding:{weight:xp,primary:2051}})}run(e){let t=e.get(yp);t instanceof bp&&t.acceptSelected(!0)}});var Sp,Cp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wp=function(e,t){return function(n,r){t(n,r,e)}},Tp,Ep=(Sp=class extends O{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=i,this.edits=a,this.onSelectNewEdit=o,this.additionalActions=s,this._keybindingService=l,this._actionWidgetService=u,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(c),this.visibleContext.set(!0),this._register(Tn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Tn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(e=>{this.dispose()})),this._register(qu.runAndSubscribe(l.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=N(`.post-edit-widget`),this.button=this._register(new Be(this.domNode,{supportIcons:!0})),this.button.label=`$(insert)`,this._register(H(this.domNode,vr.CLICK,()=>this.showSelector()))}getId(){return Tp.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let e=Uo(this.button.element),t={x:e.left+e.width,y:e.top+e.height};this._actionWidgetService.show(`postEditWidget`,!1,this.edits.allEdits.map((e,t)=>({kind:`action`,item:e,label:e.title,disabled:!1,canPreview:!1,group:{title:``,icon:tt.fromId(t===this.edits.activeEditIndex?w.check.id:w.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:e=>{this._actionWidgetService.hide(!1);let t=this.edits.allEdits.findIndex(t=>t===e);if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}},t,this.editor.getDomNode()??void 0,this.additionalActions)}},Tp=Sp,Sp.baseId=`editor.widget.postEditWidget`,Sp);Ep=Tp=Cp([wp(8,Ls),wp(9,Ir),wp(10,yp)],Ep);var Dp=class extends O{constructor(e,t,n,r,i,a,o,s){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=r,this._getAdditionalActions=i,this._instantiationService=a,this._bulkEditService=o,this._notificationService=s,this._currentWidget=this._register(new Ne),this._register(qu.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,n,r,i){if(!e.length||!this._editor.hasModel())return;let a=this._editor.getModel(),o=t.allEdits.at(t.activeEditIndex);if(!o)return;let s=async a=>{let o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:a,allEdits:t.allEdits},n,r,i))},c=(r,i)=>{Vo(r)||(this._notificationService.error(i),n&&this.show(e[0],t,s))},l=new ge(this._editor,3,void 0,i),u;try{u=await bc(r(o,l.token),l.token)}catch(e){return c(e,R(976,`Error resolving edit '{0}':
|
|
4
|
-
{1}`,o.title,tp(e)))}finally{l.dispose()}if(i.isCancellationRequested)return;let d=Xf(a.uri,e,u),f=e[0],p=a.deltaDecorations([],[{range:f,options:{description:`paste-line-suffix`,stickiness:0}}]);this._editor.focus();let m,h;try{m=await this._bulkEditService.apply(d,{editor:this._editor,token:i}),h=a.getDecorationRange(p[0])}catch(e){return c(e,R(977,`Error applying edit '{0}':
|
|
5
|
-
{1}`,o.title,tp(e)))}finally{a.deltaDecorations(p,[])}i.isCancellationRequested||n&&m.isApplied&&t.allEdits.length>1&&this.show(h??f,t,s)}show(e,t,n){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(Ep,this._id,this._editor,this._visibleContext,this._showCommand,e,t,n,this._getAdditionalActions()))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};Dp=Cp([wp(5,x),wp(6,jt),wp(7,gi)],Dp);var Op,kp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ap=function(e,t){return function(n,r){t(n,r,e)}},jp,Mp=`editor.changePasteType`,Np=`editor.pasteAs.preferences`,Pp=new D(`pasteWidgetVisible`,!1,R(956,`Whether the paste widget is showing`)),Fp=`application/vnd.code.copymetadata`,Ip=(Op=class extends O{static get(e){return e.getContribution(jp.ID)}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._logService=n,this._bulkEditService=r,this._clipboardService=i,this._commandService=a,this._configService=o,this._languageFeaturesService=s,this._quickInputService=c,this._progressService=l,this._editor=e,this._register(e.onWillCopy(e=>this.handleCopy(e))),this._register(e.onWillCut(e=>this.handleCopy(e))),this._register(e.onWillPaste(e=>this.handlePaste(e))),this._pasteProgressManager=this._register(new _f(`pasteIntoEditor`,e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Dp,`pasteIntoEditor`,e,Pp,{id:Mp,label:R(957,`Show paste options...`)},()=>jp._configureDefaultAction?[jp._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(e){this._logService.trace(`CopyPasteController.pasteAs`),this._editor.focus();try{this._logService.trace(`Before calling editor.action.clipboardPasteAction`),this._pasteAsActionContext={preferred:e},await this._commandService.executeCommand(`editor.action.clipboardPasteAction`)}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(97).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){if(this._logService.trace(`CopyPasteController#handleCopy`),!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled()))return;let t=this._editor.getModel(),n=this._editor._getViewModel(),r=this._editor.getSelections();if(!t||!n||!r?.length)return;let i={multicursorText:e.dataToCopy.multicursorText??null,pasteOnNewLine:e.dataToCopy.isFromEmptySelection,mode:null},a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(e=>!!e.prepareDocumentPaste);if(!a.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:i});return}let o=new _o,s=a.flatMap(e=>e.copyMimeTypes??[]),c=ms();this.setCopyMetadata(e.clipboardData,{id:c,providerCopyMimeTypes:s,defaultPastePayload:i});let l=a.map(n=>({providerMimeTypes:n.copyMimeTypes,operation:pu(r=>n.prepareDocumentPaste(t,e.dataToCopy.sourceRanges,o,r).catch(e=>{console.error(e)}))}));jp._currentCopyOperation?.operations.forEach(e=>e.operation.cancel()),jp._currentCopyOperation={handle:c,operations:l}}async handlePaste(e){if(this._logService.trace(`CopyPasteController#handlePaste for id : `,e.metadata?.id),!this._editor.hasTextFocus())return;let t=e.toExternalVSDataTransfer();if(!t)return;t.delete(Fp),Sf.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let n=this._editor.getModel(),r=this._editor.getSelections();if(!r?.length||!n||this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let i=this.fetchCopyMetadata(e);this._logService.trace(`CopyPasteController#handlePaste with metadata : `,i?.id,` and text.length : `,e.clipboardData.getData(`text/plain`).length);let a=Array.from(e.clipboardData.files).map(e=>e.type),o=[...e.clipboardData.types,...a,...i?.providerCopyMimeTypes??[],Dc.uriList],s=this._languageFeaturesService.documentPasteEditProvider.ordered(n).filter(e=>{let t=this._pasteAsActionContext?.preferred;return t&&!this.providerMatchesPreference(e,t)?!1:e.pasteMimeTypes?.some(e=>al(e,o))});if(!s.length){this._pasteAsActionContext?.preferred&&(this.showPasteAsNoEditMessage(r,this._pasteAsActionContext.preferred),e.setHandled());return}e.setHandled(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,s,r,t,i):this.doPasteInline(s,r,t,i,e.browserEvent)}showPasteAsNoEditMessage(e,t){let n=`only`in t?t.only.value:`preferences`in t?t.preferences.length?t.preferences.map(e=>e.value).join(`, `):R(958,`empty`):t.providerId;Sf.get(this._editor)?.showMessage(R(959,`No paste edits for '{0}' found`,n),e[0].getStartPosition())}doPasteInline(e,t,n,r,i){this._logService.trace(`CopyPasteController#doPasteInline`);let a=this._editor;if(!a.hasModel())return;let o=new ge(a,3,void 0),s=pu(async a=>{let c=this._editor;if(!c.hasModel())return;let l=c.getModel(),u=new b,d=u.add(new Eu(a));u.add(o.token.onCancellationRequested(()=>d.cancel()));let f=d.token;try{if(await this.mergeInDataFromCopy(e,n,r,f),f.isCancellationRequested)return;let a=e.filter(e=>this.isSupportedPasteProvider(e,n));if(!a.length||a.length===1&&a[0]instanceof kf)return this.applyDefaultPasteHandler(n,r,f,i);let o={triggerKind:Hs.Automatic},s=await this.getPasteEdits(a,n,l,t,o,f);if(u.add(s),f.isCancellationRequested)return;if(s.edits.length===1&&s.edits[0].provider instanceof kf)return this.applyDefaultPasteHandler(n,r,f,i);if(s.edits.length){let e=c.getOption(97).showPasteSelector===`afterPaste`;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:this.getInitialActiveEditIndex(l,s.edits),allEdits:s.edits},e,async(e,n)=>{if(!e.provider.resolveDocumentPasteEdit)return e;let r=e.provider.resolveDocumentPasteEdit(e,n),i=new Ma,a=await this._pasteProgressManager.showWhile(t[0].getEndPosition(),R(960,`Resolving paste edit for '{0}'. Click to cancel`,e.title),rl(Promise.race([i.p,r]),n),{cancel:()=>i.cancel()},0);return a&&(e.insertText=a.insertText,e.additionalEdit=a.additionalEdit),e},f)}await this.applyDefaultPasteHandler(n,r,f,i)}finally{u.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),R(961,`Running paste handlers. Click to cancel and do basic paste`),s,{cancel:async()=>{s.cancel(),!o.token.isCancellationRequested&&await this.applyDefaultPasteHandler(n,r,o.token,i)}}).finally(()=>{o.dispose()}),this._currentPasteOperation=s}showPasteAsPick(e,t,n,r,i){this._logService.trace(`CopyPasteController#showPasteAsPick`);let a=pu(async o=>{let s=this._editor;if(!s.hasModel())return;let c=s.getModel(),l=new b,u=l.add(new ge(s,3,void 0,o));try{if(await this.mergeInDataFromCopy(t,r,i,u.token),u.token.isCancellationRequested)return;let a=t.filter(t=>this.isSupportedPasteProvider(t,r,e));e&&(a=a.filter(t=>this.providerMatchesPreference(t,e)));let o={triggerKind:Hs.PasteAs,only:e&&`only`in e?e.only:void 0},s=l.add(await this.getPasteEdits(a,r,c,n,o,u.token));if(u.token.isCancellationRequested)return;if(e&&(s={edits:s.edits.filter(t=>`only`in e?e.only.contains(t.kind):`preferences`in e?e.preferences.some(e=>e.contains(t.kind)):e.providerId===t.provider.id),dispose:s.dispose}),!s.edits.length){e&&this.showPasteAsNoEditMessage(n,e);return}let d;if(e)d=s.edits.at(0);else{let e={id:`editor.pasteAs.default`,label:R(962,`Configure default paste action`),edit:void 0},t=await this._quickInputService.pick([...s.edits.map(e=>({label:e.title,description:e.kind?.value,edit:e})),...jp._configureDefaultAction?[Es({type:`separator`}),{label:jp._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:R(963,`Select Paste Action`)});if(t===e){jp._configureDefaultAction?.run();return}d=t?.edit}if(!d)return;let f=Xf(c.uri,n,d);await this._bulkEditService.apply(f,{editor:this._editor})}finally{l.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:R(964,`Running paste handlers`)},()=>a)}setCopyMetadata(e,t){this._logService.trace(`CopyPasteController#setCopyMetadata new id : `,t.id),e.setData(Fp,JSON.stringify(t))}fetchCopyMetadata(e){this._logService.trace(`CopyPasteController#fetchCopyMetadata`);let t=e.clipboardData.getData(Fp);if(t)try{return JSON.parse(t)}catch{return}if(e.metadata)return{defaultPastePayload:{mode:e.metadata.mode,multicursorText:e.metadata.multicursorText??null,pasteOnNewLine:!!e.metadata.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,n,r){if(this._logService.trace(`CopyPasteController#mergeInDataFromCopy with metadata : `,n?.id),n?.id&&jp._currentCopyOperation?.handle===n.id){let n=jp._currentCopyOperation.operations.filter(t=>e.some(e=>e.pasteMimeTypes.some(e=>al(e,t.providerMimeTypes)))).map(e=>e.operation),i=await Promise.all(n);if(r.isCancellationRequested)return;for(let e of i.reverse())if(e)for(let[n,r]of e)t.replace(n,r)}if(!t.has(Dc.uriList)){let e=await this._clipboardService.readResources();if(r.isCancellationRequested)return;e.length&&t.append(Dc.uriList,Ho(hu.create(e)))}}async getPasteEdits(e,t,n,r,i,a){let o=new b,s=await rl(Promise.all(e.map(async e=>{try{let s=await e.provideDocumentPasteEdits?.(n,r,t,i,a);return s&&o.add(s),s?.edits?.map(t=>({...t,provider:e}))}catch(e){Vo(e)||console.error(e);return}})),a);return{edits:Zf(kc(s??[]).flat().filter(e=>!i.only||i.only.contains(e.kind))),dispose:()=>o.dispose()}}async applyDefaultPasteHandler(e,t,n,r){let i=await(e.get(Dc.text)??e.get(`text`))?.asString()??``;if(n.isCancellationRequested)return;let a={clipboardEvent:r,text:i,pasteOnNewLine:t?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:t?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace(`CopyPasteController#applyDefaultPasteHandler for id : `,t?.id),this._editor.trigger(`keyboard`,`paste`,a)}isSupportedPasteProvider(e,t,n){return e.pasteMimeTypes?.some(e=>t.matches(e))?!n||this.providerMatchesPreference(e,n):!1}providerMatchesPreference(e,t){return`only`in t?e.providedPasteEditKinds.some(e=>t.only.contains(e)):`preferences`in t?e.providedPasteEditKinds.some(e=>t.preferences.some(t=>t.contains(e))):e.id===t.providerId}getInitialActiveEditIndex(e,t){let n=this._configService.getValue(Np,{resource:e.uri});for(let e of Array.isArray(n)?n:[]){let n=new df(e),r=t.findIndex(e=>n.contains(e.kind));if(r>=0)return r}return 0}},jp=Op,Op.ID=`editor.contrib.copyPasteActionController`,Op);Ip=jp=kp([Ap(1,x),Ap(2,$l),Ap(3,jt),Ap(4,we),Ap(5,or),Ap(6,Ea),Ap(7,U),Ap(8,Bi),Ap(9,ql)],Ip);var Lp=`9_cutcopypaste`,Rp=Ni||document.queryCommandSupported(`cut`),zp=Ni||document.queryCommandSupported(`copy`),Bp=navigator.clipboard===void 0||ps?document.queryCommandSupported(`paste`):!0;function Vp(e){return e.register(),e}var Hp=Rp?Vp(new cn({id:`editor.action.clipboardCutAction`,precondition:void 0,kbOpts:Ni?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:q.MenubarEditMenu,group:`2_ccp`,title:R(849,`Cu&&t`),order:1},{menuId:q.EditorContext,group:Lp,title:R(850,`Cut`),when:I.writable,order:1},{menuId:q.CommandPalette,group:``,title:R(851,`Cut`),order:1},{menuId:q.SimpleEditorContext,group:Lp,title:R(852,`Cut`),when:I.writable,order:1}]})):void 0,Up=zp?Vp(new cn({id:`editor.action.clipboardCopyAction`,precondition:void 0,kbOpts:Ni?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:q.MenubarEditMenu,group:`2_ccp`,title:R(853,`&&Copy`),order:2},{menuId:q.EditorContext,group:Lp,title:R(854,`Copy`),order:2},{menuId:q.CommandPalette,group:``,title:R(855,`Copy`),order:1},{menuId:q.SimpleEditorContext,group:Lp,title:R(856,`Copy`),order:2}]})):void 0;be.appendMenuItem(q.MenubarEditMenu,{submenu:q.MenubarCopy,title:W(861,`Copy As`),group:`2_ccp`,order:3}),be.appendMenuItem(q.EditorContext,{submenu:q.EditorContextCopy,title:W(862,`Copy As`),group:Lp,order:3}),be.appendMenuItem(q.EditorContext,{submenu:q.EditorContextShare,title:W(863,`Share`),group:`11_share`,order:-1,when:g.and(g.notEquals(`resourceScheme`,`output`),I.editorTextFocus)}),be.appendMenuItem(q.ExplorerContext,{submenu:q.ExplorerContextShare,title:W(864,`Share`),group:`11_share`,order:-1});var Wp=Bp?Vp(new cn({id:`editor.action.clipboardPasteAction`,precondition:void 0,kbOpts:Ni?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:q.MenubarEditMenu,group:`2_ccp`,title:R(857,`&&Paste`),order:4},{menuId:q.EditorContext,group:Lp,title:R(858,`Paste`),when:I.writable,order:4},{menuId:q.CommandPalette,group:``,title:R(859,`Paste`),order:1},{menuId:q.SimpleEditorContext,group:Lp,title:R(860,`Paste`),when:I.writable,order:4}]})):void 0,Gp=class extends A{constructor(){super({id:`editor.action.clipboardCopyWithSyntaxHighlightingAction`,label:W(865,`Copy with Syntax Highlighting`),precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,weight:100}})}run(e,t){let n=e.get($l),r=e.get(we);n.trace(`ExecCommandCopyWithSyntaxHighlightingAction#run`),t.hasModel()&&(!t.getOption(45)&&t.getSelection().isEmpty()||(Pa.forceCopyWithSyntaxHighlighting=!0,t.focus(),n.trace(`ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)`),Kp(t,r),n.trace(`ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)`),Pa.forceCopyWithSyntaxHighlighting=!1))}};function Kp(e,t){if(Pa.electronBugWorkaroundCopyEventHasFired=!1,e.getContainerDomNode().ownerDocument.execCommand(`copy`),Ni&&Pa.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:n}=Ul(e._getViewModel(),void 0,ps);t.writeText(n.text)}}function qp(e,t){e&&(e.addImplementation(1e4,`code-editor`,(e,n)=>{let r=e.get($l),i=e.get(we);r.trace(`registerExecCommandImpl (addImplementation code-editor for : `,t,`)`);let a=e.get(Mi).getFocusedCodeEditor();if(a&&a.hasTextFocus()&&a.hasModel()){let e=a.getOption(45),n=a.getSelection();return n&&n.isEmpty()&&!e||(a.getOption(170)&&t===`cut`?(Jp(a),r.trace(`registerExecCommandImpl (before execCommand copy)`),Kp(a,i),a.trigger(void 0,`cut`,void 0),r.trace(`registerExecCommandImpl (after execCommand copy)`)):(Jp(a),r.trace(`registerExecCommandImpl (before execCommand `+t+`)`),t===`copy`?Kp(a,i):a.getContainerDomNode().ownerDocument.execCommand(t),r.trace(`registerExecCommandImpl (after execCommand `+t+`)`))),!0}return!1}),e.addImplementation(0,`generic-dom`,(e,n)=>{let r=e.get($l);return r.trace(`registerExecCommandImpl (addImplementation generic-dom for : `,t,`)`),r.trace(`registerExecCommandImpl (before execCommand `+t+`)`),Wl().execCommand(t),r.trace(`registerExecCommandImpl (after execCommand `+t+`)`),!0}))}function Jp(e){if(e.getOption(170)){let t=yn.get(e.getId());t&&t.handleWillCopy()}}qp(Hp,`cut`),qp(Up,`copy`),Wp&&(Wp.addImplementation(1e4,`code-editor`,(e,t)=>{let n=e.get($l);n.trace(`registerExecCommandImpl (addImplementation code-editor for : paste)`);let r=e.get(Mi),i=e.get(we),a=r.getFocusedCodeEditor();if(a&&a.hasModel()&&a.hasTextFocus()){if(a.getOption(170)){let e=yn.get(a.getId());e&&e.handleWillPaste()}n.trace(`registerExecCommandImpl (before triggerPaste)`);let e=i.triggerPaste(dc().vscodeWindowId);return e?(n.trace(`registerExecCommandImpl (triggerPaste defined)`),e.then(async()=>(n.trace(`registerExecCommandImpl (after triggerPaste)`),Ip.get(a)?.finishedPaste()??Promise.resolve()))):(n.trace(`registerExecCommandImpl (triggerPaste undefined)`),!pt||(n.trace(`registerExecCommandImpl (Paste handling on web)`),(async()=>{let e=await i.readText();if(e!==``){let t=Kc.INSTANCE.get(e),r=!1,i=null,o=null;t&&(r=a.getOption(45)&&!!t.isFromEmptySelection,i=t.multicursorText===void 0?null:t.multicursorText,o=t.mode),n.trace(`registerExecCommandImpl (clipboardText.length : `,e.length,` id : `,t?.id,`)`),a.trigger(`keyboard`,`paste`,{text:e,pasteOnNewLine:r,multicursorText:i,mode:o})}})()))}return!1}),Wp.addImplementation(0,`generic-dom`,(e,t)=>(e.get($l).trace(`registerExecCommandImpl (addImplementation generic-dom for : paste)`),e.get(we).triggerPaste(dc().vscodeWindowId)??!1))),zp&&T(Gp);var Yp=new class{constructor(){this.QuickFix=new df(`quickfix`),this.Refactor=new df(`refactor`),this.RefactorExtract=this.Refactor.append(`extract`),this.RefactorInline=this.Refactor.append(`inline`),this.RefactorMove=this.Refactor.append(`move`),this.RefactorRewrite=this.Refactor.append(`rewrite`),this.Notebook=new df(`notebook`),this.Source=new df(`source`),this.SourceOrganizeImports=this.Source.append(`organizeImports`),this.SourceFixAll=this.Source.append(`fixAll`),this.SurroundWith=this.Refactor.append(`surround`)}},Xp;(function(e){e.Refactor=`refactor`,e.RefactorPreview=`refactor preview`,e.Lightbulb=`lightbulb`,e.Default=`other (default)`,e.SourceAction=`source action`,e.QuickFix=`quick fix action`,e.FixAll=`fix all`,e.OrganizeImports=`organize imports`,e.AutoFix=`auto fix`,e.QuickFixHover=`quick fix hover window`,e.OnSave=`save participants`,e.ProblemsView=`problems view`})(Xp||={});function Zp(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some(n=>$p(t,n,e.include))||!e.includeSourceActions&&Yp.Source.contains(t))}function Qp(e,t){let n=t.kind?new df(t.kind):void 0;return!(e.include&&(!n||!e.include.contains(n))||e.excludes&&n&&e.excludes.some(t=>$p(n,t,e.include))||!e.includeSourceActions&&n&&Yp.Source.contains(n)||e.onlyIncludePreferredActions&&!t.isPreferred)}function $p(e,t,n){return!(!t.contains(e)||n&&t.contains(n))}var em=class e{static fromUser(t,n){return!t||typeof t!=`object`?new e(n.kind,n.apply,!1):new e(e.getKindFromUser(t,n.kind),e.getApplyFromUser(t,n.apply),e.getPreferredUser(t))}static getApplyFromUser(e,t){switch(typeof e.apply==`string`?e.apply.toLowerCase():``){case`first`:return`first`;case`never`:return`never`;case`ifsingle`:return`ifSingle`;default:return t}}static getKindFromUser(e,t){return typeof e.kind==`string`?new df(e.kind):t}static getPreferredUser(e){return typeof e.preferred==`boolean`&&e.preferred}constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}},tm=class{constructor(e,t,n){this.action=e,this.provider=t,this.highlightRange=n}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let t;try{t=await this.provider.resolveCodeAction(this.action,e)}catch(e){xc(e)}t&&(this.action.edit=t.edit)}return this}},nm=`editor.action.codeAction`,rm=`editor.action.quickFix`,im=`editor.action.autoFix`,am=`editor.action.refactor`,om=`editor.action.sourceAction`,sm=`editor.action.organizeImports`,cm=`editor.action.fixAll`,lm=1e3,um=class e extends O{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:t},{action:n}){return t.isAI&&!n.isAI?1:!t.isAI&&n.isAI?-1:td(t.diagnostics)?td(n.diagnostics)?e.codeActionsPreferredComparator(t,n):-1:td(n.diagnostics)?1:e.codeActionsPreferredComparator(t,n)}constructor(t,n,r){super(),this.documentation=n,this._register(r),this.allActions=[...t].sort(e.codeActionsComparator),this.validActions=this.allActions.filter(({action:e})=>!e.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Yp.QuickFix.contains(new df(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}},dm={actions:[],documentation:void 0};async function fm(e,t,n,r,i,a){let o=r.filter||{},s={...o,excludes:[...o.excludes||[],Yp.Notebook]},c={only:o.include?.value,trigger:r.type},l=new Oi(t,a),u=pm(e,t,r.type===2?s:o),d=new b,f=u.map(async e=>{let r=setTimeout(()=>i.report(e),1250);try{let r=await e.provideCodeActions(t,n,c,l.token);if(l.token.isCancellationRequested)return r?.dispose(),dm;r&&d.add(r);let i=(r?.actions||[]).filter(e=>e&&Qp(o,e)),a=hm(e,i,o.include);return{actions:i.map(t=>new tm(t,e)),documentation:a}}catch(e){if(Vo(e))throw e;return xc(e),dm}finally{clearTimeout(r)}}),p=e.onDidChange(()=>{let n=e.all(t);Nu(n,u)||l.cancel()});try{let n=await Promise.all(f),i=n.map(e=>e.actions).flat(),a=new um(i,[...kc(n.map(e=>e.documentation)),...mm(e,t,r,i)],d);return d.add(a),a}catch(e){throw d.dispose(),e}finally{p.dispose(),l.dispose()}}function pm(e,t,n){return e.all(t).filter(e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some(e=>Zp(n,new df(e))))}function*mm(e,t,n,r){if(t&&r.length)for(let i of e.all(t))i._getAdditionalMenuItems&&(yield*i._getAdditionalMenuItems?.({trigger:n.type,only:n.filter?.include?.value},r.map(e=>e.action)))}function hm(e,t,n){if(!e.documentation)return;let r=e.documentation.map(e=>({kind:new df(e.kind),command:e.command}));if(n){let e;for(let t of r)t.kind.contains(n)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return e?.command}for(let e of t)if(e.kind){for(let t of r)if(t.kind.contains(new df(e.kind)))return t.command}}var gm;(function(e){e.OnSave=`onSave`,e.FromProblemsView=`fromProblemsView`,e.FromCodeActions=`fromCodeActions`,e.FromAILightbulb=`fromAILightbulb`,e.FromProblemsHover=`fromProblemsHover`})(gm||={});async function _m(e,t,n,r,i=L.None){let a=e.get(jt),o=e.get(or),s=e.get(Tu),c=e.get(gi),l=e.get(Ko);if(s.publicLog2(`codeAction.applyCodeAction`,{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:n}),l.playSignal(xo.codeActionTriggered),await t.resolve(i),!i.isCancellationRequested&&!(t.action.edit?.edits.length&&!(await a.apply(t.action.edit,{editor:r?.editor,label:t.action.title,quotableLabel:t.action.title,code:`undoredo.codeAction`,respectAutoSaveConfig:n!==gm.OnSave,showPreview:r?.preview,reason:Hn.codeAction({kind:t.action.kind,providerId:pe.fromExtensionId(t.provider?.extensionId)})})).isApplied)){if(t.action.command)try{await o.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){let t=vm(e);c.error(typeof t==`string`?t:R(866,`An unknown error occurred while applying the code action`))}setTimeout(()=>l.playSignal(xo.codeActionApplied),lm)}}function vm(e){if(typeof e==`string`)return e;if(e instanceof Error&&typeof e.message==`string`)return e.message}In.registerCommand(`_executeCodeActionProvider`,async function(e,t,n,r,i){if(!(t instanceof Nn))throw go();let{codeActionProvider:a}=e.get(U),o=e.get(wt).getModel(t);if(!o)throw go();let s=j.isISelection(n)?j.liftSelection(n):S.isIRange(n)?o.validateRange(n):void 0;if(!s)throw go();let c=typeof r==`string`?new df(r):void 0,l=await fm(a,o,s,{type:1,triggerAction:Xp.Default,filter:{includeSourceActions:!0,include:c}},so.None,L.None),u=[],d=Math.min(l.validActions.length,typeof i==`number`?i:0);for(let e=0;e<d;e++)u.push(l.validActions[e].resolve(L.None));try{return await Promise.all(u),l.validActions.map(e=>e.action)}finally{setTimeout(()=>l.dispose(),100)}});var ym,bm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xm=function(e,t){return function(n,r){t(n,r,e)}},Sm,Cm=(ym=class{constructor(e){this.keybindingService=e}getResolver(){let e=new Nc(()=>this.keybindingService.getKeybindings().filter(e=>Sm.codeActionCommands.indexOf(e.command)>=0).filter(e=>e.resolvedKeybinding).map(e=>{let t=e.commandArgs;return e.command===`editor.action.organizeImports`?t={kind:Yp.SourceOrganizeImports.value}:e.command===`editor.action.fixAll`&&(t={kind:Yp.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...em.fromUser(t,{kind:df.None,apply:`never`})}}));return t=>{if(t.kind)return this.bestKeybindingForCodeAction(t,e.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;let n=new df(e.kind);return t.filter(e=>e.kind.contains(n)).filter(t=>!t.preferred||e.isPreferred).reduceRight((e,t)=>e?e.kind.contains(t.kind)?t:e:t,void 0)}},Sm=ym,ym.codeActionCommands=[am,nm,om,sm,cm],ym);Cm=Sm=bm([xm(0,Ir)],Cm),C(`symbolIcon.arrayForeground`,Is,R(1547,`The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.booleanForeground`,Is,R(1548,`The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.classForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},R(1549,`The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.colorForeground`,Is,R(1550,`The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.constantForeground`,Is,R(1551,`The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.constructorForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},R(1552,`The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.enumeratorForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},R(1553,`The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.enumeratorMemberForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},R(1554,`The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.eventForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},R(1555,`The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.fieldForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},R(1556,`The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.fileForeground`,Is,R(1557,`The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.folderForeground`,Is,R(1558,`The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.functionForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},R(1559,`The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.interfaceForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},R(1560,`The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.keyForeground`,Is,R(1561,`The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.keywordForeground`,Is,R(1562,`The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.methodForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},R(1563,`The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.moduleForeground`,Is,R(1564,`The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.namespaceForeground`,Is,R(1565,`The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.nullForeground`,Is,R(1566,`The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.numberForeground`,Is,R(1567,`The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.objectForeground`,Is,R(1568,`The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.operatorForeground`,Is,R(1569,`The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.packageForeground`,Is,R(1570,`The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.propertyForeground`,Is,R(1571,`The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.referenceForeground`,Is,R(1572,`The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.snippetForeground`,Is,R(1573,`The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.stringForeground`,Is,R(1574,`The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.structForeground`,Is,R(1575,`The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.textForeground`,Is,R(1576,`The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.typeParameterForeground`,Is,R(1577,`The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.unitForeground`,Is,R(1578,`The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),C(`symbolIcon.variableForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},R(1579,`The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`));var wm=Object.freeze({kind:df.Empty,title:R(902,`More Actions...`)}),Tm=Object.freeze([{kind:Yp.QuickFix,title:R(903,`Quick Fix`)},{kind:Yp.RefactorExtract,title:R(904,`Extract`),icon:w.wrench},{kind:Yp.RefactorInline,title:R(905,`Inline`),icon:w.wrench},{kind:Yp.RefactorRewrite,title:R(906,`Rewrite`),icon:w.wrench},{kind:Yp.RefactorMove,title:R(907,`Move`),icon:w.wrench},{kind:Yp.SurroundWith,title:R(908,`Surround With`),icon:w.surroundWith},{kind:Yp.Source,title:R(909,`Source Action`),icon:w.symbolFile},wm]);function Em(e,t,n){if(!t)return e.map(e=>({kind:`action`,item:e,group:wm,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length}));let r=Tm.map(e=>({group:e,actions:[]}));for(let t of e){let e=t.action.kind?new df(t.action.kind):df.None;for(let n of r)if(n.group.kind.contains(e)){n.actions.push(t);break}}let i=[];for(let e of r)if(e.actions.length){i.push({kind:`header`,group:e.group});for(let t of e.actions){let r=e.group;i.push({kind:`action`,item:t,group:t.action.isAI?{title:r.title,kind:r.kind,icon:w.sparkle}:r,label:t.action.title,disabled:!!t.action.disabled,keybinding:n(t.action)})}}return i}var Dm=new D(`supportedCodeAction`,``),Om=class extends O{constructor(e,t,n,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=n,this._delay=r,this._autoTriggerTimer=this._register(new to),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged(e=>this._onMarkerChanges(e))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){let t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){let t=this._editor.getModel();t&&e.some(e=>mo(e,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Xp.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;let t=this._editor.getSelection();if(e.type===1)return t;let n=this._editor.getOption(73).enabled;if(!(n===ml.Off&&!this.ignoreLightbulbOff)){if(n===ml.Off||n===ml.On)return t;if(n===ml.OnCode){if(!t.isEmpty())return t;let e=this._editor.getModel(),{lineNumber:n,column:r}=t.getPosition(),i=e.getLineContent(n);if(i.length===0)return;if(r===1){if(/\s/.test(i[0]))return}else if(r===e.getLineMaxColumn(n)){if(/\s/.test(i[i.length-1]))return}else if(/\s/.test(i[r-2])&&/\s/.test(i[r-1]))return}return t}}},km;(function(e){e.Empty={type:0};class t{constructor(e,t,n){this.trigger=e,this.position=t,this._cancellablePromise=n,this.type=1,this.actions=n.catch(e=>{if(Vo(e))return Am;throw e})}cancel(){this._cancellablePromise.cancel()}}e.Triggered=t})(km||={});var Am=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1}),jm=class extends O{constructor(e,t,n,r,i,a){super(),this._editor=e,this._registry=t,this._markerService=n,this._progressService=i,this._configurationService=a,this._codeActionOracle=this._register(new Ne),this._state=km.Empty,this._onDidChangeState=this._register(new B),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new Ne),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=Dm.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(73)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(km.Empty,!0))}_settingEnabledNearbyQuickfixes(){let e=this._editor?.getModel();return this._configurationService?this._configurationService.getValue(`editor.codeActionWidget.includeNearbyQuickFixes`,{resource:e?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(km.Empty);let e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(104)){let t=this._registry.all(e).flatMap(e=>e.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(` `));let n=new Om(this._editor,this._markerService,t=>{if(!t){this.setState(km.Empty);return}let n=t.selection.getStartPosition(),r=pu(async n=>{if(this._settingEnabledNearbyQuickfixes()&&t.trigger.type===1&&(t.trigger.triggerAction===Xp.QuickFix||t.trigger.filter?.include?.contains(Yp.QuickFix))){let r=await fm(this._registry,e,t.selection,t.trigger,so.None,n);this.codeActionsDisposable.value=r;let i=[...r.allActions];if(n.isCancellationRequested)return r.dispose(),Am;let a=r.validActions?.some(e=>e.action.kind&&Yp.QuickFix.contains(new df(e.action.kind))&&!e.action.isAI),o=this._markerService.read({resource:e.uri});if(a){for(let e of r.validActions)e.action.command?.arguments?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...o.filter(e=>e.relatedInformation)]);return{validActions:r.validActions,allActions:i,documentation:r.documentation,hasAutoFix:r.hasAutoFix,hasAIFix:r.hasAIFix,allAIFixes:r.allAIFixes,dispose:()=>{this.codeActionsDisposable.value=r}}}if(!a&&o.length>0){let a=t.selection.getPosition(),s=a,c=Number.MAX_VALUE,l=[...r.validActions];for(let u of o){let d=u.endColumn,f=u.endLineNumber,p=u.startLineNumber;if(f===a.lineNumber||p===a.lineNumber){s=new k(f,d);let u={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:Yp.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||``,position:s}},p=new j(s.lineNumber,s.column,s.lineNumber,s.column),m=await fm(this._registry,e,p,u,so.None,n);if(n.isCancellationRequested)return m.dispose(),Am;if(m.validActions.length!==0){for(let e of m.validActions)e.action.command?.arguments?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...o.filter(e=>e.relatedInformation)]);r.allActions.length===0&&i.push(...m.allActions),Math.abs(a.column-d)<c?l.unshift(...m.validActions):l.push(...m.validActions)}c=Math.abs(a.column-d)}}let u=l.filter((e,t,n)=>n.findIndex(t=>t.action.title===e.action.title)===t);return u.sort((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0),{validActions:u,allActions:i,documentation:r.documentation,hasAutoFix:r.hasAutoFix,hasAIFix:r.hasAIFix,allAIFixes:r.allAIFixes,dispose:()=>{this.codeActionsDisposable.value=r}}}}if(t.trigger.type===1){let r=await fm(this._registry,e,t.selection,t.trigger,so.None,n);return this.codeActionsDisposable.value=r,r}let r=await fm(this._registry,e,t.selection,t.trigger,so.None,n);return this.codeActionsDisposable.value=r,r});t.trigger.type===1&&this._progressService?.showWhile(r,250);let i=new km.Triggered(t.trigger,n,r),a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&i.type===1&&i.trigger.type===2&&this._state.position!==i.position),a?setTimeout(()=>{this.setState(i)},500):this.setState(i)},void 0);n.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=n,this._codeActionOracle.value.trigger({type:2,triggerAction:Xp.Default})}else this._supportedCodeActions.reset()}trigger(e){this._codeActionOracle.value?.trigger(e),this.codeActionsDisposable.dispose()}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}},Mm,Nm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Pm=function(e,t){return function(n,r){t(n,r,e)}},Fm,Im=$s(`gutter-lightbulb`,w.lightBulb,R(910,`Icon which spawns code actions menu from the gutter when there is no space in the editor.`)),Lm=$s(`gutter-lightbulb-auto-fix`,w.lightbulbAutofix,R(911,`Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.`)),Rm=$s(`gutter-lightbulb-sparkle`,w.lightbulbSparkle,R(912,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.`)),zm=$s(`gutter-lightbulb-aifix-auto-fix`,w.lightbulbSparkleAutofix,R(913,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.`)),Bm=$s(`gutter-lightbulb-sparkle-filled`,w.sparkleFilled,R(914,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.`)),Vm;(function(e){e.Hidden={type:0};class t{constructor(e,t,n,r){this.actions=e,this.trigger=t,this.editorPosition=n,this.widgetPosition=r,this.type=1}}e.Showing=t})(Vm||={});function Hm(e,t,n,r,i=!1){if(e.validActions.length<=0)return;let a,o=!1;e.allAIFixes?(a=i?Bm:w.sparkleFilled,e.validActions.length===1&&(o=!0)):a=e.hasAutoFix?e.hasAIFix?i?zm:w.lightbulbSparkleAutofix:i?Lm:w.lightbulbAutofix:e.hasAIFix?i?Rm:w.lightbulbSparkle:i?Im:w.lightBulb;let s;return s=o?R(915,`Run: {0}`,e.validActions[0].action.title):e.hasAutoFix&&n?R(916,`Show Code Actions. Preferred Quick Fix Available ({0})`,n):!e.hasAutoFix&&r?R(917,`Show Code Actions ({0})`,r):R(918,`Show Code Actions`),{actions:e,trigger:t,icon:a,autoRun:o,title:s,isGutter:i}}var Um=(Mm=class extends O{static _computeLightBulbInfo(e,t,n,r){if(e.type===1)return Hm(e.actions,e.trigger,n,r,t)}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this.onlyWithEmptySelection=!1,this._onClick=this._register(new B),this.onClick=this._onClick.event,this._state=Dt(this,Vm.Hidden),this._gutterState=Dt(this,Vm.Hidden),this._combinedInfo=P(this,e=>{let t=this._gutterState.read(e);if(t.type===1)return Fm._computeLightBulbInfo(t,!0,this._preferredKbLabel.read(e),this._quickFixKbLabel.read(e));let n=this._state.read(e);if(n.type===1)return Fm._computeLightBulbInfo(n,!1,this._preferredKbLabel.read(e),this._quickFixKbLabel.read(e))}),this._iconClasses=[],this.lightbulbClasses=[`codicon-`+Im.id,`codicon-`+zm.id,`codicon-`+Lm.id,`codicon-`+Rm.id,`codicon-`+Bm.id],this._preferredKbLabel=Dt(this,void 0),this._quickFixKbLabel=Dt(this,void 0),this.gutterDecoration=Fm.GUTTER_DECORATION,this._domNode=N(`div.lightBulbWidget`),this._domNode.role=`listbox`,this._register(Wr.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel(),n=this._state.get();(n.type!==1||!t||n.editorPosition.lineNumber>=t.getLineCount())&&this.hide();let r=this._gutterState.get();(r.type!==1||!t||r.editorPosition.lineNumber>=t.getLineCount())&&this.gutterHide()})),this._register(jl(this._domNode,e=>{let t=this._state.get();if(t.type!==1)return;this._editor.focus(),e.preventDefault();let{top:n,height:r}=Uo(this._domNode),i=this._editor.getOption(75),a=Math.floor(i/3);t.widgetPosition.position!==null&&t.widgetPosition.position.lineNumber<t.editorPosition.lineNumber&&(a+=i),this._onClick.fire({x:e.posx,y:n+r+a,actions:t.actions,trigger:t.trigger})})),this._register(H(this._domNode,`mouseenter`,e=>{(e.buttons&1)==1&&this.hide()})),this._register(qu.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,void 0)})),this._register(E(e=>{let t=this._combinedInfo.read(e);this._updateLightBulbTitleAndIcon(t),this._updateGutterDecorationOptions(t)})),this._register(this._editor.onMouseDown(async e=>{if(!e.target.element||!this.lightbulbClasses.some(t=>e.target.element&&e.target.element.classList.contains(t)))return;let t=this._gutterState.get();if(t.type!==1)return;this._editor.focus();let{top:n,height:r}=Uo(e.target.element),i=this._editor.getOption(75),a=Math.floor(i/3);t.widgetPosition.position!==null&&t.widgetPosition.position.lineNumber<t.editorPosition.lineNumber&&(a+=i),this._onClick.fire({x:e.event.posx,y:n+r+a,actions:t.actions,trigger:t.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return`LightBulbWidget`}getDomNode(){return this._domNode}getPosition(){let e=this._state.get();return e.type===1?e.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0||this.onlyWithEmptySelection&&!this._editor.getSelection()?.isEmpty()||!this._editor.hasTextFocus()||this._editor.getOptions().get(73).enabled===ml.Off)return this.gutterHide(),this.hide();let r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();let{lineNumber:i,column:a}=r.validatePosition(n),o=r.getOptions().tabSize,s=this._editor.getOptions().get(59),c=r.getLineContent(i),l=ha(c,o),u=s.spaceWidth*l>22,d=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),f=this._editor.getLineDecorations(i),p=!1;if(f)for(let e of f){let t=e.options.glyphMarginClassName;if(t&&!this.lightbulbClasses.some(e=>t.includes(e))){p=!0;break}}let m=i,h=1;if(!u){let o=e=>{let t=r.getLineContent(e);return/^\s*$|^\s+/.test(t)||t.length<=h};if(i>1&&!d(i-1)){let a=i===r.getLineCount(),s=i>1&&o(i-1),c=!a&&o(i+1),l=o(i),u=!c&&!s;if(!c&&!s&&!p)return this._gutterState.set(new Vm.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:Fm._posPref}),void 0),this.renderGutterLightbub(),this.hide();s||a||s&&!l?--m:(c||u&&l)&&(m+=1)}else if(i===1&&(i===r.getLineCount()||!o(i+1)&&!o(i))){if(this._gutterState.set(new Vm.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:Fm._posPref}),void 0),p)this.gutterHide();else return this.renderGutterLightbub(),this.hide()}else if(i<r.getLineCount()&&!d(i+1))m+=1;else if(a*s.spaceWidth<22)return this.hide();h=/^\S\s*$/.test(r.getLineContent(m))?2:1}this._state.set(new Vm.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:Fm._posPref}),void 0),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());let g=e.validActions,_=e.validActions[0].action.kind;if(g.length!==1||!_){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this._state.get()!==Vm.Hidden&&(this._state.set(Vm.Hidden,void 0),this._editor.layoutContentWidget(this))}gutterHide(){this._gutterState.get()!==Vm.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this._gutterState.set(Vm.Hidden,void 0))}_updateLightBulbTitleAndIcon(e){this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],!(!e||e.isGutter)&&(this._domNode.title=e.title,this._iconClasses=tt.asClassNameArray(e.icon),this._domNode.classList.add(...this._iconClasses))}_updateGutterDecorationOptions(e){!e||!e.isGutter||(this.gutterDecoration=G.register({description:`codicon-gutter-lightbulb-decoration`,glyphMarginClassName:tt.asClassName(e.icon),glyphMargin:{position:Yr.Left},stickiness:1}))}renderGutterLightbub(){let e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new S(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(n=>{n.changeDecoration(e,new S(t,0,t,0)),n.changeDecorationOptions(e,this.gutterDecoration)})}},Fm=Mm,Mm.GUTTER_DECORATION=G.register({description:`codicon-gutter-lightbulb-decoration`,glyphMarginClassName:tt.asClassName(w.lightBulb),glyphMargin:{position:Yr.Left},stickiness:1}),Mm.ID=`editor.contrib.lightbulbWidget`,Mm._posPref=[0],Mm);Um=Fm=Nm([Pm(1,Ir)],Um);var Wm,Gm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Km=function(e,t){return function(n,r){t(n,r,e)}},qm,Jm=(Wm=class extends O{static get(e){return e.getContribution(qm.ID)}constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(),this._commandService=o,this._configurationService=s,this._actionWidgetService=c,this._instantiationService=l,this._progressService=u,this._keybindingService=d,this._activeCodeActions=this._register(new Ne),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=Dt(this,void 0),this._preferredKbLabel=Dt(this,void 0),this._quickFixKbLabel=Dt(this,void 0),this._editor=e,this._model=this._register(new jm(this._editor,i.codeActionProvider,t,n,a,s)),this._register(this._model.onDidChangeState(e=>this.update(e))),this._register(qu.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new Nc(()=>{let e=this._editor.getContribution(Um.ID);return e&&(this._register(e.onClick(e=>this.showCodeActionsFromLightbulb(e.actions,e))),e.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection),e}),this._resolver=r.createInstance(Cm),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){let t=e.validActions[0],n=t.action.command;n&&n.id===`inlineChat.start`&&n.arguments&&n.arguments.length>=1&&n.arguments[0]&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this.applyCodeAction(t,!1,!1,gm.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,n){return this.showCodeActionList(t,n,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,n,r){if(!this._editor.hasModel())return;Sf.get(this._editor)?.closeMessage();let i=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:n,autoApply:r,context:{notAvailableMessage:e,position:i}})}_trigger(e){return this._model.trigger(e)}async applyCodeAction(e,t,n,r){let i=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(_m,e,r,{preview:n,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Xp.QuickFix,filter:{}}),i.done()}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(e){if(e.type!==1){this.hideLightBulbWidget(),this._lightBulbInfoObs.set(void 0,void 0);return}let t;try{t=await e.actions}catch(e){il(e);return}if(!this._disposed&&this._editor.getSelection()?.startLineNumber===e.position.lineNumber){if(this._lightBulbWidget.value?.update(t,e.trigger,e.position),this._lightBulbInfoObs.set(Hm(t,e.trigger,this._preferredKbLabel.get(),this._quickFixKbLabel.get()),void 0),e.trigger.type===1){if(e.trigger.filter?.include){let n=this.tryGetValidActionToApply(e.trigger,t);if(n){try{this.hideLightBulbWidget(),await this.applyCodeAction(n,!1,!1,gm.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){let n=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(n&&n.action.disabled){Sf.get(this._editor)?.showMessage(n.action.disabled,e.trigger.context.position),t.dispose();return}}}let n=!!e.trigger.filter?.include;if(e.trigger.context&&(!t.allActions.length||!n&&!t.validActions.length)){Sf.get(this._editor)?.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:n,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply===`first`&&t.validActions.length===0||e.autoApply===`ifSingle`&&t.allActions.length===1))return t.allActions.find(({action:e})=>e.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply===`first`&&t.validActions.length>0||e.autoApply===`ifSingle`&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,n){let r=this._editor.createDecorationsCollection(),i=this._editor.getDomNode();if(!i)return;let a=n.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!a.length)return;let o=k.isIPosition(t)?this.toCoords(t):t;this._actionWidgetService.show(`codeActionWidget`,!0,Em(a,this._shouldShowHeaders(),this._resolver.getResolver()),{onSelect:async(e,t)=>{this.applyCodeAction(e,!0,!!t,n.fromLightbulb?gm.FromAILightbulb:gm.FromCodeActions),this._actionWidgetService.hide(!1),r.clear()},onHide:e=>{this._editor?.focus(),r.clear()},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let n=!1,r=e.action.kind;if(r){let e=new df(r);n=[Yp.RefactorExtract,Yp.RefactorInline,Yp.RefactorRewrite,Yp.RefactorMove,Yp.Source].some(t=>t.contains(e))}return{canPreview:n||!!e.action.edit?.edits.length}},onFocus:e=>{if(e&&e.action){let t=e.action.ranges,n=e.action.diagnostics;if(r.clear(),t&&t.length>0){let e=n&&n?.length>1?n.map(e=>({range:e,options:qm.DECORATION})):t.map(e=>({range:e,options:qm.DECORATION}));r.set(e)}else if(n&&n.length>0){let e=n.map(e=>({range:e,options:qm.DECORATION}));r.set(e);let t=n[0];if(t.startLineNumber&&t.startColumn){let e=this._editor.getModel()?.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn})?.word;Wt(R(899,`Context: {0} at line {1} and column {2}.`,e,t.startLineNumber,t.startColumn))}}}else r.clear()}},o,i,this._getActionBarActions(e,t,n))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();let t=this._editor.getScrolledVisiblePosition(e),n=Uo(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}}_shouldShowHeaders(){let e=this._editor?.getModel();return this._configurationService.getValue(`editor.codeActionWidget.showHeaders`,{resource:e?.uri})}_getActionBarActions(e,t,n){if(n.fromLightbulb)return[];let r=e.documentation.map(e=>({id:e.id,label:e.title,tooltip:e.tooltip??``,class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[])}));return n.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:`hideMoreActions`,label:R(900,`Hide Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,n))}:{id:`showMoreActions`,label:R(901,`Show Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,n))}),r}},qm=Wm,Wm.ID=`editor.contrib.codeActionController`,Wm.DECORATION=G.register({description:`quickfix-highlight`,className:`quickfix-edit-highlight`}),Wm);Jm=qm=Gm([Km(1,Xa),Km(2,Ls),Km(3,x),Km(4,U),Km(5,Xc),Km(6,or),Km(7,Ea),Km(8,yp),Km(9,x),Km(10,Xc),Km(11,Ir)],Jm),Fc((e,t)=>{((e,n)=>{n&&t.addRule(`.monaco-editor ${e} { background-color: ${n}; }`)})(`.quickfix-edit-highlight`,e.getColor(Ql));let n=e.getColor(jc);n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${ti(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`)});function Ym(e){return g.regex(Dm.keys()[0],RegExp(`(\\s|^)`+vi(e.value)+`\\b`))}var Xm={type:`object`,defaultSnippets:[{body:{kind:``}}],properties:{kind:{type:`string`,description:R(867,`Kind of the code action to run.`)},apply:{type:`string`,description:R(868,`Controls when the returned actions are applied.`),default:`ifSingle`,enum:[`first`,`ifSingle`,`never`],enumDescriptions:[R(869,`Always apply the first returned code action.`),R(870,`Apply the first returned code action if it is the only one.`),R(871,`Do not apply the returned code actions.`)]},preferred:{type:`boolean`,default:!1,description:R(872,`Controls if only preferred code actions should be returned.`)}}};function Zm(e,t,n,r,i=Xp.Default){e.hasModel()&&Jm.get(e)?.manualTriggerAtCurrentPosition(t,i,n,r)}var Qm=class extends zi{constructor(){super({id:rm,title:W(889,`Quick Fix...`),precondition:g.and(I.writable,I.hasCodeActionsProvider),icon:w.lightBulb,f1:!0,keybinding:{when:I.textInputFocus,primary:2137,weight:100},menu:{id:q.InlineChatEditorAffordance,group:`1_quickfix`,order:0,when:g.and(I.writable,I.hasCodeActionsProvider)}})}runEditorCommand(e,t){return Zm(t,R(873,`No code actions available`),void 0,void 0,Xp.QuickFix)}},$m=class extends yt{constructor(){super({id:nm,precondition:g.and(I.writable,I.hasCodeActionsProvider),metadata:{description:`Trigger a code action`,args:[{name:`args`,schema:Xm}]}})}runEditorCommand(e,t,n){let r=em.fromUser(n,{kind:df.Empty,apply:`ifSingle`});return Zm(t,typeof n?.kind==`string`?r.preferred?R(874,`No preferred code actions for '{0}' available`,n.kind):R(875,`No code actions for '{0}' available`,n.kind):r.preferred?R(876,`No preferred code actions available`):R(877,`No code actions available`),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}},eh=class extends A{constructor(){super({id:am,label:W(890,`Refactor...`),precondition:g.and(I.writable,I.hasCodeActionsProvider),kbOpts:{kbExpr:I.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:`1_modification`,order:2,when:g.and(I.writable,Ym(Yp.Refactor))},metadata:{description:`Refactor...`,args:[{name:`args`,schema:Xm}]}})}run(e,t,n){let r=em.fromUser(n,{kind:Yp.Refactor,apply:`never`});return Zm(t,typeof n?.kind==`string`?r.preferred?R(878,`No preferred refactorings for '{0}' available`,n.kind):R(879,`No refactorings for '{0}' available`,n.kind):r.preferred?R(880,`No preferred refactorings available`):R(881,`No refactorings available`),{include:Yp.Refactor.contains(r.kind)?r.kind:df.None,onlyIncludePreferredActions:r.preferred},r.apply,Xp.Refactor)}},th=class extends A{constructor(){super({id:om,label:W(891,`Source Action...`),precondition:g.and(I.writable,I.hasCodeActionsProvider),contextMenuOpts:{group:`1_modification`,order:2.1,when:g.and(I.writable,Ym(Yp.Source))},metadata:{description:`Source Action...`,args:[{name:`args`,schema:Xm}]}})}run(e,t,n){let r=em.fromUser(n,{kind:Yp.Source,apply:`never`});return Zm(t,typeof n?.kind==`string`?r.preferred?R(882,`No preferred source actions for '{0}' available`,n.kind):R(883,`No source actions for '{0}' available`,n.kind):r.preferred?R(884,`No preferred source actions available`):R(885,`No source actions available`),{include:Yp.Source.contains(r.kind)?r.kind:df.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,Xp.SourceAction)}},nh=class extends A{constructor(){super({id:sm,label:W(892,`Organize Imports`),precondition:g.and(I.writable,Ym(Yp.SourceOrganizeImports)),kbOpts:{kbExpr:I.textInputFocus,primary:1581,weight:100},metadata:{description:W(893,`Organize imports in the current file. Also called 'Optimize Imports' by some tools`)}})}run(e,t){return Zm(t,R(886,`No organize imports action available`),{include:Yp.SourceOrganizeImports,includeSourceActions:!0},`ifSingle`,Xp.OrganizeImports)}},rh=class extends A{constructor(){super({id:cm,label:W(894,`Fix All`),precondition:g.and(I.writable,Ym(Yp.SourceFixAll))})}run(e,t){return Zm(t,R(887,`No fix all action available`),{include:Yp.SourceFixAll,includeSourceActions:!0},`ifSingle`,Xp.FixAll)}},ih=class extends A{constructor(){super({id:im,label:W(895,`Auto Fix...`),precondition:g.and(I.writable,Ym(Yp.QuickFix)),kbOpts:{kbExpr:I.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Zm(t,R(888,`No auto fixes available`),{include:Yp.QuickFix,onlyIncludePreferredActions:!0},`ifSingle`,Xp.AutoFix)}};M(Jm.ID,Jm,3),M(Um.ID,Um,4),We(Qm),T(eh),T(th),T(nh),T(ih),T(rh),F(new $m),Jn.as(qo.Configuration).registerConfiguration({...Xr,properties:{"editor.codeActionWidget.showHeaders":{type:`boolean`,scope:6,description:R(896,`Enable/disable showing group headers in the Code Action menu.`),default:!0}}}),Jn.as(qo.Configuration).registerConfiguration({...Xr,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:`boolean`,scope:6,description:R(897,`Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic.`),default:!0}}}),Jn.as(qo.Configuration).registerConfiguration({...Xr,properties:{"editor.codeActions.triggerOnFocusChange":{type:`boolean`,scope:6,markdownDescription:R(898,`Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.`,"`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});var ah,oh=class{constructor(){this.lenses=[]}dispose(){this._store?.dispose()}get isDisposed(){return this._store?.isDisposed??!1}add(e,t){Rs(e)&&(this._store??=new b,this._store.add(e));for(let n of e.lenses)this.lenses.push({symbol:n,provider:t})}};ah=oh,ah.Empty=new ah;async function sh(e,t,n){let r=e.ordered(t),i=new Map,a=new oh,o=r.map(async(e,r)=>{i.set(e,r);try{let r=await Promise.resolve(e.provideCodeLenses(t,n));r&&a.add(r,e)}catch(e){xc(e)}});return await Promise.all(o),n.isCancellationRequested?(a.dispose(),oh.Empty):(a.lenses=a.lenses.sort((e,t)=>e.symbol.range.startLineNumber<t.symbol.range.startLineNumber?-1:e.symbol.range.startLineNumber>t.symbol.range.startLineNumber?1:i.get(e.provider)<i.get(t.provider)?-1:i.get(e.provider)>i.get(t.provider)?1:e.symbol.range.startColumn<t.symbol.range.startColumn?-1:+(e.symbol.range.startColumn>t.symbol.range.startColumn)),a)}In.registerCommand(`_executeCodeLensProvider`,function(e,...t){let[n,r]=t;Gi(Nn.isUri(n)),Gi(typeof r==`number`||!r);let{codeLensProvider:i}=e.get(U),a=e.get(wt).getModel(n);if(!a)throw go();let o=[],s=new b;return sh(i,a,L.None).then(e=>{s.add(e);let t=[];for(let n of e.lenses)r==null||n.symbol.command?o.push(n.symbol):r-->0&&n.provider.resolveCodeLens&&t.push(Promise.resolve(n.provider.resolveCodeLens(a,n.symbol,L.None)).then(e=>o.push(e||n.symbol)));return Promise.all(t)}).then(()=>o).finally(()=>{setTimeout(()=>s.dispose(),100)})});var ch=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},lh=function(e,t){return function(n,r){t(n,r,e)}},uh=tn(`ICodeLensCache`),dh=class{constructor(e,t){this.lineCount=e,this.data=t}},fh=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw Error(`not supported`)}},this._cache=new Qo(20,.75),Fe(es,()=>e.remove(`codelens/cache`,1));let t=`codelens/cache2`,n=e.get(t,1,`{}`);this._deserialize(n);let r=qu.filter(e.onWillSaveState,e=>e.reason===wc.SHUTDOWN);qu.once(r)(n=>{e.store(t,this._serialize(),1,1)})}put(e,t){let n=t.lenses.map(e=>({range:e.symbol.range,command:e.symbol.command&&{id:``,title:e.symbol.command?.title}})),r=new oh;r.add({lenses:n},this._fakeProvider);let i=new dh(e.getLineCount(),r);this._cache.set(e.uri.toString(),i)}get(e){let t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){let e=Object.create(null);for(let[t,n]of this._cache){let r=new Set;for(let e of n.data.lenses)r.add(e.symbol.range.startLineNumber);e[t]={lineCount:n.lineCount,lines:[...r.values()]}}return JSON.stringify(e)}_deserialize(e){try{let t=JSON.parse(e);for(let e in t){let n=t[e],r=[];for(let e of n.lines)r.push({range:new S(e,1,e,11)});let i=new oh;i.add({lenses:r},this._fakeProvider),this._cache.set(e,new dh(n.lineCount,i))}}catch{}}};fh=ch([lh(0,sl)],fh),ys(uh,fh,1);var ph,mh=class{constructor(e,t,n){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=n,this.suppressMouseDown=!0,this.domNode=document.createElement(`div`)}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute(`monaco-visible-view-zone`)}},hh=class e{constructor(t,n){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id=`codelens.widget-${e._idPool++}`,this.updatePosition(n),this._domNode=document.createElement(`span`),this._domNode.className=`codelens-decoration`}withCommands(t,n){this._commands.clear();let r=[],i=!1;for(let n=0;n<t.length;n++){let a=t[n];if(a&&(i=!0,a.command)){let i=fe(a.command.title.trim());if(a.command.id){let t=`c${e._idPool++}`;r.push(N(`a`,{id:t,title:a.command.tooltip,role:`button`},...i)),this._commands.set(t,a.command)}else r.push(N(`span`,{title:a.command.tooltip},...i));n+1<t.length&&r.push(N(`span`,void 0,`\xA0|\xA0`))}}i?(ni(this._domNode,...r),this._isEmpty&&n&&this._domNode.classList.add(`fadein`),this._isEmpty=!1):ni(this._domNode,N(`span`,void 0,`no commands`))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){let t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}};ph=hh,ph._idPool=0;var gh=class{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){let t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let e=0,n=t.length;e<n;e++)this._addDecorationsCallbacks[e](t[e])}},_h=G.register({collapseOnReplaceEdit:!0,description:`codelens`}),vh=class{constructor(e,t,n,r,i,a){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let o,s=[];this._data.forEach((e,t)=>{e.symbol.command&&s.push(e.symbol),n.addDecoration({range:e.symbol.range,options:_h},e=>this._decorationIds[t]=e),o=o?S.plusRange(o,e.symbol.range):S.lift(e.symbol.range)}),this._viewZone=new mh(o.startLineNumber-1,i,a),this._viewZoneId=r.addZone(this._viewZone),s.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(s,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new hh(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&=(this._editor.removeContentWidget(this._contentWidget),void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{let n=this._editor.getModel().getDecorationRange(e),r=this._data[t].symbol;return!!(n&&S.isEmpty(r.range)===n.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((e,n)=>{t.addDecoration({range:e.symbol.range,options:_h},e=>this._decorationIds[n]=e)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){let n=e.getDecorationRange(this._decorationIds[t]);n&&(this._data[t].symbol.range=n)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){let n=e[t];if(n){let{symbol:e}=this._data[t];e.command=n.command||e.command}}}getCommand(e){return this._contentWidget?.getCommand(e)}getLineNumber(){let e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){let t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}},yh,bh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xh=function(e,t){return function(n,r){t(n,r,e)}},Sh=(yh=class{constructor(e,t,n,r,i,a){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=i,this._codeLensCache=a,this._disposables=new b,this._localToDispose=new b,this._lenses=[],this._oldCodeLensModels=new b,this._provideCodeLensDebounce=n.for(t.codeLensProvider,`CodeLensProvide`,{min:250}),this._resolveCodeLensesDebounce=n.for(t.codeLensProvider,`CodeLensResolve`,{min:250,salt:`resolve`}),this._resolveCodeLensesScheduler=new Vl(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(59)||e.hasChanged(25)||e.hasChanged(24))&&this._updateLensStyle(),e.hasChanged(23)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._localToDispose.dispose(),this._disposables.dispose(),this._resolveCodeLensesScheduler.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){let e=Math.max(1.3,this._editor.getOption(75)/this._editor.getOption(61)),t=this._editor.getOption(25);return(!t||t<5)&&(t=this._editor.getOption(61)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){let{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),n=this._editor.getOption(24),r=this._editor.getOption(59),{style:i}=this._editor.getContainerDomNode();i.setProperty(`--vscode-editorCodeLens-lineHeight`,`${e}px`),i.setProperty(`--vscode-editorCodeLens-fontSize`,`${t}px`),i.setProperty(`--vscode-editorCodeLens-fontFeatureSettings`,r.fontFeatureSettings),n&&(i.setProperty(`--vscode-editorCodeLens-fontFamily`,n),i.setProperty(`--vscode-editorCodeLens-fontFamilyDefault`,Ui.fontFamily)),this._editor.changeViewZones(t=>{for(let n of this._lenses)n.updateHeight(e,t)})}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();let e=this._editor.getModel();if(!e||!this._editor.getOption(23)||e.isTooLargeForTokenization())return;let t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&ho(()=>{let n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},3e4,this._localToDispose);return}for(let t of this._languageFeaturesService.codeLensProvider.all(e))if(typeof t.onDidChange==`function`){let e=t.onDidChange(()=>n.schedule());this._localToDispose.add(e)}let n=new Vl(()=>{let t=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=pu(t=>sh(this._languageFeaturesService.codeLensProvider,e,t)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);let i=this._provideCodeLensDebounce.update(e,Date.now()-t);n.delay=i,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},il)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(n),this._localToDispose.add(Tn(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{let n=[],r=-1;this._lenses.forEach(e=>{!e.isValid()||r===e.getLineNumber()?n.push(e):(e.update(t),r=e.getLineNumber())});let i=new gh;n.forEach(e=>{e.dispose(i,t),this._lenses.splice(this._lenses.indexOf(e),1)}),i.commit(e)})}),n.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{n.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{n.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(Tn(()=>{if(this._editor.getModel()){let e=La.capture(this._editor);this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{this._disposeAllLenses(e,t)})}),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(e=>{if(e.target.type!==9)return;let t=e.target.element;if(t?.tagName===`SPAN`&&(t=t.parentElement),t?.tagName===`A`)for(let e of this._lenses){let n=e.getCommand(t);if(n){this._commandService.executeCommand(n.id,...n.arguments||[]).catch(e=>this._notificationService.error(e));break}}})),n.schedule()}_disposeAllLenses(e,t){let n=new gh;for(let e of this._lenses)e.dispose(n,t);e&&n.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;let t=this._editor.getModel().getLineCount(),n=[],r;for(let i of e.lenses){let e=i.symbol.range.startLineNumber;e<1||e>t||(r&&r[r.length-1].symbol.range.startLineNumber===e?r.push(i):(r=[i],n.push(r)))}if(!n.length&&!this._lenses.length)return;let i=La.capture(this._editor),a=this._getLayoutInfo();this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{let r=new gh,i=0,o=0;for(;o<n.length&&i<this._lenses.length;){let e=n[o][0].symbol.range.startLineNumber,s=this._lenses[i].getLineNumber();s<e?(this._lenses[i].dispose(r,t),this._lenses.splice(i,1)):s===e?(this._lenses[i].updateCodeLensSymbols(n[o],r),o++,i++):(this._lenses.splice(i,0,new vh(n[o],this._editor,r,t,a.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),i++,o++)}for(;i<this._lenses.length;)this._lenses[i].dispose(r,t),this._lenses.splice(i,1);for(;o<n.length;)this._lenses.push(new vh(n[o],this._editor,r,t,a.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),o++;r.commit(e)})}),i.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;let e=this._editor.getModel();if(!e)return;let t=[],n=[];if(this._lenses.forEach(r=>{let i=r.computeIfNecessary(e);i&&(t.push(i),n.push(r))}),t.length===0){this._oldCodeLensModels.clear();return}let r=Date.now(),i=pu(r=>{let i=t.map((t,i)=>{let a=Array(t.length),o=t.map((t,n)=>!t.symbol.command&&typeof t.provider.resolveCodeLens==`function`?Promise.resolve(t.provider.resolveCodeLens(e,t.symbol,r)).then(e=>{a[n]=e},xc):(a[n]=t.symbol,Promise.resolve(void 0)));return Promise.all(o).then(()=>{!r.isCancellationRequested&&!n[i].isDisposed()&&n[i].updateCommands(a)})});return Promise.all(i)});this._resolveCodeLensesPromise=i,this._resolveCodeLensesPromise.then(()=>{let t=this._resolveCodeLensesDebounce.update(e,Date.now()-r);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),i===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},e=>{il(e),i===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}},yh.ID=`css.editor.codeLens`,yh);Sh=bh([xh(1,U),xh(2,Da),xh(3,or),xh(4,gi),xh(5,uh)],Sh),M(Sh.ID,Sh,1),T(class extends A{constructor(){super({id:`codelens.showLensesInCurrentLine`,precondition:I.hasCodeLensProvider,label:W(920,`Show CodeLens Commands for Current Line`)})}async run(e,t){if(!t.hasModel())return;let n=e.get(Bi),r=e.get(or),i=e.get(gi),a=t.getSelection().positionLineNumber,o=t.getContribution(Sh.ID);if(!o)return;let s=await o.getModel();if(!s)return;let c=[];for(let e of s.lenses)e.symbol.command&&e.symbol.range.startLineNumber===a&&c.push({label:e.symbol.command.title,command:e.symbol.command});if(c.length===0)return;let l=await n.pick(c,{canPickMany:!1,placeHolder:R(919,`Select a command`)});if(!l)return;let u=l.command;if(s.isDisposed){let e=(await o.getModel())?.lenses.find(e=>e.symbol.range.startLineNumber===a&&e.symbol.command?.title===u.title);if(!e||!e.symbol.command)return;u=e.symbol.command}try{await r.executeCommand(u.id,...u.arguments||[])}catch(e){i.error(e)}}});var Ch=class{constructor(e,t,n,r){this.priority=e,this.range=t,this.initialMousePosX=n,this.initialMousePosY=r,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}},wh=class{constructor(e,t,n,r,i,a){this.priority=e,this.owner=t,this.range=n,this.initialMousePosX=r,this.initialMousePosY=i,this.supportsMarkerHover=a,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}},Th=class{constructor(e,t){this.renderedHoverParts=e,this.disposables=t}dispose(){for(let e of this.renderedHoverParts)e.dispose();this.disposables?.dispose()}},Eh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}},Dh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Oh=function(e,t){return function(n,r){t(n,r,e)}},kh=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,n){let r=t.range,i=t.color,a=new As(new Yc(Math.round(255*i.red),Math.round(255*i.green),Math.round(255*i.blue),i.alpha)),o=As.Format.CSS.formatRGB(a),s=As.Format.CSS.formatHSL(a),c=As.Format.CSS.formatHexA(a,!0),l=[];return l.push({label:o,textEdit:{range:r,text:o}}),l.push({label:s,textEdit:{range:r,text:s}}),l.push({label:c,textEdit:{range:r,text:c}}),l}};kh=Dh([Oh(0,ia)],kh);var Ah=class extends O{constructor(e,t){super(),this._register(e.colorProvider.register(`*`,new kh(t)))}};Ah=Dh([Oh(0,U),Oh(1,ia)],Ah);async function jh(e,t,n,r=`auto`){return Ih(new Nh,e,t,n,r)}function Mh(e,t,n,r){return Promise.resolve(n.provideColorPresentations(e,t,r))}var Nh=class{constructor(){}async compute(e,t,n,r){let i=await e.provideDocumentColors(t,n);if(Array.isArray(i))for(let t of i)r.push({colorInfo:t,provider:e});return Array.isArray(i)}},Ph=class{constructor(){}async compute(e,t,n,r){let i=await e.provideDocumentColors(t,n);if(Array.isArray(i))for(let e of i)r.push({range:e.range,color:[e.color.red,e.color.green,e.color.blue,e.color.alpha]});return Array.isArray(i)}},Fh=class{constructor(e){this.colorInfo=e}async compute(e,t,n,r){let i=await e.provideColorPresentations(t,this.colorInfo,L.None);return Array.isArray(i)&&r.push(...i),Array.isArray(i)}};async function Ih(e,t,n,r,i){let a=!1,o,s=[],c=t.ordered(n);for(let t=c.length-1;t>=0;t--){let l=c[t];if(i!==`always`&&l instanceof kh)o=l;else try{await e.compute(l,n,r,s)&&(a=!0)}catch(e){xc(e)}}return a?s:o&&i!==`never`?(await e.compute(o,n,r,s),s):[]}function Lh(e,t){let{colorProvider:n}=e.get(U),r=e.get(wt).getModel(t);if(!r)throw go();return{model:r,colorProviderRegistry:n,defaultColorDecoratorsEnablement:e.get(Ea).getValue(`editor.defaultColorDecorators`,{resource:t})}}var Rh,zh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bh=function(e,t){return function(n,r){t(n,r,e)}},Vh,Hh=Object.create({}),Uh=(Rh=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=n,this._localToDispose=this._register(new b),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new Wh),this._colorDecorationClassRefs=this._register(new b),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new Zs(this._editor)),this._debounceInformation=r.for(n.colorProvider,`Document Colors`,{min:Vh.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(n.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(e=>{let t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(167);let n=t!==this._isColorDecoratorsEnabled||e.hasChanged(27),r=e.hasChanged(167);(n||r)&&(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(),n=this._configurationService.getValue(t);if(n&&typeof n==`object`){let e=n.colorDecorators;if(e&&e.enable!==void 0&&!e.enable)return e.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=pu(async e=>{let t=this._editor.getModel();if(!t)return[];let n=new xe(!1),r=await jh(this._languageFeaturesService.colorProvider,t,e,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(t,n.elapsed()),r});try{let e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){il(e)}}stop(){this._timeoutTimer&&=(this._timeoutTimer.cancel(),null),this._computePromise&&=(this._computePromise.cancel(),null),this._localToDispose.clear()}updateDecorations(e){let t=e.map(e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:G.EMPTY}));this._editor.changeDecorations(n=>{this._decorationsIds=n.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((t,n)=>this._colorDatas.set(t,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[],n=this._editor.getOption(27);for(let r=0;r<e.length&&t.length<n;r++){let{red:n,green:i,blue:a,alpha:o}=e[r].colorInfo.color,s=new Yc(Math.round(n*255),Math.round(i*255),Math.round(a*255),o),c=`rgba(${s.r}, ${s.g}, ${s.b}, ${s.a})`,l=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:c}));t.push({range:{startLineNumber:e[r].colorInfo.range.startLineNumber,startColumn:e[r].colorInfo.range.startColumn,endLineNumber:e[r].colorInfo.range.endLineNumber,endColumn:e[r].colorInfo.range.endColumn},options:{description:`colorDetector`,before:{content:`\xA0`,inlineClassName:`${l.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:Hh}}})}let r=n<e.length&&n;this._decoratorLimitReporter.update(e.length,r),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 n=t.getDecorationsInRange(S.fromPositions(e,e)).filter(e=>this._colorDatas.has(e.id));return n.length===0?null:this._colorDatas.get(n[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}},Vh=Rh,Rh.ID=`editor.contrib.colorDetector`,Rh.RECOMPUTE_TIME=1e3,Rh);Uh=Vh=zh([Bh(1,Ea),Bh(2,U),Bh(3,Da)],Uh);var Wh=class extends O{constructor(){super(...arguments),this._onDidChange=this._register(new B),this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},Gh=`editor.action.showHover`,Kh=`editor.action.showDefinitionPreviewHover`,qh=`editor.action.hideHover`,Jh=`editor.action.scrollUpHover`,Yh=`editor.action.scrollDownHover`,Xh=`editor.action.scrollLeftHover`,Zh=`editor.action.scrollRightHover`,Qh=`editor.action.pageUpHover`,$h=`editor.action.pageDownHover`,eg=`editor.action.goToTopHover`,tg=`editor.action.goToBottomHover`,ng=`editor.action.increaseHoverVerbosityLevel`,rg=R(1145,`Increase Hover Verbosity Level`),ig=`editor.action.decreaseHoverVerbosityLevel`,ag=R(1146,`Decrease Hover Verbosity Level`),og=`editor.action.hideLongLineWarningHover`,sg=`editor.action.inlineSuggest.commit`,cg=`editor.action.inlineSuggest.commitAlternativeAction`,lg=`editor.action.inlineSuggest.showPrevious`,ug=`editor.action.inlineSuggest.showNext`,dg=`editor.action.inlineSuggest.jump`,fg=`editor.action.inlineSuggest.hide`,pg=`editor.action.inlineSuggest.toggleShowCollapsed`,mg=`editor.action.inlineSuggest.renameSymbol`,hg,gg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_g=function(e,t){return function(n,r){t(n,r,e)}},vg,yg=class extends O{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=yd(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar===`always`),this.sessionPosition=void 0,this.position=P(this,e=>{let t=this.model.read(e)?.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||t.parts.length===0)return this.sessionPosition=void 0,null;let n=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);let r=new k(t.lineNumber,Math.min(n,this.sessionPosition?.column??2**53-1));return this.sessionPosition=r,r}),this._register(qt((t,n)=>{let r=this.model.read(t);if(!r||!this.alwaysShowToolbar.read(t))return;let i=P(t=>{let n=t.store.add(this.instantiationService.createInstance(Sg.hot.read(t),this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands,r.warning,()=>{}));return e.addContentWidget(n),t.store.add(Tn(()=>e.removeContentWidget(n))),t.store.add(E(e=>{this.position.read(e)&&r.lastTriggerKind.read(e)!==vn.Explicit&&r.triggerExplicitly()})),n}),a=lr(this,(e,t)=>!!this.position.read(e)||!!t);n.add(E(e=>{a.read(e)&&i.read(e)}))}))}};yg=gg([_g(2,x)],yg);var bg=$s(`inline-suggestion-hints-next`,w.chevronRight,R(1250,`Icon for show next parameter hint.`)),xg=$s(`inline-suggestion-hints-previous`,w.chevronLeft,R(1251,`Icon for show previous parameter hint.`)),Sg=(hg=class extends O{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,n){let r=new pn(e,t,n,!0,()=>this._commandService.executeCommand(e));return r.tooltip=this.keybindingService.appendKeybinding(t,e,this._contextKeyService),r}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this.editor=e,this.withBorder=t,this._position=n,this._currentSuggestionIdx=r,this._suggestionCount=i,this._extraCommands=a,this._warning=o,this._relayout=s,this._commandService=c,this.keybindingService=u,this._contextKeyService=d,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${vg.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=P(e=>{let t=this._warning.read(e);if(t)return typeof t.message==`string`?t.message:e.store.add(Pr(t.message)).element}),this._warningMessageNode=K.div({class:`warningMessage`,style:{maxWidth:400,margin:4,marginBottom:4,display:P(e=>this._warning.read(e)?`block`:`none`)}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=Ou(`div.inlineSuggestionsHints`,{className:this.withBorder?`monaco-hover monaco-hover-content`:``},[this._warningMessageNode.element,Ou(`div@toolBar`)]),this.previousAction=this._register(this.createCommandAction(lg,R(1252,`Previous`),tt.asClassName(xg))),this.availableSuggestionCountAction=this._register(new pn(`inlineSuggestionHints.availableSuggestionCount`,``,void 0,!1)),this.nextAction=this._register(this.createCommandAction(ug,R(1253,`Next`),tt.asClassName(bg))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(q.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Vl(()=>{this.availableSuggestionCountAction.label=``},100)),this.disableButtonsDebounced=this._register(new Vl(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(E(e=>{this._warningMessageContentNode.read(e),this._warningMessageNode.readEffect(e),this._relayout()})),this.toolBar=this._register(l.createInstance(Tg,this.nodes.toolBar,q.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},actionViewItemProvider:(e,t)=>{if(e instanceof Hr)return l.createInstance(wg,e,void 0);if(e===this.availableSuggestionCountAction){let t=new Cg(void 0,e,{label:!0,icon:!1});return t.setClass(`availableSuggestionCount`),t}},telemetrySource:`InlineSuggestionToolbar`})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(e=>{vg._dropDownVisible=e})),this._register(E(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(E(e=>{let t=this._suggestionCount.read(e),n=this._currentSuggestionIdx.read(e);t===void 0?this.clearAvailableSuggestionCountLabelDebounced.schedule():(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${n+1}/${t}`),t!==void 0&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(E(e=>{let t=this._extraCommands.read(e).map(e=>({class:void 0,id:e.command.id,enabled:!0,tooltip:e.command.tooltip||``,label:e.command.title,run:()=>this._commandService.executeCommand(e.command.id,...e.command.arguments??[])}));for(let[e,n]of this.inlineCompletionsActionsMenus.getActions())for(let e of n)e instanceof Hr&&t.push(e);t.length>0&&t.unshift(new Ar),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},vg=hg,hg.hot=ll(hg),hg._dropDownVisible=!1,hg.id=0,hg);Sg=vg=gg([_g(8,or),_g(9,x),_g(10,Ir),_g(11,Ls),_g(12,Ua)],Sg);var Cg=class extends ur{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(){}},wg=class extends Ic{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!e)return super.updateLabel();if(this.label){let t=Ou(`div.keybinding`).root;this._register(new Uu(t,_d,{disableTitle:!0,...si})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add(`inlineSuggestionStatusBarItemLabel`)}}updateTooltip(){}},Tg=class extends iu{constructor(e,t,n,r,i,a,o,s,c){super(e,{resetMenu:t,...n},r,i,a,o,s,c),this.menuId=t,this.options2=n,this.menuService=r,this.contextKeyService=i,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}=Fa(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){Nu(this.prependedPrimaryActions,e,(e,t)=>e===t)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Nu(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};Tg=gg([_g(3,Ua),_g(4,Ls),_g(5,Xu),_g(6,Ir),_g(7,or),_g(8,Tu)],Tg);function Eg(e,t,n){let r=Uo(e);return!(t<r.left+3||t>r.left+r.width-3||n<r.top+3||n>r.top+r.height-3)}function Dg(e,t,n){return e===`on`||e!==`off`&&Og(t,n.event)}function Og(e,t){return e===`altKey`?t.ctrlKey||t.metaKey:t.altKey}var kg=class{constructor(e,t,n,r){this.value=e,this.isComplete=t,this.hasLoadingMessage=n,this.options=r}},Ag=class extends O{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new B),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new jg(e=>this._triggerAsyncComputation(e),0)),this._syncComputationScheduler=this._register(new jg(e=>this._triggerSyncComputation(e),0)),this._loadingMessageScheduler=this._register(new jg(e=>this._triggerLoadingMessage(e),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&=(this._asyncIterable.cancel(),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=cc(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(e){il(e)}})()):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,n=this._state===4;this._onResult.fire(new kg(this._result.slice(0),t,n,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)}}cancel(){this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&=(this._asyncIterable.cancel(),null),this._result=[],this._options=void 0,this._state=0}get options(){return this._options}},jg=class extends O{constructor(e,t){super(),this._scheduler=this._register(new Vl(()=>e(this._options),t))}schedule(e,t){this._options=e,this._scheduler.schedule(t)}cancel(){this._scheduler.cancel()}},Mg=class{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new B,this._onDidResize=new B,this._sashListener=new b,this._size=new Wi(0,0),this._minSize=new Wi(0,0),this._maxSize=new Wi(2**53-1,2**53-1),this.domNode=document.createElement(`div`),this._eastSash=new Ca(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Ca(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Ca(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:rs.North}),this._southSash=new Ca(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:rs.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,n=0;this._sashListener.add(qu.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,n=0)})),this._sashListener.add(qu.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,n=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(r=>{e&&(n=r.currentX-r.startX,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(r=>{e&&(n=-(r.currentX-r.startX),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(r=>{e&&(t=-(r.currentY-r.startY),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(r=>{e&&(t=r.currentY-r.startY,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(qu.any(this._eastSash.onDidReset,this._westSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(qu.any(this._northSash.onDidReset,this._southSash.onDidReset)(e=>{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,n,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=n?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){let{height:n,width:r}=this._minSize,{height:i,width:a}=this._maxSize;e=Math.max(n,Math.min(i,e)),t=Math.max(r,Math.min(a,t));let o=new Wi(t,e);Wi.equals(o,this._size)||(this.domNode.style.height=e+`px`,this.domNode.style.width=t+`px`,this._size=o,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}},Ng=30,Pg=24,Fg=class extends O{constructor(e,t=new Wi(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new Mg),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position=`absolute`,this._resizableNode.minSize=Wi.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(e=>{this._resize(new Wi(e.dimension.width,e.dimension.height)),e.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?k.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!(!t||!n))return Uo(t).top+n.top-Ng}_availableVerticalSpaceBelow(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!t||!n)return;let r=Uo(t),i=gu(t.ownerDocument.body),a=r.top+n.top+n.height;return i.height-a-Pg}_findPositionPreference(e,t){let n=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),r=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),i=Math.min(e,Math.min(Math.max(r,n),e)),a;return a=this._editor.getOption(69).above?i<=r?1:2:i<=n?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)}},Ig,Lg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Rg=function(e,t){return function(n,r){t(n,r,e)}},zg,Bg=30,Vg=(Ig=class extends Fg{get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,n,r,i){let a=e.getOption(75)+8,o=new Wi(150,a);super(e,o),this._configurationService=n,this._accessibilityService=r,this._keybindingService=i,this._hover=this._register(new dl(!0)),this._onDidResize=this._register(new B),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new B),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new B),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=o,this._hoverVisibleKey=I.hoverVisible.bindTo(t),this._hoverFocusedKey=I.hoverFocused.bindTo(t),z(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(e=>{e.hasChanged(59)&&this._updateFont()}));let s=this._register(Bs(this._resizableNode.domNode));this._register(s.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(s.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll(e=>{this._onDidScroll.fire(e)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return zg.ID}static _applyDimensions(e,t,n){let r=typeof t==`number`?`${t}px`:t,i=typeof n==`number`?`${n}px`:n;e.style.width=r,e.style.height=i}_setContentsDomNodeDimensions(e,t){let n=this._hover.contentsDomNode;return zg._applyDimensions(n,e,t)}_setContainerDomNodeDimensions(e,t){let n=this._hover.containerDomNode;return zg._applyDimensions(n,e,t)}_setScrollableElementDimensions(e,t){let n=this._hover.scrollbar.getDomNode();return zg._applyDimensions(n,e,t)}_setHoverWidgetDimensions(e,t){this._setContainerDomNodeDimensions(e,t),this._setScrollableElementDimensions(e,t),this._setContentsDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,n){let r=typeof t==`number`?`${t}px`:t,i=typeof n==`number`?`${n}px`:n;e.style.maxWidth=r,e.style.maxHeight=i}_setHoverWidgetMaxDimensions(e,t){zg._applyMaxDimensions(this._hover.contentsDomNode,e,t),zg._applyMaxDimensions(this._hover.scrollbar.getDomNode(),e,t),zg._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 Wi(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){zg._lastDimensions=new Wi(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 t=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach(e=>{t+=e.clientHeight}),Math.min(e,t)}_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(e=>e.scrollWidth>e.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=this._contentWidth===void 0?0:this._contentWidth;return e||this._hover.containerDomNode.clientWidth<t?gu(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 n=Uo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Hg(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,n.left,n.top,n.width,n.height));let r=Hg(e,t,n.left,n.top,n.width,n.height);return r>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,r),!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),n=this._hover.contentsDomNode;n.style.fontSize=`${e}px`,n.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(`code`)).forEach(e=>this._editor.applyFontInfo(e))}_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,zg._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,750,zg._lastDimensions.width);this._resizableNode.maxSize=new Wi(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=hs(this._hover.containerDomNode),n=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,n)??1,this.handleContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();let r=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&bs(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel()??``);r&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+`, `+r)}hide(){if(!this._renderedHover)return;let e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Wi(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 Wi(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let e=this._contentWidth===void 0?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Wi(e,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let e=this._hover.contentsDomNode,t=hs(e),n=ns(e)+2;if(this._resizableNode.layout(t,n),this._setHoverWidgetDimensions(n,t),t=hs(e),n=ns(e),this._contentWidth=n,this._updateMinimumWidth(),this._resizableNode.layout(t,n),this._renderedHover?.showAtPosition){let e=hs(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,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-Bg})}scrollRight(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Bg})}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})}},zg=Ig,Ig.ID=`editor.contrib.resizableContentHoverWidget`,Ig._lastDimensions=new Wi(0,0),Ig);Vg=zg=Lg([Rg(1,Ls),Rg(2,Ea),Rg(3,ui),Rg(4,Ir)],Vg);function Hg(e,t,n,r,i,a){let o=n+i/2,s=r+a/2,c=Math.max(Math.abs(e-o)-i/2,0),l=Math.max(Math.abs(t-s)-a/2,0);return Math.sqrt(c*c+l*l)}var Ug=class e{constructor(e,t){this._editor=e,this._participants=t}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];let n=e.getModel(),r=t.range.startLineNumber;if(r>n.getLineCount())return[];let i=n.getLineMaxColumn(r);return e.getLineDecorations(r).filter(e=>{if(e.options.isWholeLine)return!0;let n=e.range.startLineNumber===r?e.range.startColumn:1,a=e.range.endLineNumber===r?e.range.endColumn:i;if(e.options.showIfCollapsed){if(n>t.range.startColumn+1||t.range.endColumn-1>a)return!1}else if(n>t.range.startColumn||t.range.endColumn>a)return!1;return!0})}computeAsync(t,n){let r=t.anchor;if(!this._editor.hasModel()||!r)return Ts.EMPTY;let i=e._getLineDecorations(this._editor,r);return Ts.merge(this._participants.map(e=>e.computeAsync?e.computeAsync(r,i,t.source,n):Ts.EMPTY))}computeSync(t){if(!this._editor.hasModel())return[];let n=t.anchor,r=e._getLineDecorations(this._editor,n),i=[];for(let e of this._participants)i=i.concat(e.computeSync(n,r,t.source));return kc(i)}},Wg=class{constructor(e,t,n){this.hoverParts=e,this.isComplete=t,this.options=n}filter(e){let t=this.hoverParts.filter(t=>t.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new Gg(this,t,this.isComplete,this.options)}},Gg=class extends Wg{constructor(e,t,n,r){super(t,n,r),this.original=e}filter(e){return this.original.filter(e)}},Kg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qg=function(e,t){return function(n,r){t(n,r,e)}},Jg=N,Yg=class extends O{get hasContent(){return this._hasContent}constructor(e,t){super(),this._keybindingService=e,this._hoverService=t,this.actions=[],this._hasContent=!1,this.hoverElement=Jg(`div.hover-row.status-bar`),this.hoverElement.tabIndex=0,this.actionsElement=z(this.hoverElement,Jg(`div.actions`))}addAction(e){let t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;this._hasContent=!0;let r=this._register(Jo.render(this.actionsElement,e,n));return this._register(this._hoverService.setupManagedHover(js(`element`),r.actionContainer,r.actionRenderedLabel)),this.actions.push(r),r}append(e){let t=z(this.actionsElement,e);return this._hasContent=!0,t}};Yg=Kg([qg(0,Ir),qg(1,_a)],Yg);var Xg,Zg=class e{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(e=>this._editor.getModel().getDecorationRange(e)).filter(e=>!!e);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(t){let n=this._editor.getModel().getDecorationsInRange(t);for(let t of n){let n=t.options;if(n===e._FIND_MATCH_DECORATION||n===e._FIND_MATCH_NO_OVERVIEW_DECORATION||n===e._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(t.id)}return 0}setCurrentFindMatch(t){let n=null,r=0;if(t)for(let e=0,i=this._decorations.length;e<i;e++){let i=this._editor.getModel().getDecorationRange(this._decorations[e]);if(t.equalsRange(i)){n=this._decorations[e],r=e+1;break}}return(this._highlightedDecorationId!==null||n!==null)&&this._editor.changeDecorations(t=>{if(this._highlightedDecorationId!==null&&(t.changeDecorationOptions(this._highlightedDecorationId,e._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),n!==null&&(this._highlightedDecorationId=n,t.changeDecorationOptions(this._highlightedDecorationId,e._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),n!==null){let r=this._editor.getModel().getDecorationRange(n);if(r.startLineNumber!==r.endLineNumber&&r.endColumn===1){let e=r.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);r=new S(r.startLineNumber,r.startColumn,e,t)}this._rangeHighlightDecorationId=t.addDecoration(r,e._RANGE_HIGHLIGHT_DECORATION)}}),r}set(t,n){this._editor.changeDecorations(r=>{let i=e._FIND_MATCH_DECORATION,a=[];if(t.length>1e3){i=e._FIND_MATCH_NO_OVERVIEW_DECORATION;let n=this._editor.getModel().getLineCount(),r=this._editor.getLayoutInfo().height/n,o=Math.max(2,Math.ceil(3/r)),s=t[0].range.startLineNumber,c=t[0].range.endLineNumber;for(let n=1,r=t.length;n<r;n++){let r=t[n].range;c+o>=r.startLineNumber?r.endLineNumber>c&&(c=r.endLineNumber):(a.push({range:new S(s,1,c,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),s=r.startLineNumber,c=r.endLineNumber)}a.push({range:new S(s,1,c,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let o=Array(t.length);for(let e=0,n=t.length;e<n;e++)o[e]={range:t[e].range,options:i};this._decorations=r.deltaDecorations(this._decorations,o),this._overviewRulerApproximateDecorations=r.deltaDecorations(this._overviewRulerApproximateDecorations,a),this._rangeHighlightDecorationId&&=(r.removeDecoration(this._rangeHighlightDecorationId),null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(e=>r.removeDecoration(e)),this._findScopeDecorationIds=[]),n?.length&&(this._findScopeDecorationIds=n.map(t=>r.addDecoration(t,e._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){let n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(!(!r||r.endLineNumber>e.lineNumber)&&(r.endLineNumber<e.lineNumber||!(r.endColumn>e.column)))return r}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,n=this._decorations.length;t<n;t++){let n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(!(!r||r.startLineNumber<e.lineNumber)&&(r.startLineNumber>e.lineNumber||!(r.startColumn<e.column)))return r}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}};Xg=Zg,Xg._CURRENT_FIND_MATCH_DECORATION=G.register({description:`current-find-match`,stickiness:1,zIndex:13,className:`currentFindMatch`,inlineClassName:`currentFindMatchInline`,showIfCollapsed:!0,overviewRuler:{color:Al(ye),position:Hu.Center},minimap:{color:Al(mt),position:1}}),Xg._FIND_MATCH_DECORATION=G.register({description:`find-match`,stickiness:1,zIndex:10,className:`findMatch`,inlineClassName:`findMatchInline`,showIfCollapsed:!0,overviewRuler:{color:Al(ye),position:Hu.Center},minimap:{color:Al(mt),position:1}}),Xg._FIND_MATCH_NO_OVERVIEW_DECORATION=G.register({description:`find-match-no-overview`,stickiness:1,className:`findMatch`,showIfCollapsed:!0}),Xg._FIND_MATCH_ONLY_OVERVIEW_DECORATION=G.register({description:`find-match-only-overview`,stickiness:1,overviewRuler:{color:Al(ye),position:Hu.Center}}),Xg._RANGE_HIGHLIGHT_DECORATION=G.register({description:`find-range-highlight`,stickiness:1,className:`rangeHighlight`,isWholeLine:!0}),Xg._FIND_SCOPE_DECORATION=G.register({description:`find-scope`,className:`findScope`,isWholeLine:!0});var Qg=class{constructor(e,t,n){this._editorSelection=e,this._ranges=t,this._replaceStrings=n,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){let e=[];for(let t=0;t<this._ranges.length;t++)e.push({range:this._ranges[t],text:this._replaceStrings[t]});e.sort((e,t)=>S.compareRangesUsingStarts(e.range,t.range));let n=[],r=e[0];for(let t=1;t<e.length;t++)r.range.endLineNumber===e[t].range.startLineNumber&&r.range.endColumn===e[t].range.startColumn?(r.range=r.range.plusRange(e[t].range),r.text+=e[t].text):(n.push(r),r=e[t]);n.push(r);for(let e of n)t.addEditOperation(e.range,e.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}};function $g(e,t){if(e&&e[0]!==``){let n=e_(e,t,`-`),r=e_(e,t,`_`);return n&&!r?t_(e,t,`-`):!n&&r?t_(e,t,`_`):e[0].toUpperCase()===e[0]?t.toUpperCase():e[0].toLowerCase()===e[0]?t.toLowerCase():Mt(e[0][0])&&t.length>0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function e_(e,t,n){return e[0].indexOf(n)!==-1&&t.indexOf(n)!==-1&&e[0].split(n).length===t.split(n).length}function t_(e,t,n){let r=t.split(n),i=e[0].split(n),a=``;return r.forEach((e,t)=>{a+=$g([i[t]],e)+n}),a.slice(0,-1)}var n_=class{constructor(e){this.staticValue=e,this.kind=0}},r_=class{constructor(e){this.pieces=e,this.kind=1}},i_=class e{static fromStaticValue(t){return new e([a_.staticValue(t)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){this._state=!e||e.length===0?new n_(``):e.length===1&&e[0].staticValue!==null?new n_(e[0].staticValue):new r_(e)}buildReplaceString(t,n){if(this._state.kind===0)return n?$g(t,this._state.staticValue):this._state.staticValue;let r=``;for(let n=0,i=this._state.pieces.length;n<i;n++){let i=this._state.pieces[n];if(i.staticValue!==null){r+=i.staticValue;continue}let a=e._substitute(i.matchIndex,t);if(i.caseOps!==null&&i.caseOps.length>0){let e=[],t=i.caseOps.length,n=0;for(let r=0,o=a.length;r<o;r++){if(n>=t){e.push(a.slice(r));break}switch(i.caseOps[n]){case`U`:e.push(a[r].toUpperCase());break;case`u`:e.push(a[r].toUpperCase()),n++;break;case`L`:e.push(a[r].toLowerCase());break;case`l`:e.push(a[r].toLowerCase()),n++;break;default:e.push(a[r])}}a=e.join(``)}r+=a}return r}static _substitute(e,t){if(t===null)return``;if(e===0)return t[0];let n=``;for(;e>0;){if(e<t.length)return(t[e]||``)+n;n=String(e%10)+n,e=Math.floor(e/10)}return`$`+n}},a_=class e{static staticValue(t){return new e(t,-1,null)}static caseOps(t,n){return new e(null,t,n)}constructor(e,t,n){this.staticValue=e,this.matchIndex=t,this.caseOps=!n||n.length===0?null:n.slice(0)}},o_=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,n){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=a_.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),this._result[this._resultLen++]=a_.caseOps(e,n),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=a_.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),new i_(this._result)}};function s_(e){if(!e||e.length===0)return new i_(null);let t=[],n=new o_(e);for(let r=0,i=e.length;r<i;r++){let a=e.charCodeAt(r);if(a===92){if(r++,r>=i)break;let a=e.charCodeAt(r);switch(a){case 92:n.emitUnchanged(r-1),n.emitStatic(`\\`,r+1);break;case 110:n.emitUnchanged(r-1),n.emitStatic(`
|
|
6
|
-
`,r+1);break;case 116:n.emitUnchanged(r-1),n.emitStatic(` `,r+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(r-1),n.emitStatic(``,r+1),t.push(String.fromCharCode(a))}continue}if(a===36){if(r++,r>=i)break;let a=e.charCodeAt(r);if(a===36){n.emitUnchanged(r-1),n.emitStatic(`$`,r+1);continue}if(a===48||a===38){n.emitUnchanged(r-1),n.emitMatchIndex(0,r+1,t),t.length=0;continue}if(49<=a&&a<=57){let o=a-48;if(r+1<i){let i=e.charCodeAt(r+1);if(48<=i&&i<=57){r++,o=o*10+(i-48),n.emitUnchanged(r-2),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}n.emitUnchanged(r-1),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}}return n.finalize()}var c_=new D(`findWidgetVisible`,!1);c_.toNegated();var l_=new D(`findInputFocussed`,!1),u_=new D(`replaceInputFocussed`,!1),d_=new D(`findWidgetFocused`,!1),f_={primary:545,mac:{primary:2593}},p_={primary:565,mac:{primary:2613}},m_={primary:560,mac:{primary:2608}},h_={primary:554,mac:{primary:2602}},g_={primary:558,mac:{primary:2606}},__={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`},v_=19999,y_=240,b_=class e{constructor(e,t){this._toDispose=new b,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new to,this._decorations=new Zg(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Vl(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(e=>{(e.reason===3||e.reason===5||e.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,_(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)},y_)):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 n=null;t===void 0?n=this._decorations.getFindScopes():t!==null&&(n=Array.isArray(t)?t:[t]),n!==null&&(n=n.map(e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return e.endColumn===1&&--t,new S(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e}));let r=this._findMatches(n,!1,v_);this._decorations.set(r,n);let i=this._editor.getSelection(),a=this._decorations.getCurrentMatchesPosition(i);if(a===0&&r.length>0){let e=qa(r.map(e=>e.range),e=>S.compareRangesUsingStarts(e,i)>=0);a=e>0?e-1+1:a}this._state.changeMatchInfo(a,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:n,column:r}=e,i=this._editor.getModel();return t||r===1?(n===1?n=i.getLineCount():n--,r=i.getLineMaxColumn(n)):r--,new k(n,r)}_moveToPrevMatch(t,n=!1){if(!this._state.canNavigateBack()){let e=this._decorations.matchAfterPosition(t);e&&this._setCurrentFindMatch(e);return}if(this._decorations.getCount()<19999){let e=this._decorations.matchBeforePosition(t);e&&e.isEmpty()&&e.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),e=this._decorations.matchBeforePosition(t)),e&&this._setCurrentFindMatch(e);return}if(this._cannotFind())return;let r=this._decorations.getFindScope(),i=e._getSearchRange(this._editor.getModel(),r);i.getEndPosition().isBefore(t)&&(t=i.getEndPosition()),t.isBefore(i.getStartPosition())&&(t=i.getEndPosition());let{lineNumber:a,column:o}=t,s=this._editor.getModel(),c=new k(a,o),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(l&&l.range.isEmpty()&&l.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1)),l){if(!n&&!i.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:n,column:r}=e,i=this._editor.getModel();return t||r===i.getLineMaxColumn(n)?(n===i.getLineCount()?n=1:n++,r=1):r++,new k(n,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){let t=this._decorations.matchBeforePosition(e);t&&this._setCurrentFindMatch(t);return}if(this._decorations.getCount()<19999){let t=this._decorations.matchAfterPosition(e);t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),t&&this._setCurrentFindMatch(t);return}let t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(t,n,r,i=!1){if(this._cannotFind())return null;let a=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),a);o.getEndPosition().isBefore(t)&&(t=o.getStartPosition()),t.isBefore(o.getStartPosition())&&(t=o.getStartPosition());let{lineNumber:s,column:c}=t,l=this._editor.getModel(),u=new k(s,c),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n);return r&&d&&d.range.isEmpty()&&d.range.getStartPosition().equals(u)&&(u=this._nextSearchPosition(u),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n)),d?!i&&!o.containsRange(d.range)?this._getNextMatch(d.range.getEndPosition(),n,r,!0):d: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?s_(this._state.replaceString):i_.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n){if(t.equalsRange(n.range)){let r=e.buildReplaceString(n.matches,this._state.preserveCase),i=new ct(t,r);this._executeEditorCommand(`replace`,i),this._decorations.setStartPosition(new k(t.startLineNumber,t.startColumn+r.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}}_findMatches(t,n,r){let i=(t||[null]).map(t=>e._getSearchRange(this._editor.getModel(),t));return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n,r)}replaceAll(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=19999?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){let e=new Le(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e=`mu`;t.ignoreCase&&(e+=`i`),t.global&&(e+=`g`),t=new RegExp(t.source,e)}let n=this._editor.getModel(),r=n.getValue(1),i=n.getFullModelRange(),a=this._getReplacePattern(),o,s=this._state.preserveCase;o=a.hasReplacementPatterns||s?r.replace(t,function(){return a.buildReplaceString(arguments,s)}):r.replace(t,a.buildReplaceString(null,s));let c=new Bt(i,o,this._editor.getSelection());this._executeEditorCommand(`replaceAll`,c)}_regularReplaceAll(e){let t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let e=0,i=n.length;e<i;e++)r[e]=t.buildReplaceString(n[e].matches,this._state.preserveCase);let i=new Qg(this._editor.getSelection(),n.map(e=>e.range),r);this._executeEditorCommand(`replaceAll`,i)}selectAllMatches(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes(),t=this._findMatches(e,!1,1073741824).map(e=>new j(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)),n=this._editor.getSelection();for(let e=0,r=t.length;e<r;e++)if(t[e].equalsRange(n)){t=[n].concat(t.slice(0,e),t.slice(e+1));break}this._editor.setSelections(t)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}},x_=R(5,`input`),S_=R(6,`Preserve Case`),C_=class extends xu{constructor(e){super({icon:w.preserveCase,title:S_+e.appendTitle,isChecked:e.isChecked,hoverLifecycleOptions:e.hoverLifecycleOptions,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},w_=class extends Wa{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(e,t,n,r){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new B),this._onKeyDown=this._register(new B),this._onMouseDown=this._register(new B),this._onInput=this._register(new B),this._onKeyUp=this._register(new B),this._onPreserveCaseKeyDown=this._register(new B),this.contextViewProvider=t,this.placeholder=r.placeholder||``,this.validation=r.validation,this.label=r.label||x_;let i=r.appendPreserveCaseLabel||``,a=r.history||new Set([]),o=!!r.flexibleHeight,s=!!r.flexibleWidth,c=r.flexibleMaxHeight;this.domNode=document.createElement(`div`),this.domNode.classList.add(`monaco-findInput`),this.inputBox=this._register(new Qc(this.domNode,this.contextViewProvider,{ariaLabel:this.label||``,placeholder:this.placeholder||``,validationOptions:{validation:this.validation},history:a,showHistoryHint:r.showHistoryHint,flexibleHeight:o,flexibleWidth:s,flexibleMaxHeight:c,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new C_({appendTitle:i,isChecked:!1,hoverLifecycleOptions:r.hoverLifecycleOptions,...r.toggleStyles})),this._register(this.preserveCase.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(e=>{this._onPreserveCaseKeyDown.fire(e)})),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;let l=[this.preserveCase.domNode];this.onkeydown(this.domNode,e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){let t=l.indexOf(this.domNode.ownerDocument.activeElement);if(t>=0){let n=-1;e.equals(17)?n=(t+1)%l.length:e.equals(15)&&(n=t===0?l.length-1:t-1),e.equals(9)?(l[t].blur(),this.inputBox.focus()):n>=0&&l[n].focus(),ua.stop(e,!0)}}});let u=document.createElement(`div`);u.className=`controls`,u.style.display=this._showOptionButtons?`block`:`none`,u.appendChild(this.preserveCase.domNode),this.domNode.appendChild(u),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}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`}},T_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},E_=function(e,t){return function(n,r){t(n,r,e)}},D_=new D(`suggestWidgetVisible`,!1,R(1760,`Whether suggestion are visible`)),O_=`historyNavigationWidgetFocus`,k_=`historyNavigationForwardsEnabled`,A_=`historyNavigationBackwardsEnabled`,j_=void 0,M_=[];function N_(e,t){if(M_.includes(t))throw Error(`Cannot register the same widget multiple times`);M_.push(t);let n=new b,r=new D(O_,!1).bindTo(e),i=new D(k_,!0).bindTo(e),a=new D(A_,!0).bindTo(e),o=()=>{r.set(!0),j_=t},s=()=>{r.set(!1),j_===t&&(j_=void 0)};return Ga(t.element)&&o(),n.add(t.onDidFocus(()=>o())),n.add(t.onDidBlur(()=>s())),n.add(Tn(()=>{M_.splice(M_.indexOf(t),1),s()})),{historyNavigationForwardsEnablement:i,historyNavigationBackwardsEnablement:a,dispose(){n.dispose()}}}var P_=class extends za{constructor(e,t,n,r){super(e,t,n);let i=this._register(r.createScoped(this.inputBox.element));this._register(N_(i,this.inputBox))}};P_=T_([E_(3,Ls)],P_);var F_=class extends w_{constructor(e,t,n,r,i=!1){super(e,t,i,n);let a=this._register(r.createScoped(this.inputBox.element));this._register(N_(a,this.inputBox))}};F_=T_([E_(3,Ls)],F_),Me.registerCommandAndKeybindingRule({id:`history.showPrevious`,weight:200,when:g.and(g.has(O_),g.equals(A_,!0),g.not(`isComposing`),D_.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{j_?.showPreviousValue()}}),Me.registerCommandAndKeybindingRule({id:`history.showNext`,weight:200,when:g.and(g.has(O_),g.equals(k_,!0),g.not(`isComposing`),D_.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{j_?.showNextValue()}});function I_(e){return e.lookupKeybinding(`history.showPrevious`)?.getElectronAccelerator()===`Up`&&e.lookupKeybinding(`history.showNext`)?.getElectronAccelerator()===`Down`}var L_,R_=$s(`find-collapsed`,w.chevronRight,R(996,`Icon to indicate that the editor find widget is collapsed.`)),z_=$s(`find-expanded`,w.chevronDown,R(997,`Icon to indicate that the editor find widget is expanded.`)),B_=$s(`find-selection`,w.selection,R(998,`Icon for 'Find in Selection' in the editor find widget.`)),V_=$s(`find-replace`,w.replace,R(999,`Icon for 'Replace' in the editor find widget.`)),H_=$s(`find-replace-all`,w.replaceAll,R(1e3,`Icon for 'Replace All' in the editor find widget.`)),U_=$s(`find-previous-match`,w.arrowUp,R(1001,`Icon for 'Find Previous' in the editor find widget.`)),W_=$s(`find-next-match`,w.arrowDown,R(1002,`Icon for 'Find Next' in the editor find widget.`)),G_=R(1003,`Find / Replace`),K_=R(1004,`Find`),q_=R(1005,`Find`),J_=R(1006,`Previous Match`),Y_=R(1007,`Next Match`),X_=R(1008,`Find in Selection`),Z_=R(1009,`Close`),Q_=R(1010,`Replace`),$_=R(1011,`Replace`),ev=R(1012,`Replace`),tv=R(1013,`Replace All`),nv=R(1014,`Toggle Replace`),rv=R(1015,`Only the first {0} results are highlighted, but all find operations work on the entire text.`,v_),iv=R(1016,`{0} of {1}`),av=R(1017,`No results`),ov=419,sv=221,cv=69,lv=33,uv=di?256:2048,dv=class{constructor(e){this.afterLineNumber=e,this.heightInPx=lv,this.suppressMouseDown=!1,this.domNode=document.createElement(`div`),this.domNode.className=`dock-find-viewzone`}};function fv(e,t,n){let r=!!t.match(/\n/);if(n&&r&&n.selectionStart>0){e.stopPropagation();return}}function pv(e,t,n){let r=!!t.match(/\n/);if(n&&r&&n.selectionEnd<n.value.length){e.stopPropagation();return}}var mv=class e extends Wa{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._hoverService=o,this._findWidgetSearchHistory=s,this._replaceWidgetHistory=c,this._configurationService=l,this._accessibilityService=u,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=n,this._contextViewProvider=r,this._keybindingService=i,this._contextKeyService=a,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new Wc(500),this._register(Tn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(e=>{if(e.hasChanged(104)&&(this._codeEditor.getOption(104)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(165)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(50)){let e=this._codeEditor.getOption(50).loop;this._state.change({loop:e},!1);let t=this._codeEditor.getOption(50).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new dv(0),this._showViewZone()),!t&&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 e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}})),this._findInputFocused=l_.bindTo(a),this._findFocusTracker=this._register(Bs(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._lastFocusedInputWasReplace=!1,this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=u_.bindTo(a),this._replaceFocusTracker=this._register(Bs(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._lastFocusedInputWasReplace=!0,this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._findWidgetFocused=d_.bindTo(a),this._widgetFocusTracker=this._register(Bs(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(H(this._domNode,`focusin`,e=>{Gr(e.target)&&(this._lastFocusedElement=e.target)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop&&(this._viewZone=new dv(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(e=>{if(e.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return e.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=ns(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 e=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle(`no-results`,e),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,il)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=cv+`px`,this._state.matchesCount>=19999?this._matchesCount.title=rv:this._matchesCount.title=``,this._matchesCount.firstChild?.remove();let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+=`+`);let n=String(this._state.matchesPosition);n===`0`&&(n=`?`),e=xt(iv,n,t)}else e=av;this._matchesCount.appendChild(document.createTextNode(e)),hl(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),cv=Math.max(cv,this._matchesCount.clientWidth)}_getAriaLabel(e,t,n){let r;if(e===av)r=n===``?R(1018,`{0} found`,e):R(1019,`{0} found for '{1}'`,e,n);else if(t){let i=R(1020,`{0} found for '{1}', at {2}`,e,n,t.startLineNumber+`:`+t.startColumn),a=this._codeEditor.getModel();r=a&&t.startLineNumber<=a.getLineCount()&&t.startLineNumber>=1?`${a.getLineContent(t.startLineNumber)}, ${i}`:i}else r=R(1021,`{0} found for '{1}'`,e,n);return r}_updateToggleSelectionFindButton(){let e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,n=this._toggleSelectionFind.checked;this._isVisible&&(n||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 n=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&n)}_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 t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add(`visible`),this._domNode.setAttribute(`aria-hidden`,`false`),this._updateFindInputAriaLabel()},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&e){let n=this._codeEditor.getDomNode();if(n){let r=Uo(n),i=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),a=r.left+(i?i.left:0),o=i?i.top:0;if(this._viewZone&&o<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);let n=Cc(this._domNode).left;a>n&&(t=!1);let i=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(i?i.left:0)>n&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!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 t=this._viewZone;this._viewZoneId!==void 0||!t||this._codeEditor.changeViewZones(n=>{t.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new dv(0));let t=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){let r=this._getHeight();if(r===t.heightInPx)return;let i=r-t.heightInPx;t.heightInPx=r,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+i);return}{let r=this._getHeight();if(r-=this._codeEditor.getOption(96).top,r<=0)return;t.heightInPx=r,this._viewZoneId=n.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r)}})}_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),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}this._domNode.classList.contains(`hiddenEditor`)&&this._domNode.classList.remove(`hiddenEditor`);let t=e.width,n=e.minimap.minimapWidth,r=!1,i=!1,a=!1;if(this._resized&&ns(this._domNode)>ov){this._domNode.style.maxWidth=`${t-28-n-15}px`,this._replaceInput.width=ns(this._findInput.domNode);return}if(447+n>=t&&(i=!0),447+n-cv>=t&&(a=!0),447+n-cv>=t+50&&(r=!0),this._domNode.classList.toggle(`collapsed-find-widget`,r),this._domNode.classList.toggle(`narrow-find-widget`,a),this._domNode.classList.toggle(`reduced-find-widget`,i),!a&&!r&&(this._domNode.style.maxWidth=`${t-28-n-15}px`),this._findInput.layout({collapsedFindWidget:r,narrowFindWidget:a,reducedFindWidget:i}),this._resized){let e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=ns(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(e=>{e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));let t=this._state.currentMatch;return e.startLineNumber!==e.endLineNumber&&!S.equalsRange(e,t)?e:null}).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(uv|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}this._findInput.inputBox.insertAtCursor(`
|
|
7
|
-
`),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 fv(e,this._findInput.getValue(),this._findInput.domNode.querySelector(`textarea`));if(e.equals(18))return pv(e,this._findInput.getValue(),this._findInput.domNode.querySelector(`textarea`))}_onReplaceInputKeyDown(e){if(e.equals(uv|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}this._replaceInput.inputBox.insertAtCursor(`
|
|
8
|
-
`),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 fv(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(`textarea`));if(e.equals(18))return pv(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(`textarea`))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){return this._keybindingService.appendKeybinding(``,e)}_buildDomNode(){let e=this._codeEditor.getOption(50).history,t=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new P_(null,this._contextViewProvider,{width:sv,label:K_,placeholder:q_,appendCaseSensitiveLabel:this._keybindingLabelFor(__.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(__.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(__.ToggleRegexCommand),validation:e=>{if(e.length===0||!this._findInput.getRegex())return null;try{return new RegExp(e,`gu`),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>I_(this._keybindingService),inputBoxStyles:ao,toggleStyles:yo,history:e===`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(e=>{e.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(e)})),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(e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())})),this._register(this._findInput.onRegexKeyDown(e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(e=>{this._tryUpdateHeight()&&this._showViewZone()})),Si&&this._register(this._findInput.onMouseDown(e=>this._onFindInputMouseDown(e))),this._matchesCount=document.createElement(`div`),this._matchesCount.className=`matchesCount`,this._updateMatchesCount();let n={groupId:`find-widget`};this._prevBtn=this._register(new hv({label:J_+this._keybindingLabelFor(__.PreviousMatchFindAction),icon:U_,hoverLifecycleOptions:n,onTrigger:()=>{ta(this._codeEditor.getAction(__.PreviousMatchFindAction)).run().then(void 0,il)}},this._hoverService)),this._nextBtn=this._register(new hv({label:Y_+this._keybindingLabelFor(__.NextMatchFindAction),icon:W_,hoverLifecycleOptions:n,onTrigger:()=>{ta(this._codeEditor.getAction(__.NextMatchFindAction)).run().then(void 0,il)}},this._hoverService));let r=document.createElement(`div`);r.className=`find-part`,r.appendChild(this._findInput.domNode);let i=document.createElement(`div`);i.className=`find-actions`,r.appendChild(i),i.appendChild(this._matchesCount),i.appendChild(this._prevBtn.domNode),i.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new xu({icon:B_,title:X_+this._keybindingLabelFor(__.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:n,inputActiveOptionBackground:Fn(Ft),inputActiveOptionBorder:Fn(hn),inputActiveOptionForeground:Fn(Mr)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map(e=>(e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)})),i.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new hv({label:Z_+this._keybindingLabelFor(__.CloseFindWidgetCommand),icon:ee,hoverLifecycleOptions:n,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new F_(null,void 0,{label:Q_,placeholder:$_,appendPreserveCaseLabel:this._keybindingLabelFor(__.TogglePreserveCaseCommand),history:t===`workspace`?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>I_(this._keybindingService),inputBoxStyles:ao,toggleStyles:yo,hoverLifecycleOptions:n},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(e=>this._onReplaceInputKeyDown(e))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(e=>{e.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(),e.preventDefault())})),this._replaceBtn=this._register(new hv({label:ev+this._keybindingLabelFor(__.ReplaceOneAction),icon:V_,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new hv({label:tv+this._keybindingLabelFor(__.ReplaceAllAction),icon:H_,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let a=document.createElement(`div`);a.className=`replace-part`,a.appendChild(this._replaceInput.domNode);let o=document.createElement(`div`);o.className=`replace-actions`,a.appendChild(o),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new hv({label:nv,className:`codicon toggle left`,onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=ns(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=G_,this._domNode.role=`dialog`,this._domNode.style.width=`${ov}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(r),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Ca(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let s=ov;this._register(this._resizeSash.onDidStart(()=>{s=ns(this._domNode)})),this._register(this._resizeSash.onDidChange(e=>{this._resized=!0;let t=s+e.startX-e.currentX;t<ov||t>(parseFloat(vo(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=ns(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{let e=ns(this._domNode);if(e<ov)return;let t=ov;if(!this._resized||e===ov){let e=this._codeEditor.getLayoutInfo();t=e.width-28-e.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=ns(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let e=K_,t=Q_;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue(`accessibility.verbosity.find`)&&this._accessibilityService.isScreenReaderOptimized()){let n=this._keybindingService.lookupKeybinding(`editor.action.accessibilityHelp`)?.getAriaLabel();if(n){let r=R(1022,`Press {0} for accessibility help`,n);e=R(1023,`{0}, {1}`,e,r),t=R(1024,`{0}, {1}`,t,r)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=ho(()=>{this._isVisible&&(this._findInput.inputBox.setAriaLabel(K_),this._replaceInput.inputBox.setAriaLabel(Q_))},1e3)}this._findInput.inputBox.setAriaLabel(e),this._replaceInput.inputBox.setAriaLabel(t)}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)}};L_=mv,L_.ID=`editor.contrib.findWidget`;var hv=class extends Wa{constructor(e,t){super(),this._opts=e;let n=`button`;this._opts.className&&(n=n+` `+this._opts.className),this._opts.icon&&(n=n+` `+tt.asClassName(this._opts.icon)),this._domNode=document.createElement(`div`),this._domNode.tabIndex=0,this._domNode.className=n,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,e=>{this._opts.onTrigger(),e.preventDefault()}),this.onkeydown(this._domNode,e=>{if(e.equals(10)||e.equals(3)){this._opts.onTrigger(),e.preventDefault();return}this._opts.onKeyDown?.(e)})}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(...tt.asClassNameArray(R_)),this._domNode.classList.add(...tt.asClassNameArray(z_))):(this._domNode.classList.remove(...tt.asClassNameArray(z_)),this._domNode.classList.add(...tt.asClassNameArray(R_)))}};Fc((e,t)=>{let n=e.getColor(jc);n&&t.addRule(`.monaco-editor .findMatch { border: 1px ${ti(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`);let r=e.getColor(Cs);r&&t.addRule(`.monaco-editor .findScope { border: 1px ${ti(e.type)?`dashed`:`solid`} ${r}; }`);let i=e.getColor(Js);i&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${i}; }`);let a=e.getColor(To);a&&t.addRule(`.monaco-editor .findMatchInline { color: ${a}; }`);let o=e.getColor(El);o&&t.addRule(`.monaco-editor .currentFindMatchInline { color: ${o}; }`)});var gv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_v=function(e,t){return function(n,r){t(n,r,e)}},vv=class extends O{constructor(e,t,n,r){super(),this._container=e,this._getContent=t,this._clipboardService=n,this._hoverService=r,this._container.classList.add(`hover-row-with-copy`),this._button=this._register(new hv({label:R(1171,`Copy`),icon:w.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),Wt(R(1172,`Copied to clipboard`)))}};vv=gv([_v(2,we),_v(3,_a)],vv);var yv=class{constructor(e,t,n){this.provider=e,this.hover=t,this.ordinal=n}};async function bv(e,t,n,r,i){let a=await Promise.resolve(e.provideHover(n,r,i)).catch(xc);if(!(!a||!Cv(a)))return new yv(e,a,t)}function xv(e,t,n,r,i=!1){let a=e.ordered(t,i).map((e,i)=>bv(e,i,t,n,r));return Ts.fromPromisesResolveOrder(a).coalesce()}async function Sv(e,t,n,r,i=!1){let a=[];for await(let o of xv(e,t,n,r,i))a.push(o.hover);return a}Tr(`_executeHoverProvider`,(e,t,n)=>Sv(e.get(U).hoverProvider,t,n,L.None)),Tr(`_executeHoverProvider_recursive`,(e,t,n)=>Sv(e.get(U).hoverProvider,t,n,L.None,!0));function Cv(e){let t=e.range!==void 0,n=e.contents!==void 0&&e.contents&&e.contents.length>0;return t&&n}var wv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Tv=function(e,t){return function(n,r){t(n,r,e)}},Ev=N,Dv=$s(`hover-increase-verbosity`,w.addSmall,R(1173,`Icon for increaseing hover verbosity.`)),Ov=$s(`hover-decrease-verbosity`,w.removeSmall,R(1174,`Icon for decreasing hover verbosity.`)),kv=class{constructor(e,t,n,r,i,a=void 0){this.owner=e,this.range=t,this.contents=n,this.isBeforeContent=r,this.ordinal=i,this.source=a}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Av=class{constructor(e,t,n){this.hover=e,this.hoverProvider=t,this.hoverPosition=n}supportsVerbosityAction(e){switch(e){case Vn.Increase:return this.hover.canIncreaseVerbosity??!1;case Vn.Decrease:return this.hover.canDecreaseVerbosity??!1}}},jv=class{constructor(e,t,n,r,i,a,o){this._editor=e,this._markdownRendererService=t,this._configurationService=n,this._languageFeaturesService=r,this._keybindingService=i,this._hoverService=a,this._commandService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new kv(this,e.range,[new mi().appendText(R(1175,`Loading...`))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),r=e.range.startLineNumber,i=n.getLineMaxColumn(r),a=[],o=1e3,s=n.getLineLength(r),c=n.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),l=this._editor.getOption(133),u=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:c}),d=this._editor.getOption(69).showLongLineWarning,f=!1;l>=0&&s>l&&e.range.startColumn>=l&&(f=!0,d&&a.push(new kv(this,e.range,[{value:R(1176,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`. [Don't Show Again](command:{0})",og),isTrusted:!0}],!1,o++))),!f&&typeof u==`number`&&s>=u&&d&&a.push(new kv(this,e.range,[{value:R(1177,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`. [Don't Show Again](command:{0})",og),isTrusted:!0}],!1,o++));let p=!1;for(let n of t){let t=n.range.startLineNumber===r?n.range.startColumn:1,s=n.range.endLineNumber===r?n.range.endColumn:i,c=n.options.hoverMessage;if(!c||gt(c))continue;n.options.beforeContentClassName&&(p=!0);let l=new S(e.range.startLineNumber,t,e.range.startLineNumber,s);a.push(new kv(this,l,Su(c),p,o++))}return a}computeAsync(e,t,n,r){if(!this._editor.hasModel()||e.type!==1)return Ts.EMPTY;let i=this._editor.getModel(),a=this._languageFeaturesService.hoverProvider;return a.has(i)?this._getMarkdownHovers(a,i,e,r):Ts.EMPTY}async*_getMarkdownHovers(e,t,n,r){let i=n.range.getStartPosition(),a=xv(e,t,i,r);for await(let e of a)if(!gt(e.hover.contents)){let t=e.hover.range?S.lift(e.hover.range):n.range,r=new Av(e.hover,e.provider,i);yield new kv(this,t,e.hover.contents,!1,e.ordinal,r)}}renderHoverParts(e,t){return this._renderedHoverParts=new Nv(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))}};jv=wv([Tv(1,lt),Tv(2,Ea),Tv(3,U),Tv(4,Ir),Tv(5,_a),Tv(6,or)],jv);var Mv=class{constructor(e,t,n,r){this.hoverPart=e,this.hoverElement=t,this.disposables=n,this.actionsContainer=r}dispose(){this.disposables.dispose()}},Nv=class{constructor(e,t,n,r,i,a,o,s,c,l){this._hoverParticipant=n,this._editor=r,this._commandService=i,this._keybindingService=a,this._hoverService=o,this._configurationService=s,this._markdownRendererService=c,this._onFinishedRendering=l,this._ongoingHoverOperations=new Map,this._disposables=new b,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Tn(()=>{this.renderedHoverParts.forEach(e=>{e.dispose()}),this._ongoingHoverOperations.forEach(e=>{e.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,n){return e.sort(xs(e=>e.ordinal,ke)),e.map(e=>{let r=this._renderHoverPart(e,n);return t.appendChild(r.hoverElement),r})}_renderHoverPart(e,t){let n=this._renderMarkdownHover(e,t),r=n.hoverElement,i=e.source,a=new b;if(a.add(n),!i)return new Mv(e,r,a);let o=i.supportsVerbosityAction(Vn.Increase),s=i.supportsVerbosityAction(Vn.Decrease);if(!o&&!s)return new Mv(e,r,a);let c=Ev(`div.verbosity-actions`);r.prepend(c);let l=Ev(`div.verbosity-actions-inner`);return c.append(l),a.add(this._renderHoverExpansionAction(l,Vn.Increase,o)),a.add(this._renderHoverExpansionAction(l,Vn.Decrease,s)),new Mv(e,r,a,l)}_renderMarkdownHover(e,t){return Fv(this._editor,e,this._markdownRendererService,t)}_renderHoverExpansionAction(e,t,n){let r=new b,i=t===Vn.Increase,a=z(e,Ev(tt.asCSSSelector(i?Dv:Ov)));a.tabIndex=0;let o=r.add(new Er(`mouse`,void 0,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService));if(r.add(this._hoverService.setupManagedHover(o,a,Iv(this._keybindingService,t))),!n)return a.classList.add(`disabled`),r;a.classList.add(`enabled`);let s=()=>this._commandService.executeCommand(t===Vn.Increase?ng:ig,{focus:!0});return r.add(new Co(a,s)),r.add(new Oc(a,s,[3,10])),r}handleScroll(e){this.renderedHoverParts.forEach(t=>{let n=t.actionsContainer;if(!n)return;let r=t.hoverElement,i=e.scrollTop+e.height,a=r.offsetTop,o=r.clientHeight,s=a+o,c;c=s<=i||a>=i?o-22:i-a-22,n.style.top=`${c}px`})}async updateMarkdownHoverPartVerbosityLevel(e,t){let n=this._editor.getModel();if(!n)return;let r=this._getRenderedHoverPartAtIndex(t),i=r?.hoverPart.source;if(!r||!i?.supportsVerbosityAction(e))return;let a=await this._fetchHover(i,n,e);if(!a)return;let o=new Av(a,i.hoverProvider,i.hoverPosition),s=r.hoverPart,c=new kv(this._hoverParticipant,s.range,a.contents,s.isBeforeContent,s.ordinal,o),l=this._updateRenderedHoverPart(t,c);if(l)return{hoverPart:c,hoverElement:l.hoverElement}}getAccessibleContent(e){let t=this.renderedHoverParts.findIndex(t=>t.hoverPart===e);if(t===-1)return;let n=this._getRenderedHoverPartAtIndex(t);if(n)return n.hoverElement.innerText.replace(/[^\S\n\r]+/gu,` `)}async _fetchHover(e,t,n){let r=n===Vn.Increase?1:-1,i=e.hoverProvider,a=this._ongoingHoverOperations.get(i);a&&(a.tokenSource.cancel(),r+=a.verbosityDelta);let o=new Eu;this._ongoingHoverOperations.set(i,{verbosityDelta:r,tokenSource:o});let s={verbosityRequest:{verbosityDelta:r,previousHover:e.hover}},c;try{c=await Promise.resolve(i.provideHover(t,e.hoverPosition,o.token,s))}catch(e){xc(e)}return o.dispose(),this._ongoingHoverOperations.delete(i),c}_updateRenderedHoverPart(e,t){if(e>=this.renderedHoverParts.length||e<0)return;let n=this._renderHoverPart(t,this._onFinishedRendering),r=this.renderedHoverParts[e],i=r.hoverElement,a=n.hoverElement,o=Array.from(a.children);i.replaceChildren(...o);let s=new Mv(t,i,n.disposables,n.actionsContainer);return r.dispose(),this.renderedHoverParts[e]=s,s}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}};function Pv(e,t,n,r){t.sort(xs(e=>e.ordinal,ke));let i=[];for(let a of t){let t=Fv(n,a,r,e.onContentsChanged);e.fragment.appendChild(t.hoverElement),i.push(t)}return new Th(i)}function Fv(e,t,n,r){let i=new b,a=Ev(`div.hover-row`),o=Ev(`div.hover-row-contents`);a.appendChild(o);let s=t.contents;for(let t of s){if(gt(t))continue;let a=Ev(`div.markdown-hover`),s=z(a,Ev(`div.hover-contents`)),c=i.add(n.render(t,{context:e,asyncRenderCallback:()=>{s.className=`hover-contents code-hover-contents`,r()}}));s.appendChild(c.element),o.appendChild(a)}return{hoverPart:t,hoverElement:a,dispose(){i.dispose()}}}function Iv(e,t){switch(t){case Vn.Increase:return e.appendKeybinding(R(1178,`Increase Hover Verbosity`),ng);case Vn.Decrease:return e.appendKeybinding(R(1179,`Decrease Hover Verbosity`),ig)}}var Lv=N,Rv=class extends O{constructor(e,t,n){super(),this.model=t,this.pixelRatio=n,this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new B),this.onColorFlushed=this._onColorFlushed.event,this._domNode=Lv(`.saturation-wrap`),z(e,this._domNode),this._canvas=document.createElement(`canvas`),this._canvas.className=`saturation-box`,z(this._domNode,this._canvas),this.selection=Lv(`.saturation-selection`),z(this._domNode,this.selection),this.layout(),this._register(H(this._domNode,vr.POINTER_DOWN,e=>this.onPointerDown(e))),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 kr);let t=Uo(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top),()=>null);let n=H(e.target.ownerDocument,vr.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),this.monitor&&=(this.monitor.stopMonitoring(!0),null)},!0)}onDidChangePosition(e,t){let n=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(n,r),this._onDidChange.fire({s:n,v:r})}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 As(new Ia(e.h,1,1,1)),n=this._canvas.getContext(`2d`),r=n.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,`rgba(255, 255, 255, 1)`),r.addColorStop(.5,`rgba(255, 255, 255, 0.5)`),r.addColorStop(1,`rgba(255, 255, 255, 0)`);let i=n.createLinearGradient(0,0,0,this._canvas.height);i.addColorStop(0,`rgba(0, 0, 0, 0)`),i.addColorStop(1,`rgba(0, 0, 0, 1)`),n.rect(0,0,this._canvas.width,this._canvas.height),n.fillStyle=As.Format.CSS.format(t),n.fill(),n.fillStyle=r,n.fill(),n.fillStyle=i,n.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)}},zv=class extends O{constructor(e){super(),this._onClicked=this._register(new B),this.onClicked=this._onClicked.event,this._button=z(e,document.createElement(`button`)),this._button.classList.add(`insert-button`),this._button.textContent=`Insert`,this._register(H(this._button,vr.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}},Bv=N,Vv=class extends O{constructor(e,t,n){super(),this.model=t,this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new B),this.onColorFlushed=this._onColorFlushed.event,n===`standalone`?(this.domNode=z(e,Bv(`.standalone-strip`)),this.overlay=z(this.domNode,Bv(`.standalone-overlay`))):(this.domNode=z(e,Bv(`.strip`)),this.overlay=z(this.domNode,Bv(`.overlay`))),this.slider=z(this.domNode,Bv(`.slider`)),this.slider.style.top=`0px`,this._register(H(this.domNode,vr.POINTER_DOWN,e=>this.onPointerDown(e))),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 kr),n=Uo(this.domNode);this.domNode.classList.add(`grabbing`),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangeTop(e.pageY-n.top),()=>null);let r=H(e.target.ownerDocument,vr.POINTER_UP,()=>{this._onColorFlushed.fire(),r.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`}},Hv=class extends Vv{constructor(e,t,n){super(e,t,n),this.domNode.classList.add(`opacity-strip`),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);let{r:t,g:n,b:r}=e.rgba,i=new As(new Yc(t,n,r,1)),a=new As(new Yc(t,n,r,0));this.overlay.style.background=`linear-gradient(to bottom, ${i} 0%, ${a} 100%)`}getValue(e){return e.hsva.a}},Uv=class extends Vv{constructor(e,t,n){super(e,t,n),this.domNode.classList.add(`hue-strip`)}getValue(e){return 1-e.hsva.h/360}},Wv=N,Gv=class extends O{constructor(e,t,n,r){super(),this.model=t,this.pixelRatio=n,this._insertButton=null,this._domNode=Wv(`.colorpicker-body`),z(e,this._domNode),this._saturationBox=new Rv(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 Hv(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Uv(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r===`standalone`&&(this._insertButton=this._register(new zv(this._domNode)),this._domNode.classList.add(`standalone-colorpicker`))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){let n=this.model.color.hsva;this.model.color=new As(new Ia(n.h,e,t,n.a))}onDidOpacityChange(e){let t=this.model.color.hsva;this.model.color=new As(new Ia(t.h,t.s,t.v,e))}onDidHueChange(e){let t=this.model.color.hsva,n=(1-e)*360;this.model.color=new As(new Ia(n===360?0:n,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()}},Kv=N,qv=class extends O{constructor(e){super(),this._onClicked=this._register(new B),this.onClicked=this._onClicked.event,this._button=document.createElement(`div`),this._button.classList.add(`close-button`),z(e,this._button);let t=document.createElement(`div`);t.classList.add(`close-button-inner-div`),z(this._button,t),z(t,Kv(`.button`+tt.asCSSSelector($s(`color-picker-close`,w.close,R(921,`Icon to close the color picker`))))).classList.add(`close-icon`),this._register(H(this._button,vr.CLICK,()=>{this._onClicked.fire()}))}},Jv=N,Yv=class extends O{constructor(e,t,n,r){super(),this.model=t,this.type=r,this._closeButton=null,this._domNode=Jv(`.colorpicker-header`),z(e,this._domNode),this._pickedColorNode=z(this._domNode,Jv(`.picked-color`)),z(this._pickedColorNode,Jv(`span.codicon.codicon-color-mode`)),this._pickedColorPresentation=z(this._pickedColorNode,document.createElement(`span`)),this._pickedColorPresentation.classList.add(`picked-color-presentation`);let i=R(922,`Click to toggle color options (rgb/hsl/hex)`);this._pickedColorNode.setAttribute(`title`,i),this._originalColorNode=z(this._domNode,Jv(`.original-color`)),this._originalColorNode.style.backgroundColor=As.Format.CSS.format(this.model.originalColor)||``,this.backgroundColor=n.getColorTheme().getColor(Hc)||As.white,this._register(n.onDidColorThemeChange(e=>{this.backgroundColor=e.getColor(Hc)||As.white})),this._register(H(this._pickedColorNode,vr.CLICK,()=>this.model.selectNextColorPresentation())),this._register(H(this._originalColorNode,vr.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=As.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 qv(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=As.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:``}},Xv=N,Zv=class extends Wa{constructor(e,t,n,r,i){super(),this.model=t,this.pixelRatio=n,this._register(_r.getInstance(Sa(e)).onDidChange(()=>this.layout())),this._domNode=Xv(`.colorpicker-widget`),e.appendChild(this._domNode),this.header=this._register(new Yv(this._domNode,this.model,r,i)),this.body=this._register(new Gv(this._domNode,this.model,this.pixelRatio,i))}layout(){this.body.layout()}get domNode(){return this._domNode}},Qv=class extends O{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,n){super(),this.presentationIndex=n,this._onColorFlushed=this._register(new B),this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=this._register(new B),this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=this._register(new B),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 n=-1;for(let e=0;e<this.colorPresentations.length;e++)if(t.toLowerCase()===this.colorPresentations[e].label){n=e;break}if(n===-1){let e=t.split(`(`)[0].toLowerCase();for(let t=0;t<this.colorPresentations.length;t++)if(this.colorPresentations[t].label.toLowerCase().startsWith(e)){n=t;break}}n!==-1&&n!==this.presentationIndex&&(this.presentationIndex=n,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}};async function $v(e,t,n){let r=e.getValueInRange(t.range),{red:i,green:a,blue:o,alpha:s}=t.color,c=new Yc(Math.round(i*255),Math.round(a*255),Math.round(o*255),s),l=new As(c),u=await Mh(e,t,n,L.None),d=new Qv(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,r),{range:S.lift(t.range),model:d,provider:n}}function ey(e,t,n){let r=[],i=n.presentation.textEdit??{range:t,text:n.presentation.label,forceMoveMarkers:!1};r.push(i),n.presentation.additionalTextEdits&&r.push(...n.presentation.additionalTextEdits);let a=S.lift(i.range),o=e.getModel()._setTrackedRange(null,a,3);return e.executeEdits(`colorpicker`,r),e.pushUndoStop(),e.getModel()._getTrackedRange(o)??a}async function ty(e,t,n,r,i){t.colorPresentations=await Mh(e,{range:r,color:{red:n.rgba.r/255,green:n.rgba.g/255,blue:n.rgba.b/255,alpha:n.rgba.a}},i.provider,L.None)||[]}var ny=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ry=function(e,t){return function(n,r){t(n,r,e)}},iy=class e{constructor(e,t,n,r){this.owner=e,this.range=t,this.model=n,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}static fromBaseColor(t,n){return new e(t,n.range,n.model,n.provider)}},ay=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t,n){return[]}computeAsync(e,t,n,r){return Ts.fromPromise(this._computeAsync(e,t,n))}async _computeAsync(e,t,n){if(!this._editor.hasModel()||!this._isValidRequest(n))return[];let r=Uh.get(this._editor);if(!r)return[];for(let e of t){if(!r.isColorDecoration(e))continue;let t=r.getColorData(e.range.getStartPosition());if(t)return[iy.fromBaseColor(this,await $v(this._editor.getModel(),t.colorInfo,t.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 n=this._editor;if(t.length===0||!n.hasModel())return new Th([]);let r=n.getOption(75)+8;e.setMinimumDimensions(new Wi(302,r));let i=new b,a=t[0],o=n.getModel(),s=a.model;this._colorPicker=i.add(new Zv(e.fragment,s,n.getOption(163),this._themeService,`hover`));let c=!1,l=new S(a.range.startLineNumber,a.range.startColumn,a.range.endLineNumber,a.range.endColumn);return i.add(s.onColorFlushed(async e=>{await ty(o,s,e,l,a),c=!0,l=ey(n,l,s)})),i.add(s.onDidChangeColor(e=>{ty(o,s,e,l,a)})),i.add(n.onDidChangeModelContent(t=>{c?c=!1:(e.hide(),n.focus())})),new Th([{hoverPart:iy.fromBaseColor(this,a),hoverElement:this._colorPicker.domNode,dispose(){i.dispose()}}])}getAccessibleContent(e){return R(923,`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}};ay=ny([ry(1,nu)],ay);function oy(e,t){return!!e[t]}var sy=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=oy(e.event,t.triggerModifier),this.isMiddleClick&&t.mouseMiddleClickAction===`ctrlLeftClick`&&(this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0),this.hasSideBySideModifier=oy(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},cy=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=oy(e,t.triggerModifier)}},ly=class{constructor(e,t,n,r,i){this.mouseMiddleClickAction=i,this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier&&this.mouseMiddleClickAction===e.mouseMiddleClickAction}};function uy(e,t){return e===`altKey`?di?new ly(57,`metaKey`,6,`altKey`,t):new ly(5,`ctrlKey`,6,`altKey`,t):di?new ly(6,`altKey`,57,`metaKey`,t):new ly(6,`altKey`,5,`ctrlKey`,t)}var dy=class extends O{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new B),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new B),this.onExecute=this._onExecute.event,this._onCancel=this._register(new B),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(e=>e.target.position?e.target.position.lineNumber:0),this._opts=uy(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(e=>{if(e.hasChanged(86)||e.hasChanged(87)){let e=uy(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(e=>this._onEditorMouseMove(new sy(e,this._opts)))),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(new sy(e,this._opts)))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(new sy(e,this._opts)))),this._register(this._editor.onKeyDown(e=>this._onEditorKeyDown(new cy(e,this._opts)))),this._register(this._editor.onKeyUp(e=>this._onEditorKeyUp(new cy(e,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(e=>this._onDidChangeCursorSelection(e))),this._register(this._editor.onDidChangeModel(e=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||e.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()}},fy,py=class{constructor(e,t){this.range=e,this.direction=t}},my=class e{constructor(e,t,n){this.hint=e,this.anchor=t,this.provider=n,this._isResolved=!1}with(t){let n=new e(this.hint,t.anchor,this.provider);return n._isResolved=this._isResolved,n._currentResolve=this._currentResolve,n}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(e){xc(e),this._isResolved=!1}}},hy=class e{static async create(t,n,r,i){let a=[],o=t.ordered(n).reverse().map(t=>r.map(async r=>{try{let o=await t.provideInlayHints(n,r,i);(o?.hints.length||t.onDidChangeInlayHints)&&a.push([o??e._emptyInlayHintList,t])}catch(e){xc(e)}}));if(await Promise.all(o.flat()),i.isCancellationRequested||n.isDisposed())throw new mu;return new e(r,a,n)}constructor(t,n,r){this._disposables=new b,this.ranges=t,this.provider=new Set;let i=[];for(let[t,a]of n){this._disposables.add(t),this.provider.add(a);for(let n of t.hints){let t=r.validatePosition(n.position),o=`before`,s=e._getRangeAtPosition(r,t),c;s.getStartPosition().isBefore(t)?(c=S.fromPositions(s.getStartPosition(),t),o=`after`):(c=S.fromPositions(t,s.getEndPosition()),o=`before`),i.push(new my(n,new py(c,o),a))}}this.items=i.sort((e,t)=>k.compare(e.hint.position,t.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){let n=t.lineNumber,r=e.getWordAtPosition(t);if(r)return new S(n,r.startColumn,n,r.endColumn);e.tokenization.tokenizeIfCheap(n);let i=e.tokenization.getLineTokens(n),a=t.column-1,o=i.findTokenIndexAtOffset(a),s=i.getStartOffset(o),c=i.getEndOffset(o);return c-s===1&&(s===a&&o>1?(s=i.getStartOffset(o-1),c=i.getEndOffset(o-1)):c===a&&o<i.getCount()-1&&(s=i.getStartOffset(o+1),c=i.getEndOffset(o+1))),new S(n,s+1,n,c+1)}};fy=hy,fy._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});function gy(e){return Ii(e.id,...e.arguments??[]).toString()}var _y=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vy=function(e,t){return function(n,r){t(n,r,e)}},yy=class extends vs{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},n,i,a,o,s,c,l,u,d,f,p),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(e=>this._onParentConfigurationChanged(e)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){tr(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};yy=_y([vy(4,x),vy(5,Mi),vy(6,or),vy(7,Ls),vy(8,nu),vy(9,gi),vy(10,ui),vy(11,bu),vy(12,U),vy(13,zt)],yy);function by(e){let t=e.get(Mi).getFocusedCodeEditor();return t instanceof yy?t.getParentEditor():t}var xy,Sy=new As(new Yc(0,122,204)),Cy={showArrow:!0,showFrame:!0,className:``,frameColor:Sy,arrowColor:Sy,keepEditorSelection:!1},wy=`vs.editor.contrib.zoneWidget`,Ty=class{constructor(e,t,n,r,i,a,o,s){this.id=``,this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=r,this.showInHiddenAreas=o,this.ordinal=s,this._onDomNodeTop=i,this._onComputedHeight=a}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}},Ey=class{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}},Dy=class e{constructor(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._color=null,this._height=-1,this._decorations=this._editor.createDecorationsCollection()}dispose(){this.hide(),bi(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){bi(this._ruleName),hd(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:S.fromPositions(e),options:{description:`zone-widget-arrow`,className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};xy=Dy,xy._IdGenerator=new Ti(`.arrow-decoration-`);var Oy=class{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._isSashResizeHeight=!1,this._viewZone=null,this._disposables=new b,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=ze(t),tr(this.options,Cy,!1),this.domNode=document.createElement(`div`),this.options.isAccessible||(this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setAttribute(`role`,`presentation`)),this._disposables.add(this.editor.onDidLayoutChange(e=>{let t=this._getWidth(e);this.domNode.style.width=t+`px`,this.domNode.style.left=this._getLeft(e)+`px`,this._onWidth(t)}))}dispose(){this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add(`zone-widget`),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement(`div`),this.container.classList.add(`zone-widget-container`),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new Dy(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){let e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+`px`}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){let t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;let n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}this._resizeSash?.layout()}get position(){let e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){let n=S.isIRange(e)?S.lift(e):S.fromPositions(e);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId.set([{range:n,options:G.EMPTY}])}hide(){this._viewZone&&=(this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id)}),null),this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this._arrow?.hide(),this._positionMarkerId.clear(),this._isSashResizeHeight=!1}_decoratingElementsHeight(){let e=this.editor.getOption(75),t=0;if(this.options.showArrow){let n=Math.round(e/3);t+=2*n}if(this.options.showFrame){let n=this.options.frameWidth??Math.round(e/9);t+=2*n}return t}_getMaximumHeightInLines(){return Math.max(12,this.editor.getLayoutInfo().height/this.editor.getOption(75)*.8)}_showImpl(e,t){let n=e.getStartPosition(),r=this.editor.getLayoutInfo(),i=this._getWidth(r);this.domNode.style.width=`${i}px`,this.domNode.style.left=this._getLeft(r)+`px`;let a=document.createElement(`div`);a.style.overflow=`hidden`;let o=this.editor.getOption(75),s=this._getMaximumHeightInLines();s!==void 0&&(t=Math.min(t,s));let c=0,l=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(o/3),this._arrow.height=c,this._arrow.show(n)),this.options.showFrame&&(l=Math.round(o/9)),this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this.domNode.style.top=`-1000px`,this._viewZone=new Ty(a,n.lineNumber,n.column,t,e=>this._onViewZoneTop(e),e=>this._onViewZoneHeight(e),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new Ey(wy+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this._updateSashEnablement(),this.container&&this.options.showFrame){let e=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=e+`px`,this.container.style.borderBottomWidth=e+`px`}let u=t*o-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+`px`,this.container.style.height=u+`px`,this.container.style.overflow=`hidden`),this._doLayout(u,i),this.options.keepEditorSelection||this.editor.setSelection(e);let d=this.editor.getModel();if(d){let t=d.validateRange(new S(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e,t){let n=this._getMaximumHeightInLines(),r=t&&n!==void 0?Math.min(n,e):e;this._viewZone&&this._viewZone.heightInLines!==r&&(this.editor.changeViewZones(e=>{this._viewZone&&(this._viewZone.heightInLines=r,e.layoutZone(this._viewZone.id))}),this._updateSashEnablement())}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Ca(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines,...this._getResizeBounds()})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){let n=(t.currentY-e.startY)/this.editor.getOption(75),r=n<0?Math.ceil(n):Math.floor(n),i=e.heightInLines+r;i>e.minLines&&i<e.maxLines&&(this._isSashResizeHeight=!0,this._relayout(i))}}))}_updateSashEnablement(){if(this._resizeSash){let{minLines:e,maxLines:t}=this._getResizeBounds();this._resizeSash.state=e===t?0:3}}_getResizeBounds(){return{minLines:5,maxLines:35}}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){let e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}},ky,Ay=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jy=function(e,t){return function(n,r){t(n,r,e)}},My=tn(`IPeekViewService`);ys(My,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){let n=this._widgets.get(e);n&&(n.listener.dispose(),n.widget.dispose()),this._widgets.set(e,{widget:t,listener:t.onDidClose(()=>{let n=this._widgets.get(e);n&&n.widget===t&&(n.listener.dispose(),this._widgets.delete(e))})})}},1);var Ny;(function(e){e.inPeekEditor=new D(`inReferenceSearchEditor`,!0,R(1362,`Whether the current code editor is embedded inside peek`)),e.notInPeekEditor=e.inPeekEditor.toNegated()})(Ny||={});var Py=(ky=class{constructor(e,t){e instanceof yy&&Ny.inPeekEditor.bindTo(t)}dispose(){}},ky.ID=`editor.contrib.referenceController`,ky);Py=Ay([jy(1,Ls)],Py),M(Py.ID,Py,0);var Fy={headerBackgroundColor:As.white,primaryHeadingColor:As.fromHex(`#333333`),secondaryHeadingColor:As.fromHex(`#6c6c6cb3`)},Iy=class extends Oy{constructor(e,t,n){super(e,t),this.instantiationService=n,this._onDidClose=new B,this.onDidClose=this._onDidClose.event,tr(this.options,Fy,!1);let r=ku(this.editor);r.openedPeekWidgets.set(r.openedPeekWidgets.get()+1,void 0)}dispose(){if(!this.disposed){this.disposed=!0,super.dispose(),this._onDidClose.fire(this),this._onDidClose.dispose();let e=ku(this.editor);e.openedPeekWidgets.set(e.openedPeekWidgets.get()-1,void 0)}}style(e){let t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();let e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass(`peekview-widget`),this._headElement=N(`.head`),this._bodyElement=N(`.body`),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=N(`.peekview-title`),this.options.supportOnTitleClick&&(this._titleElement.classList.add(`clickable`),Os(this._titleElement,`click`,e=>this._onTitleClick(e))),z(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=N(`span.filename`),this._secondaryHeading=N(`span.dirname`),this._metaHeading=N(`span.meta`),z(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);let n=N(`.peekview-actions`);z(this._headElement,n);let r=this._getActionBarOptions();this._actionbarWidget=new Bn(n,r),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(this._disposables.add(new pn(`peekview.close`,R(1363,`Close`),tt.asClassName(w.close),!0,()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:ks.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute(`title`,e),t?this._secondaryHeading.innerText=t:qc(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Qs(this._metaHeading)):sd(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}let n=Math.ceil(this.editor.getOption(75)*1.2),r=Math.round(e-(n+1));this._doLayoutHead(n,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};Iy=Ay([jy(2,x)],Iy);var Ly=C(`peekViewTitle.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:As.black,hcLight:As.white},R(1364,`Background color of the peek view title area.`)),Ry=C(`peekViewTitleLabel.foreground`,{dark:As.white,light:As.black,hcDark:As.white,hcLight:Aa},R(1365,`Color of the peek view title.`)),zy=C(`peekViewTitleDescription.foreground`,{dark:`#ccccccb3`,light:`#616161`,hcDark:`#FFFFFF99`,hcLight:`#292929`},R(1366,`Color of the peek view title info.`)),By=C(`peekView.border`,{dark:du,light:du,hcDark:Js,hcLight:Js},R(1367,`Color of the peek view borders and arrow.`)),Vy=C(`peekViewResult.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:As.black,hcLight:As.white},R(1368,`Background color of the peek view result list.`));C(`peekViewResult.lineForeground`,{dark:`#bbbbbb`,light:`#646465`,hcDark:As.white,hcLight:Aa},R(1369,`Foreground color for line nodes in the peek view result list.`)),C(`peekViewResult.fileForeground`,{dark:As.white,light:`#1E1E1E`,hcDark:As.white,hcLight:Aa},R(1370,`Foreground color for file nodes in the peek view result list.`)),C(`peekViewResult.selectionBackground`,{dark:`#3399ff33`,light:`#3399ff33`,hcDark:null,hcLight:null},R(1371,`Background color of the selected entry in the peek view result list.`)),C(`peekViewResult.selectionForeground`,{dark:As.white,light:`#6C6C6C`,hcDark:As.white,hcLight:Aa},R(1372,`Foreground color of the selected entry in the peek view result list.`));var Hy=C(`peekViewEditor.background`,{dark:`#001F33`,light:`#F2F8FC`,hcDark:As.black,hcLight:As.white},R(1373,`Background color of the peek view editor.`));C(`peekViewEditorGutter.background`,Hy,R(1374,`Background color of the gutter in the peek view editor.`)),C(`peekViewEditorStickyScroll.background`,Hy,R(1375,`Background color of sticky scroll in the peek view editor.`)),C(`peekViewEditorStickyScrollGutter.background`,Hy,R(1376,`Background color of the gutter part of sticky scroll in the peek view editor.`)),C(`peekViewResult.matchHighlightBackground`,{dark:`#ea5c004d`,light:`#ea5c004d`,hcDark:null,hcLight:null},R(1377,`Match highlight color in the peek view result list.`)),C(`peekViewEditor.matchHighlightBackground`,{dark:`#ff8f0099`,light:`#f5d802de`,hcDark:null,hcLight:null},R(1378,`Match highlight color in the peek view editor.`)),C(`peekViewEditor.matchHighlightBorder`,{dark:null,light:null,hcDark:qn,hcLight:qn},R(1379,`Match highlight border in the peek view editor.`));var Uy=class{constructor(e,t,n,r){this.isProviderFirst=e,this.parent=t,this.link=n,this._rangeCallback=r,this.id=Ot.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){let e=this.parent.getPreview(this)?.preview(this.range);return e?R(1131,`{0} in {1} on line {2} at column {3}`,e.value,Uc(this.uri),this.range.startLineNumber,this.range.startColumn):R(1130,`in {0} on line {1} at column {2}`,Uc(this.uri),this.range.startLineNumber,this.range.startColumn)}},Wy=class{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){let n=this._modelReference.object.textEditorModel;if(!n)return;let{startLineNumber:r,startColumn:i,endLineNumber:a,endColumn:o}=e,s=n.getWordUntilPosition({lineNumber:r,column:i-t}),c=new S(r,s.startColumn,r,i),l=new S(a,o,a,1073741824),u=n.getValueInRange(c).replace(/^\s+/,``),d=n.getValueInRange(e),f=n.getValueInRange(l).replace(/\s+$/,``);return{value:u+d+f,highlight:{start:u.length,end:u.length+d.length}}}},Gy=class{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new ba}dispose(){_(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){let e=this.children.length;return e===1?R(1132,`1 symbol in {0}, full path {1}`,Uc(this.uri),this.uri.fsPath):R(1133,`{0} symbols in {1}, full path {2}`,e,Uc(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(let t of this.children)if(!this._previews.has(t.uri))try{let n=await e.createModelReference(t.uri);this._previews.set(t.uri,new Wy(n))}catch(e){il(e)}return this}},Ky=class e{constructor(t,n){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new B,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=n;let[r]=t;t.sort(e._compareReferences);let i;for(let n of t)if((!i||!sc.isEqual(i.uri,n.uri,!0))&&(i=new Gy(this,n.uri),this.groups.push(i)),i.children.length===0||e._compareReferences(n,i.children[i.children.length-1])!==0){let e=new Uy(r===n,i,n,e=>this._onDidChangeReferenceRange.fire(e));this.references.push(e),i.children.push(e)}}dispose(){_(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new e(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?R(1134,`No results found`):this.references.length===1?R(1135,`Found 1 symbol in {0}`,this.references[0].uri.fsPath):this.groups.length===1?R(1136,`Found {0} symbols in {1}`,this.references.length,this.groups[0].uri.fsPath):R(1137,`Found {0} symbols in {1} files`,this.references.length,this.groups.length)}nextOrPreviousReference(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.length,a=n.parent.groups.length;return a===1||t&&r+1<i||!t&&r>0?(r=t?(r+1)%i:(r+i-1)%i,n.children[r]):(r=n.parent.groups.indexOf(n),t?(r=(r+1)%a,n.parent.groups[r].children[0]):(r=(r+a-1)%a,n.parent.groups[r].children[n.parent.groups[r].children.length-1]))}nearestReference(e,t){let n=this.references.map((n,r)=>({idx:r,prefixLen:Sn(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:+(e.offsetDist>t.offsetDist))[0];if(n)return this.references[n.idx]}referenceAt(e,t){for(let n of this.references)if(n.uri.toString()===e.toString()&&S.containsPosition(n.range,t))return n}firstReference(){for(let e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return sc.compare(e.uri,t.uri)||S.compareRangesUsingStarts(e.range,t.range)}},qy,Jy,Yy=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Xy=function(e,t){return function(n,r){t(n,r,e)}},Zy,Qy=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Ky||e instanceof Gy}getChildren(e){if(e instanceof Ky)return e.groups;if(e instanceof Gy)return e.resolve(this._resolverService).then(e=>e.children);throw Error(`bad tree`)}};Qy=Yy([Xy(0,xi)],Qy);var $y=class{getHeight(){return 23}getTemplateId(e){return e instanceof Gy?rb.id:ab.id}},eb=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof Uy){let t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return Uc(e.uri)}};eb=Yy([Xy(0,Ir)],eb);var tb=class{getId(e){return e instanceof Uy?e.id:e.uri}},nb=class extends O{constructor(e,t){super(),this._labelService=t;let n=document.createElement(`div`);n.classList.add(`reference-file`),this.file=this._register(new St(n,{supportHighlights:!0})),this.badge=this._register(new Ai(z(n,N(`.count`)),{},Gl)),e.appendChild(n)}set(e,t){let n=eo(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(n,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});let r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(R(1124,`{0} references`,r)):this.badge.setTitleFormat(R(1125,`{0} reference`,r))}};nb=Yy([Xy(1,yi)],nb);var rb=(qy=class{constructor(e){this._instantiationService=e,this.templateId=Zy.id}renderTemplate(e){return this._instantiationService.createInstance(nb,e)}renderElement(e,t,n){n.set(e.element,ma(e.filterData))}disposeTemplate(e){e.dispose()}},Zy=qy,qy.id=`FileReferencesRenderer`,qy);rb=Zy=Yy([Xy(0,x)],rb);var ib=class extends O{constructor(e){super(),this.label=this._register(new li(e))}set(e,t){let n=e.parent.getPreview(e)?.preview(e.range);if(!n||!n.value)this.label.set(`${Uc(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{let{value:e,highlight:r}=n;t&&!Jt.isDefault(t)?(this.label.element.classList.toggle(`referenceMatch`,!1),this.label.set(e,ma(t))):(this.label.element.classList.toggle(`referenceMatch`,!0),this.label.set(e,[r]))}}},ab=class e{constructor(){this.templateId=e.id}renderTemplate(e){return new ib(e)}renderElement(e,t,n){n.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Jy=ab,Jy.id=`OneReferenceRenderer`;var ob=class{getWidgetAriaLabel(){return R(1126,`References`)}getAriaLabel(e){return e.ariaMessage}},sb,cb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},lb=function(e,t){return function(n,r){t(n,r,e)}},ub=class e{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new b,this._callOnModelChange=new b,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();let e=this._editor.getModel();if(e){for(let t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));let n=[],r=[];for(let i=0,a=t.children.length;i<a;i++){let a=t.children[i];this._decorationIgnoreSet.has(a.id)||a.uri.toString()===this._editor.getModel().uri.toString()&&(n.push({range:a.range,options:e.DecorationOptions}),r.push(i))}this._editor.changeDecorations(e=>{let i=e.deltaDecorations([],n);for(let e=0;e<i.length;e++)this._decorations.set(i[e],t.children[r[e]])})}_onDecorationChanged(){let e=[],t=this._editor.getModel();if(t){for(let[n,r]of this._decorations){let i=t.getDecorationRange(n);if(!i)continue;let a=!1;S.equalsRange(i,r.range)||((S.spansMultipleLines(i)||r.range.endColumn-r.range.startColumn!==i.endColumn-i.startColumn)&&(a=!0),a?(this._decorationIgnoreSet.add(r.id),e.push(n)):r.range=i)}for(let t=0,n=e.length;t<n;t++)this._decorations.delete(e[t]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};sb=ub,sb.DecorationOptions=G.register({description:`reference-decoration`,stickiness:1,className:`reference-decoration`});var db=class{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,n;try{let r=JSON.parse(e);t=r.ratio,n=r.heightInLines}catch{}return{ratio:t||.7,heightInLines:n||18}}},fb=class extends $t{},pb=class{constructor(e){this.labelService=e,this.disposables=new b}getDragURI(e){return e instanceof Gy?e.uri.toString():e instanceof Uy?Rr(e.uri,e.range).toString():null}getDragLabel(e){if(e.length!==0)return e.map(e=>this.labelService.getUriBasenameLabel(e.uri)).join(`, `)}onDragStart(e,t){if(!t.dataTransfer)return;let n=e.elements.map(e=>this.getDragURI(e)).filter(Boolean);n.length&&(t.dataTransfer.setData(Sc.RESOURCES,JSON.stringify(n)),t.dataTransfer.setData(Sc.TEXT,n.join(`
|
|
9
|
-
`)))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};pb=cb([lb(0,yi)],pb);var mb=class extends Iy{constructor(e,t,n,r,i,a,o,s,c){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},a),this._defaultTreeKeyboardSupport=t,this.layoutData=n,this._textModelResolverService=i,this._instantiationService=a,this._peekViewService=o,this._uriLabel=s,this._keybindingService=c,this._disposeOnNewModel=new b,this._callOnDispose=new b,this._onDidSelectReference=this._callOnDispose.add(new B),this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Wi(0,0),this._isClosing=!1,this._applyTheme(r.getColorTheme()),this._callOnDispose.add(r.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(),_(this._preview),_(this._previewNotAvailableMessage),_(this._tree),_(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){let t=e.getColor(By)||As.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Ly)||As.transparent,primaryHeadingColor:e.getColor(Ry),secondaryHeadingColor:e.getColor(zy)})}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=z(e,N(`div.messages`)),sd(this._messageContainer),this._splitView=new Fo(e,{orientation:1}),this._previewContainer=z(e,N(`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(yy,this._previewContainer,t,{},this.editor),sd(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ud,R(1127,`no preview available`),So,ud.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=z(e,N(`div.ref-tree.inline`));let r={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new ob,keyboardNavigationLabelProvider:this._instantiationService.createInstance(eb),identityProvider:new tb,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:Vy},dnd:this._instantiationService.createInstance(pb)};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Os(this._treeContainer,`keydown`,e=>{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(fb,`ReferencesWidget`,this._treeContainer,new $y,[this._instantiationService.createInstance(rb),this._instantiationService.createInstance(ab)],this._instantiationService.createInstance(Qy),r),this._splitView.addView({onDidChange:qu.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},n.Distribute),this._splitView.addView({onDidChange:qu.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},n.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let i=(e,t)=>{e instanceof Uy&&(t===`show`&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:`tree`}))};this._disposables.add(this._tree.onDidOpen(e=>{e.sideBySide?i(e.element,`side`):e.editorOptions.pinned?i(e.element,`goto`):i(e.element,`show`)})),sd(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Wi(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=R(1128,`No results`),Qs(this._messageContainer),Promise.resolve(void 0)):(sd(this._messageContainer),this._decorationsManager=new ub(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:n}=e;if(t.detail!==2)return;let r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:n.range},kind:t.ctrlKey||t.metaKey||t.altKey?`side`:`open`,source:`editor`})})),this.container.classList.add(`results-loaded`),Qs(this._treeContainer),Qs(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 Uy)return e;if(e instanceof Gy&&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===ic.inMemory?this.setTitle(R(1129,`References`)):this.setTitle(Bl(e.uri),this._uriLabel.getUriLabel(eo(e.uri)));let n=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 r=await n;if(!this._model){r.dispose();return}_(this._previewModelReference);let i=r.object;if(i){let t=this._preview.getModel()===i.textEditorModel?0:1,n=S.lift(e.range).collapseToStart();this._previewModelReference=r,this._preview.setModel(i.textEditorModel),this._preview.setSelection(n),this._preview.revealRangeInCenter(n,t)}else this._preview.setModel(this._previewNotAvailableMessage),r.dispose()}};mb=cb([lb(3,nu),lb(4,xi),lb(5,x),lb(6,My),lb(7,yi),lb(8,Ir)],mb);var hb,gb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_b=function(e,t){return function(n,r){t(n,r,e)}},vb,yb=new D(`referenceSearchVisible`,!1,R(1121,`Whether reference peek is visible, like 'Peek References' or 'Peek Definition'`)),bb=(hb=class{static get(e){return e.getContribution(vb.ID)}constructor(e,t,n,r,i,a,o,s){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=i,this._instantiationService=a,this._storageService=o,this._configurationService=s,this._disposables=new b,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=yb.bindTo(n)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,n){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=n,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));let i=`peekViewLayout`,a=db.fromJSON(this._storageService.get(i,0,`{}`));this._widget=this._instantiationService.createInstance(mb,this._editor,this._defaultTreeKeyboardSupport,a),this._widget.setTitle(R(1122,`Loading...`)),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(i,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(e=>{let{element:t,kind:r}=e;if(t)switch(r){case`open`:(e.source!==`editor`||!this._configurationService.getValue(`editor.stablePeek`))&&this.openReference(t,!1,!1);break;case`side`:this.openReference(t,!0,!1);break;case`goto`:n?this._gotoReference(t,!0):this.openReference(t,!1,!0)}}));let o=++this._requestIdPool;t.then(t=>{if(o!==this._requestIdPool||!this._widget){t.dispose();return}return this._model?.dispose(),this._model=t,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(``):this._widget.setMetaTitle(R(1123,`{0} ({1})`,this._model.title,this._model.references.length));let t=this._editor.getModel().uri,n=new k(e.startLineNumber,e.startColumn),r=this._model.nearestReference(t,n);if(r)return this._widget.setSelection(r).then(()=>{this._widget&&this._editor.getOption(99)===`editor`&&this._widget.focusOnPreviewEditor()})}})},e=>{this._notificationService.error(e)})}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 n=this._model.nearestReference(this._editor.getModel().uri,t);if(!n)return;let r=this._model.nextOrPreviousReference(n,e),i=this._editor.hasTextFocus(),a=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),i?this._editor.focus():this._widget&&a&&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 n=S.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:n,selectionSource:`code.jump`,pinned:t}},this._editor).then(e=>{if(this._ignoreModelChangeEvent=!1,!e||!this._widget){this.closeWidget();return}if(this._editor===e)this._widget.show(n),this._widget.focusOnReferenceTree();else{let t=vb.get(e),r=this._model.clone();this.closeWidget(),e.focus(),t?.toggleWidget(n,pu(e=>Promise.resolve(r)),this._peekMode??!1)}},e=>{this._ignoreModelChangeEvent=!1,il(e)})}openReference(e,t,n){t||this.closeWidget();let{uri:r,range:i}=e;this._editorService.openCodeEditor({resource:r,options:{selection:i,selectionSource:`code.jump`,pinned:n}},this._editor,t)}},vb=hb,hb.ID=`editor.contrib.referencesController`,hb);bb=vb=gb([_b(2,Ls),_b(3,Mi),_b(4,gi),_b(5,x),_b(6,sl),_b(7,Ea)],bb);function xb(e,t){let n=by(e);if(!n)return;let r=bb.get(n);r&&t(r)}Me.registerCommandAndKeybindingRule({id:`togglePeekWidgetFocus`,weight:100,primary:mn(2089,60),when:g.or(yb,Ny.inPeekEditor),handler(e){xb(e,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),Me.registerCommandAndKeybindingRule({id:`goToNextReference`,weight:90,primary:62,secondary:[70],when:g.or(yb,Ny.inPeekEditor),handler(e){xb(e,e=>{e.goToNextOrPreviousReference(!0)})}}),Me.registerCommandAndKeybindingRule({id:`goToPreviousReference`,weight:90,primary:1086,secondary:[1094],when:g.or(yb,Ny.inPeekEditor),handler(e){xb(e,e=>{e.goToNextOrPreviousReference(!1)})}}),In.registerCommandAlias(`goToNextReferenceFromEmbeddedEditor`,`goToNextReference`),In.registerCommandAlias(`goToPreviousReferenceFromEmbeddedEditor`,`goToPreviousReference`),In.registerCommandAlias(`closeReferenceSearchEditor`,`closeReferenceSearch`),In.registerCommand(`closeReferenceSearch`,e=>xb(e,e=>e.closeWidget())),Me.registerKeybindingRule({id:`closeReferenceSearch`,weight:-1,primary:9,secondary:[1033],when:g.and(Ny.inPeekEditor,g.not(`config.editor.stablePeek`))}),Me.registerKeybindingRule({id:`closeReferenceSearch`,weight:250,primary:9,secondary:[1033],when:g.and(yb,g.not(`config.editor.stablePeek`),g.or(I.editorTextFocus,Hi.negate()))}),Me.registerCommandAndKeybindingRule({id:`revealReference`,weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:g.and(yb,pl,Ut.negate(),$i.negate()),handler(e){let t=e.get(dt).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Uy&&xb(e,e=>e.revealReference(t[0]))}}),Me.registerCommandAndKeybindingRule({id:`openReferenceToSide`,weight:100,primary:2051,mac:{primary:259},when:g.and(yb,pl,Ut.negate(),$i.negate()),handler(e){let t=e.get(dt).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Uy&&xb(e,e=>e.openReference(t[0],!0,!0))}}),In.registerCommand(`openReference`,e=>{let t=e.get(dt).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof Uy&&xb(e,e=>e.openReference(t[0],!1,!0))});var Sb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Cb=function(e,t){return function(n,r){t(n,r,e)}},wb=new D(`hasSymbols`,!1,R(1138,`Whether there are symbol locations that can be navigated via keyboard-only.`)),Tb=tn(`ISymbolNavigationService`),Eb=class{constructor(e,t,n,r){this._editorService=t,this._notificationService=n,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=wb.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 n=new Db(this._editorService),r=n.onDidChange(e=>{if(this._ignoreEditorChange)return;let n=this._editorService.getActiveCodeEditor();if(!n)return;let r=n.getModel(),i=n.getPosition();if(!r||!i)return;let a=!1,o=!1;for(let e of t.references)if(mo(e.uri,r.uri))a=!0,o||=S.containsPosition(e.range,i);else if(a)break;(!a||!o)&&this.reset()});this._currentState=Xs(n,r)}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:S.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();let e=this._keybindingService.lookupKeybinding(`editor.gotoNextSymbolFromResult`),t=e?R(1139,`Symbol {0} of {1}, {2} for next`,this._currentIdx+1,this._currentModel.references.length,e.getLabel()):R(1140,`Symbol {0} of {1}`,this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};Eb=Sb([Cb(0,Ls),Cb(1,Mi),Cb(2,gi),Cb(3,Ir)],Eb),ys(Tb,Eb,1),F(new class extends yt{constructor(){super({id:`editor.gotoNextSymbolFromResult`,precondition:wb,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(Tb).revealNext(t)}}),Me.registerCommandAndKeybindingRule({id:`editor.gotoNextSymbolFromResult.cancel`,weight:100,when:wb,primary:9,handler(e){e.get(Tb).reset()}});var Db=class{constructor(e){this._listener=new Map,this._disposables=new b,this._onDidChange=new B,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(),_(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,Xs(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)}};Db=Sb([Cb(0,Mi)],Db);function Ob(e,t){return t.uri.scheme===e.uri.scheme||!Ks(t.uri,ic.walkThroughSnippet,ic.vscodeChatCodeBlock,ic.vscodeChatCodeCompareBlock)}async function kb(e,t,n,r,i){let a=n.ordered(e,r).map(n=>Promise.resolve(i(n,e,t)).then(void 0,e=>{xc(e)})),o=await Promise.all(a);return kc(o.flat()).filter(t=>Ob(e,t))}function Ab(e,t,n,r,i){return kb(t,n,e,r,(e,t,n)=>e.provideDefinition(t,n,i))}function jb(e,t,n,r,i){return kb(t,n,e,r,(e,t,n)=>e.provideDeclaration(t,n,i))}function Mb(e,t,n,r,i){return kb(t,n,e,r,(e,t,n)=>e.provideImplementation(t,n,i))}function Nb(e,t,n,r,i){return kb(t,n,e,r,(e,t,n)=>e.provideTypeDefinition(t,n,i))}function Pb(e,t,n,r,i,a){return kb(t,n,e,i,async(e,t,n)=>{let i=(await e.provideReferences(t,n,{includeDeclaration:!0},a))?.filter(e=>Ob(t,e));if(!r||!i||i.length!==2)return i;let o=(await e.provideReferences(t,n,{includeDeclaration:!1},a))?.filter(e=>Ob(t,e));return o&&o.length===1?o:i})}async function Fb(e){let t=new Ky(await e(),``),n=t.references.map(e=>e.link);return t.dispose(),n}Tr(`_executeDefinitionProvider`,(e,t,n)=>{let r=Ab(e.get(U).definitionProvider,t,n,!1,L.None);return Fb(()=>r)}),Tr(`_executeDefinitionProvider_recursive`,(e,t,n)=>{let r=Ab(e.get(U).definitionProvider,t,n,!0,L.None);return Fb(()=>r)}),Tr(`_executeTypeDefinitionProvider`,(e,t,n)=>{let r=Nb(e.get(U).typeDefinitionProvider,t,n,!1,L.None);return Fb(()=>r)}),Tr(`_executeTypeDefinitionProvider_recursive`,(e,t,n)=>{let r=Nb(e.get(U).typeDefinitionProvider,t,n,!0,L.None);return Fb(()=>r)}),Tr(`_executeDeclarationProvider`,(e,t,n)=>{let r=jb(e.get(U).declarationProvider,t,n,!1,L.None);return Fb(()=>r)}),Tr(`_executeDeclarationProvider_recursive`,(e,t,n)=>{let r=jb(e.get(U).declarationProvider,t,n,!0,L.None);return Fb(()=>r)}),Tr(`_executeReferenceProvider`,(e,t,n)=>{let r=Pb(e.get(U).referenceProvider,t,n,!1,!1,L.None);return Fb(()=>r)}),Tr(`_executeReferenceProvider_recursive`,(e,t,n)=>{let r=Pb(e.get(U).referenceProvider,t,n,!1,!0,L.None);return Fb(()=>r)}),Tr(`_executeImplementationProvider`,(e,t,n)=>{let r=Mb(e.get(U).implementationProvider,t,n,!1,L.None);return Fb(()=>r)}),Tr(`_executeImplementationProvider_recursive`,(e,t,n)=>{let r=Mb(e.get(U).implementationProvider,t,n,!0,L.None);return Fb(()=>r)});var Ib,Lb,Rb,zb,Bb,Vb,Hb,Ub,Wb;be.appendMenuItem(q.EditorContext,{submenu:q.EditorContextPeek,title:R(1081,`Peek`),group:`navigation`,order:100});var Gb=class e{static is(t){return!t||typeof t!=`object`?!1:!!(t instanceof e||k.isIPosition(t.position)&&t.model)}constructor(e,t){this.model=e,this.position=t}},Kb=class e extends zi{static all(){return e._allSymbolNavigationCommands.values()}static _patchConfig(e){let t={...e,f1:!0};if(t.menu)for(let n of Ln.wrap(t.menu))(n.id===q.EditorContext||n.id===q.EditorContextPeek)&&(n.when=g.and(e.precondition,n.when));return t}constructor(t,n){super(e._patchConfig(n)),this.configuration=t,e._allSymbolNavigationCommands.set(n.id,this)}runEditorCommand(t,n,r,i){if(!n.hasModel())return Promise.resolve(void 0);let a=t.get(gi),o=t.get(Mi),s=t.get(Xc),c=t.get(Tb),l=t.get(U),u=t.get(x),d=n.getModel(),f=n.getPosition(),p=Gb.is(r)?r:new Gb(d,f),m=new ge(n,5),h=rl(this._getLocationModel(l,p.model,p.position,m.token),m.token).then(async t=>{if(!t||m.token.isCancellationRequested)return;hl(t.ariaMessage);let a;if(t.referenceAt(d.uri,f)){let t=this._getAlternativeCommand(n);t!==void 0&&!e._activeAlternativeCommands.has(t)&&e._allSymbolNavigationCommands.has(t)&&(a=e._allSymbolNavigationCommands.get(t))}let s=t.references.length;if(s===0){if(!this.configuration.muteMessage){let e=d.getWordAtPosition(f);Sf.get(n)?.showMessage(this._getNoResultFoundMessage(e),f)}}else if(s===1&&a)e._activeAlternativeCommands.add(this.desc.id),u.invokeFunction(t=>a.runEditorCommand(t,n,r,i).finally(()=>{e._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(o,c,n,t,i)},e=>{a.error(e)}).finally(()=>{m.dispose()});return s.showWhile(h,250),h}async _onResult(e,t,n,r,i){let a=this._getGoToPreference(n);if(!(n instanceof yy)&&(this.configuration.openInPeek||a===`peek`&&r.references.length>1))this._openInPeek(n,r,i);else{let o=r.firstReference(),s=r.references.length>1&&a===`gotoAndPeek`,c=await this._openReference(n,e,o,this.configuration.openToSide,!s);s&&c?this._openInPeek(c,r,i):r.dispose(),a===`goto`&&t.put(o)}}async _openReference(e,t,n,r,i){let a;if(on(n)&&(a=n.targetSelectionRange),a||=n.range,!a)return;let o=await t.openCodeEditor({resource:n.uri,options:{selection:S.collapseToStart(a),selectionRevealType:3,selectionSource:`code.jump`}},e,r);if(o){if(i){let e=o.getModel(),t=o.createDecorationsCollection([{range:a,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{o.getModel()===e&&t.clear()},350)}return o}}_openInPeek(e,t,n){let r=bb.get(e);r&&e.hasModel()?r.toggleWidget(n??e.getSelection(),pu(e=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Ib=Kb,Ib._allSymbolNavigationCommands=new Map,Ib._activeAlternativeCommands=new Set;var qb=class extends Kb{async _getLocationModel(e,t,n,r){return new Ky(await Ab(e.definitionProvider,t,n,!1,r),R(1082,`Definitions`))}_getNoResultFoundMessage(e){return e&&e.word?R(1083,`No definition found for '{0}'`,e.word):R(1084,`No definition found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleDefinitions}};We((Lb=class e extends qb{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...W(1108,`Go to Definition`),mnemonicTitle:R(1085,`Go to &&Definition`)},precondition:I.hasDefinitionProvider,keybinding:[{when:I.editorTextFocus,primary:70,weight:100},{when:g.and(I.editorTextFocus,ca),primary:2118,weight:100}],menu:[{id:q.EditorContext,group:`navigation`,order:1.1},{id:q.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:2}]}),In.registerCommandAlias(`editor.action.goToDeclaration`,e.id)}},Lb.id=`editor.action.revealDefinition`,Lb)),We((Rb=class e extends qb{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,title:W(1109,`Open Definition to the Side`),precondition:g.and(I.hasDefinitionProvider,I.isInEmbeddedEditor.toNegated()),keybinding:[{when:I.editorTextFocus,primary:mn(2089,70),weight:100},{when:g.and(I.editorTextFocus,ca),primary:mn(2089,2118),weight:100}]}),In.registerCommandAlias(`editor.action.openDeclarationToTheSide`,e.id)}},Rb.id=`editor.action.revealDefinitionAside`,Rb)),We((zb=class e extends qb{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,title:W(1110,`Peek Definition`),precondition:g.and(I.hasDefinitionProvider,Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated()),keybinding:{when:I.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:q.EditorContextPeek,group:`peek`,order:2}}),In.registerCommandAlias(`editor.action.previewDeclaration`,e.id)}},zb.id=`editor.action.peekDefinition`,zb));var Jb=class extends Kb{async _getLocationModel(e,t,n,r){return new Ky(await jb(e.declarationProvider,t,n,!1,r),R(1086,`Declarations`))}_getNoResultFoundMessage(e){return e&&e.word?R(1087,`No declaration found for '{0}'`,e.word):R(1088,`No declaration found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(67).multipleDeclarations}};We((Bb=class e extends Jb{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...W(1111,`Go to Declaration`),mnemonicTitle:R(1089,`Go to &&Declaration`)},precondition:g.and(I.hasDeclarationProvider,I.isInEmbeddedEditor.toNegated()),menu:[{id:q.EditorContext,group:`navigation`,order:1.3},{id:q.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?R(1090,`No declaration found for '{0}'`,e.word):R(1091,`No declaration found`)}},Bb.id=`editor.action.revealDeclaration`,Bb)),We(class extends Jb{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:`editor.action.peekDeclaration`,title:W(1112,`Peek Declaration`),precondition:g.and(I.hasDeclarationProvider,Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated()),menu:{id:q.EditorContextPeek,group:`peek`,order:3}})}});var Yb=class extends Kb{async _getLocationModel(e,t,n,r){return new Ky(await Nb(e.typeDefinitionProvider,t,n,!1,r),R(1092,`Type Definitions`))}_getNoResultFoundMessage(e){return e&&e.word?R(1093,`No type definition found for '{0}'`,e.word):R(1094,`No type definition found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleTypeDefinitions}};We((Vb=class e extends Yb{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...W(1113,`Go to Type Definition`),mnemonicTitle:R(1095,`Go to &&Type Definition`)},precondition:I.hasTypeDefinitionProvider,keybinding:{when:I.editorTextFocus,primary:0,weight:100},menu:[{id:q.EditorContext,group:`navigation`,order:1.4},{id:q.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:3}]})}},Vb.ID=`editor.action.goToTypeDefinition`,Vb)),We((Hb=class e extends Yb{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:W(1114,`Peek Type Definition`),precondition:g.and(I.hasTypeDefinitionProvider,Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated()),menu:{id:q.EditorContextPeek,group:`peek`,order:4}})}},Hb.ID=`editor.action.peekTypeDefinition`,Hb));var Xb=class extends Kb{async _getLocationModel(e,t,n,r){return new Ky(await Mb(e.implementationProvider,t,n,!1,r),R(1096,`Implementations`))}_getNoResultFoundMessage(e){return e&&e.word?R(1097,`No implementation found for '{0}'`,e.word):R(1098,`No implementation found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(67).multipleImplementations}};We((Ub=class e extends Xb{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...W(1115,`Go to Implementations`),mnemonicTitle:R(1099,`Go to &&Implementations`)},precondition:I.hasImplementationProvider,keybinding:{when:I.editorTextFocus,primary:2118,weight:100},menu:[{id:q.EditorContext,group:`navigation`,order:1.45},{id:q.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:4}]})}},Ub.ID=`editor.action.goToImplementation`,Ub)),We((Wb=class e extends Xb{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:W(1116,`Peek Implementations`),precondition:g.and(I.hasImplementationProvider,Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated()),keybinding:{when:I.editorTextFocus,primary:3142,weight:100},menu:{id:q.EditorContextPeek,group:`peek`,order:5}})}},Wb.ID=`editor.action.peekImplementation`,Wb));var Zb=class extends Kb{_getNoResultFoundMessage(e){return e?R(1100,`No references found for '{0}'`,e.word):R(1101,`No references found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(67).multipleReferences}};We(class extends Zb{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:`editor.action.goToReferences`,title:{...W(1117,`Go to References`),mnemonicTitle:R(1102,`Go to &&References`)},precondition:g.and(I.hasReferenceProvider,Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated()),keybinding:{when:I.editorTextFocus,primary:1094,weight:100},menu:[{id:q.EditorContext,group:`navigation`,order:1.45},{id:q.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:5}]})}async _getLocationModel(e,t,n,r){return new Ky(await Pb(e.referenceProvider,t,n,!0,!1,r),R(1103,`References`))}}),We(class extends Zb{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:`editor.action.referenceSearch.trigger`,title:W(1118,`Peek References`),precondition:g.and(I.hasReferenceProvider,Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated()),menu:{id:q.EditorContextPeek,group:`peek`,order:6}})}async _getLocationModel(e,t,n,r){return new Ky(await Pb(e.referenceProvider,t,n,!1,!1,r),R(1104,`References`))}});var Qb=class extends Kb{constructor(e,t,n){super(e,{id:`editor.action.goToLocation`,title:W(1119,`Go to Any Symbol`),precondition:g.and(Ny.notInPeekEditor,I.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=n}async _getLocationModel(e,t,n,r){return new Ky(this._references,R(1105,`Locations`))}_getNoResultFoundMessage(e){return e&&R(1106,`No results for '{0}'`,e.word)||``}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(67).multipleReferences}_getAlternativeCommand(){}};In.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:Nn},{name:`position`,description:`The position at which to start`,constraint:k.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(e,t,n,r,i,a,o)=>{Gi(Nn.isUri(t)),Gi(k.isIPosition(n)),Gi(Array.isArray(r)),Gi(i===void 0||typeof i==`string`),Gi(o===void 0||typeof o==`boolean`);let s=e.get(Mi),c=await s.openCodeEditor({resource:t},s.getFocusedCodeEditor());if(zc(c))return c.setPosition(n),c.revealPositionInCenterIfOutsideViewport(n,0),c.invokeWithinContext(e=>{let t=new class extends Qb{_getNoResultFoundMessage(e){return a||super._getNoResultFoundMessage(e)}}({muteMessage:!a,openInPeek:!!o,openToSide:!1},r,i);e.get(x).invokeFunction(t.run.bind(t),c)})}}),In.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:Nn},{name:`position`,description:`The position at which to start`,constraint:k.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(e,t,n,r,i)=>{e.get(or).executeCommand(`editor.action.goToLocations`,t,n,r,i,void 0,!0)}}),In.registerCommand({id:`editor.action.findReferences`,handler:(e,t,n)=>{Gi(Nn.isUri(t)),Gi(k.isIPosition(n));let r=e.get(U),i=e.get(Mi);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then(e=>{if(!zc(e)||!e.hasModel())return;let t=bb.get(e);if(!t)return;let i=pu(t=>Pb(r.referenceProvider,e.getModel(),k.lift(n),!1,!1,t).then(e=>new Ky(e,R(1107,`References`)))),a=new S(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(a,i,!1))})}}),In.registerCommandAlias(`editor.action.showReferences`,`editor.action.peekLocations`);async function $b(e,t,n,r){let i=e.get(xi),a=e.get(Xu),o=e.get(or),s=e.get(x),c=e.get(gi);if(await r.item.resolve(L.None),!r.part.location)return;let l=r.part.location,u=[],d=new Set(be.getMenuItems(q.EditorContext).map(e=>ei(e)?e.command.id:ms()));for(let e of Kb.all())d.has(e.desc.id)&&u.push(new pn(e.desc.id,Hr.label(e.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let n=await i.createModelReference(l.uri);try{let i=new Gb(n.object.textEditorModel,S.getStartPosition(l.range)),a=r.item.anchor.range;await s.invokeFunction(e.runEditorCommand.bind(e),t,i,a)}finally{n.dispose()}}));if(r.part.command){let{command:e}=r.part;u.push(new Ar),u.push(new pn(e.id,e.title,void 0,!0,async()=>{try{await o.executeCommand(e.id,...e.arguments??[])}catch(e){c.notify({severity:Ri.Error,source:r.item.provider.displayName,message:e})}}))}let f=t.getOption(144);a.showContextMenu({domForShadowRoot:f?t.getDomNode()??void 0:void 0,getAnchor:()=>{let e=Uo(n);return{x:e.left,y:e.top+e.height+8}},getActions:()=>u,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function ex(e,t,n,r){let i=await e.get(xi).createModelReference(r.uri);await n.invokeWithinContext(async e=>{let a=t.hasSideBySideModifier,o=e.get(Ls),s=Ny.inPeekEditor.getValue(o);return new qb({openToSide:a,openInPeek:!a&&n.getOption(101)&&!s,muteMessage:!0},{title:{value:``,original:``},id:``,precondition:void 0}).run(e,new Gb(i.object.textEditorModel,S.getStartPosition(r.range)),S.lift(r.range))}),i.dispose()}var tx,nx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rx=function(e,t){return function(n,r){t(n,r,e)}},ix,ax=class e{constructor(){this._entries=new Qo(50)}get(t){let n=e._key(t);return this._entries.get(n)}set(t,n){let r=e._key(t);this._entries.set(r,n)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}},ox=tn(`IInlayHintsCache`);ys(ox,ax,1);var sx=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]}},cx=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}},lx=class{constructor(){this._store=new Ne,this._tokenSource=new Eu}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new Eu,this._store.value=new b,{store:this._store.value,token:this._tokenSource.token}}},ux=(tx=class{static get(e){return e.getContribution(ix.ID)??void 0}constructor(e,t,n,r,i,a,o){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=i,this._notificationService=a,this._instaService=o,this._disposables=new b,this._sessionDisposables=new b,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new Zs(this._editor)),this._debounceInfo=n.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(e=>{e.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 t,n;e.enabled===`onUnlessPressed`?(t=0,n=1):(t=1,n=0),this._activeRenderMode=t,this._sessionDisposables.add(i.getInstance().event(e=>{if(!this._editor.hasModel())return;let r=e.altKey&&e.ctrlKey&&!(e.shiftKey||e.metaKey)?n:t;if(r!==this._activeRenderMode){this._activeRenderMode=r;let e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),o.schedule(0)}}))}let n=this._inlayHintsCache.get(t);n&&this._updateHintsDecorators([t.getFullModelRange()],n),this._sessionDisposables.add(Tn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r=new Set;this._sessionDisposables.add(t.onWillDispose(()=>void 0));let a=this._sessionDisposables.add(new lx),o=new Vl(async()=>{let e=Date.now(),{store:n,token:i}=a.reset();try{let a=await hy.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),i);if(o.delay=this._debounceInfo.update(t,Date.now()-e),i.isCancellationRequested){a.dispose();return}for(let e of a.provider)typeof e.onDidChangeInlayHints==`function`&&!r.has(e)&&(r.add(e),n.add(e.onDidChangeInlayHints(()=>{o.isScheduled()||o.schedule()})));n.add(a),n.add(Tn(()=>r.clear())),this._updateHintsDecorators(a.ranges,a.items),this._cacheHintsForFastRestore(t)}catch(e){il(e)}},this._debounceInfo.get(t));this._sessionDisposables.add(o),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||!o.isScheduled())&&o.schedule()}));let s=this._sessionDisposables.add(new Ne);this._sessionDisposables.add(this._editor.onDidChangeModelContent(e=>{let t=Math.max(o.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+t},s.value=ho(()=>o.schedule(0),t),o.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(159)&&o.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>o.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let e=new b,t=e.add(new dy(this._editor)),n=new b;return e.add(n),e.add(t.onMouseMoveOrRelevantKeyDown(e=>{let[t]=e,r=this._getInlayHintLabelPart(t),i=this._editor.getModel();if(!r||!i){n.clear();return}let a=new Eu;n.add(Tn(()=>a.dispose(!0))),r.item.resolve(a.token),this._activeInlayHintPart=r.part.command||r.part.location?new cx(r,t.hasTriggerModifier):void 0;let o=i.validatePosition(r.item.hint.position).lineNumber,s=new S(o,1,o,i.getLineMaxColumn(o)),c=this._getInlineHintsForRange(s);this._updateHintsDecorators([s],c),n.add(Tn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([s],c)}))})),e.add(t.onCancel(()=>n.clear())),e.add(t.onExecute(async e=>{let t=this._getInlayHintLabelPart(e);if(t){let n=t.part;n.location?this._instaService.invokeFunction(ex,e,this._editor,n.location):$n.is(n.command)&&await this._invokeCommand(n.command,t.item)}})),e}_getInlineHintsForRange(e){let t=new Set;for(let n of this._decorationsMetadata.values())e.containsRange(n.item.anchor.range)&&t.add(n.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;let n=this._getInlayHintLabelPart(t);if(n&&(t.event.preventDefault(),await n.item.resolve(L.None),td(n.item.hint.textEdits))){let t=n.item.hint.textEdits.map(e=>Ns.replace(S.lift(e.range),e.text));this._editor.executeEdits(`inlayHint.default`,t),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!Gr(e.event.target))return;let t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction($b,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options;if(t instanceof Ta&&t?.attachedData instanceof sx)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(e){this._notificationService.notify({severity:Ri.Error,source:t.provider.displayName,message:e})}}_cacheHintsForFastRestore(e){let t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){let t=new Map;for(let[n,r]of this._decorationsMetadata){if(t.has(r.item))continue;let i=e.getDecorationRange(n);if(i){let e=new py(i,r.item.anchor.direction),n=r.item.with({anchor:e});t.set(r.item,n)}}return Array.from(t.values())}_getHintsRanges(){let e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(let r of t.sort(S.compareRangesUsingStarts)){let t=e.validateRange(new S(r.startLineNumber-30,r.startColumn,r.endLineNumber+30,r.endColumn));n.length===0||!S.areIntersectingOrTouching(n[n.length-1],t)?n.push(t):n[n.length-1]=S.plusRange(n[n.length-1],t)}return n}_updateHintsDecorators(e,t){let n=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&e.some(e=>e.containsPosition(this._cursorInfo.position))){let{position:e}=this._cursorInfo;this._cursorInfo=void 0;let r=new Map;for(let t of this._editor.getLineDecorations(e.lineNumber)??[]){let n=this._decorationsMetadata.get(t.id);if(t.range.startColumn>e.column)continue;let i=n?.decoration.options[n.item.anchor.direction];if(i&&i.attachedData!==ix._whitespaceData){let e=r.get(n.item)??0;r.set(n.item,e+i.content.length)}}let i=t.filter(t=>t.anchor.range.startLineNumber===e.lineNumber&&t.anchor.range.endColumn<=e.column),a=Array.from(r.values()),o;for(;;){let e=i.shift(),t=a.shift();if(!t&&!e)break;if(e)n.set(e,t??0),o=e;else if(o&&t){let e=n.get(o);e+=t,e+=a.reduce((e,t)=>e+t,0),a.length=0;break}}}let r=[],i=(e,t,n,i,a)=>{let o={content:n,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:i,attachedData:a};r.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:`InlayHint`,showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:this._activeRenderMode===0?o:void 0}}})},a=(e,t)=>{let n=this._ruleFactory.createClassNameRef({width:`${o/3|0}px`,display:`inline-block`});i(e,n,` `,t?De.Right:De.None,ix._whitespaceData)},{fontSize:o,fontFamily:s,padding:c,isUniform:l}=this._getLayoutInfo(),u=this._editor.getOption(159).maximumLength,d=`--code-editorInlayHintsFontFamily`;this._editor.getContainerDomNode().style.setProperty(d,s);let f={line:0,totalLen:0};for(let e=0;e<t.length;e++){let s=t[e];if(f.line!==s.anchor.range.startLineNumber&&(f={line:s.anchor.range.startLineNumber,totalLen:0}),u&&f.totalLen>u)continue;s.hint.paddingLeft&&a(s,!1);let p=typeof s.hint.label==`string`?[{label:s.hint.label}]:s.hint.label,m=n.get(s),h=0;for(let e=0;e<p.length;e++){let t=p[e],n=e===0,r=e===p.length-1,a={fontSize:`${o}px`,fontFamily:`var(${d}), ${Ui.fontFamily}`,verticalAlign:l?`baseline`:`middle`,unicodeBidi:`isolate`};td(s.hint.textEdits)&&(a.cursor=`default`),this._fillInColors(a,s.hint),(t.command||t.location)&&this._activeInlayHintPart?.part.item===s&&this._activeInlayHintPart.part.index===e&&(a.textDecoration=`underline`,this._activeInlayHintPart.hasTriggerModifier&&(a.color=Al(Ki),a.cursor=`pointer`));let g=t.label;f.totalLen+=g.length;let _=!1,v=u===0?0:f.totalLen-u;if(v>0&&(g=g.slice(0,-v)+`…`,_=!0),h+=g.length,m!==void 0){let e=h-m;e>=0&&(h-=e,g=g.slice(0,-(1+e))+`…`,_=!0)}if(c&&(n&&(r||_)?(a.padding=`1px ${Math.max(1,o/4)|0}px`,a.borderRadius=`${o/4|0}px`):n?(a.padding=`1px 0 1px ${Math.max(1,o/4)|0}px`,a.borderRadius=`${o/4|0}px 0 0 ${o/4|0}px`):r||_?(a.padding=`1px ${Math.max(1,o/4)|0}px 1px 0`,a.borderRadius=`0 ${o/4|0}px ${o/4|0}px 0`):a.padding=`1px 0 1px 0`),i(s,this._ruleFactory.createClassNameRef(a),dx(g),r&&!s.hint.paddingRight?De.Right:De.None,new sx(s,e)),_)break}if(m!==void 0&&h<m){let e=m-h;i(s,this._ruleFactory.createClassNameRef({}),` `.repeat(e),De.None)}if(s.hint.paddingRight&&a(s,!0),r.length>ix._MAX_DECORATORS)break}let p=[];for(let[t,n]of this._decorationsMetadata){let r=this._editor.getModel()?.getDecorationRange(t);r&&e.some(e=>e.containsRange(r))&&(p.push(t),n.classNameRef.dispose(),this._decorationsMetadata.delete(t))}let m=La.capture(this._editor);this._editor.changeDecorations(e=>{let t=e.deltaDecorations(p,r.map(e=>e.decoration));for(let e=0;e<t.length;e++){let n=r[e];this._decorationsMetadata.set(t[e],n)}}),m.restore(this._editor)}_fillInColors(e,t){t.kind===dr.Parameter?(e.backgroundColor=Al(tl),e.color=Al(vc)):t.kind===dr.Type?(e.backgroundColor=Al(us),e.color=Al(Zo)):(e.backgroundColor=Al(po),e.color=Al(Ro))}_getLayoutInfo(){let e=this._editor.getOption(159),t=e.padding,n=this._editor.getOption(61),r=this._editor.getOption(58),i=e.fontSize;(!i||i<5||i>n)&&(i=n);let a=e.fontFamily||r;return{fontSize:i,fontFamily:a,padding:t,isUniform:!t&&a===r&&i===n}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},ix=tx,tx.ID=`editor.contrib.InlayHints`,tx._MAX_DECORATORS=1500,tx._whitespaceData={},tx);ux=ix=nx([rx(1,U),rx(2,Da),rx(3,ox),rx(4,or),rx(5,gi),rx(6,x)],ux);function dx(e){return e.replace(/[ \t]/g,`\xA0`)}In.registerCommand(`_executeInlayHintProvider`,async(e,...t)=>{let[n,r]=t;Gi(Nn.isUri(n)),Gi(S.isIRange(r));let{inlayHintsProvider:i}=e.get(U),a=await e.get(xi).createModelReference(n);try{let e=await hy.create(i,a.object.textEditorModel,[S.lift(r)],L.None),t=e.items.map(e=>e.hint);return setTimeout(()=>e.dispose(),0),t}finally{a.dispose()}});var fx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},px=function(e,t){return function(n,r){t(n,r,e)}},mx=class extends wh{constructor(e,t,n,r){super(10,t,e.item.anchor.range,n,r,!0),this.part=e}},hx=class extends jv{constructor(e,t,n,r,i,a,o,s){super(e,t,i,o,n,r,s),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!ux.get(this._editor)||e.target.type!==6)return null;let t=e.target.detail.injectedText?.options;return t instanceof Ta&&t.attachedData instanceof sx?new mx(t.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,n,r){return e instanceof mx?new Ts(async t=>{let{part:n}=e;if(await n.item.resolve(r),r.isCancellationRequested)return;let i;typeof n.item.hint.tooltip==`string`?i=new mi().appendText(n.item.hint.tooltip):n.item.hint.tooltip&&(i=n.item.hint.tooltip),i&&t.emitOne(new kv(this,e.range,[i],!1,0)),td(n.item.hint.textEdits)&&t.emitOne(new kv(this,e.range,[new mi().appendText(R(1205,`Double-click to insert`))],!1,10001));let a;if(typeof n.part.tooltip==`string`?a=new mi().appendText(n.part.tooltip):n.part.tooltip&&(a=n.part.tooltip),a&&t.emitOne(new kv(this,e.range,[a],!1,1)),n.part.location||n.part.command){let r,i=this._editor.getOption(86)===`altKey`?di?R(1206,`cmd + click`):R(1207,`ctrl + click`):di?R(1208,`option + click`):R(1209,`alt + click`);n.part.location&&n.part.command?r=new mi().appendText(R(1210,`Go to Definition ({0}), right click for more`,i)):n.part.location?r=new mi().appendText(R(1211,`Go to Definition ({0})`,i)):n.part.command&&(r=new mi(`[${R(1212,`Execute Command`)}](${gy(n.part.command)} "${n.part.command.title}") (${i})`,{isTrusted:!0})),r&&t.emitOne(new kv(this,e.range,[r],!1,1e4))}let o=this._resolveInlayHintLabelPartHover(n,r);for await(let e of o)t.emitOne(e)}):Ts.EMPTY}async*_resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return;let{uri:n,range:r}=e.part.location,i=await this._resolverService.createModelReference(n);try{let n=i.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(n))return;for await(let i of xv(this._languageFeaturesService.hoverProvider,n,new k(r.startLineNumber,r.startColumn),t))gt(i.hover.contents)||(yield new kv(this,e.item.anchor.range,i.hover.contents,!1,2+i.ordinal))}finally{i.dispose()}}};hx=fx([px(1,lt),px(2,Ir),px(3,_a),px(4,Ea),px(5,xi),px(6,U),px(7,or)],hx);var gx,_x=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vx=function(e,t){return function(n,r){t(n,r,e)}},yx,bx,xx=yx=class extends O{constructor(e,t,n,r,i,a,o){super();let s=t.hoverParts;this._renderedHoverParts=this._register(new Cx(e,n,s,r,i,a,o));let c=t.options,l=c.anchor,{showAtPosition:u,showAtSecondaryPosition:d}=yx.computeHoverPositions(e,l.range,s);this.shouldAppearBeforeContent=s.some(e=>e.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=d,this.initialMousePosX=l.initialMousePosX,this.initialMousePosY=l.initialMousePosY,this.shouldFocus=c.shouldFocus,this.source=c.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,n){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,n)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,n){let r=1;if(e.hasModel()){let n=e._getViewModel(),i=n.coordinatesConverter,a=i.convertModelRangeToViewRange(t),o=n.getLineMinColumn(a.startLineNumber),s=new k(a.startLineNumber,o);r=i.convertViewPositionToModelPosition(s).column}let i=t.startLineNumber,a=t.startColumn,o;for(let e of n){let t=e.range,n=t.startLineNumber===i,s=t.endLineNumber===i;if(n&&s){let e=t.startColumn;a=Math.max(Math.min(a,e),r)}e.forceShowAtRange&&(o=t)}let s,c;if(o){let e=o.getStartPosition();s=e,c=e}else s=t.getStartPosition(),c=new k(i,a);return{showAtPosition:s,showAtSecondaryPosition:c}}};xx=yx=_x([vx(4,Ir),vx(5,_a),vx(6,we)],xx);var Sx=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()}},Cx=(gx=class extends O{constructor(e,t,n,r,i,a,o){super(),this._hoverService=a,this._clipboardService=o,this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=r,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,n,r,i,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,n)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return O.None;let n=t[0].range;for(let e of t){let t=e.range;n=S.plusRange(n,t)}let r=e.createDecorationsCollection();return r.set([{range:n,options:bx._DECORATION_OPTIONS}]),Tn(()=>{r.clear()})}_renderParts(e,t,n,r,i){let a=new Yg(r,i),o={fragment:this._fragment,statusBar:a,...n},s=new b;s.add(a);for(let n of e){let e=this._renderHoverPartsForParticipant(t,n,o);s.add(e);for(let t of e.renderedHoverParts)this._renderedParts.push({type:`hoverPart`,participant:n,hoverPart:t.hoverPart,hoverElement:t.hoverElement})}let c=this._renderStatusBar(this._fragment,a);return c&&(s.add(c),this._renderedParts.push({type:`statusBar`,hoverElement:c.hoverElement,actions:c.actions})),s}_renderHoverPartsForParticipant(e,t,n){let r=e.filter(e=>e.owner===t);return r.length>0?t.renderHoverParts(n,r):new Th([])}_renderStatusBar(e,t){if(t.hasContent)return new Sx(e,t)}_registerListenersOnRenderedParts(){let e=new b;return this._renderedParts.forEach((t,n)=>{let r=t.hoverElement;r.tabIndex=0,e.add(H(r,vr.FOCUS_IN,e=>{e.stopPropagation(),this._focusedHoverPartIndex=n})),e.add(H(r,vr.FOCUS_OUT,e=>{e.stopPropagation(),this._focusedHoverPartIndex=-1})),t.type===`hoverPart`&&!t.participant.hideCopyButton&&e.add(new vv(r,()=>t.participant.getAccessibleContent(t.hoverPart),this._clipboardService,this._hoverService))}),e}_updateMarkdownAndColorParticipantInfo(e){let t=e.find(e=>e instanceof jv&&!(e instanceof hx));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(e=>e instanceof ay)}focusHoverPartWithIndex(e){e<0||e>=this._renderedParts.length||this._renderedParts[e].hoverElement.focus()}async updateHoverVerbosityLevel(e,t,n){if(!this._markdownHoverParticipant)return;let r;r=t>=0?{start:t,endExclusive:t+1}:this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let t=r.start;t<r.endExclusive;t++){let n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(n===void 0)continue;let r=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n);r&&(this._renderedParts[t]={type:`hoverPart`,participant:this._markdownHoverParticipant,hoverPart:r.hoverPart,hoverElement:r.hoverElement})}n&&(t>=0?this.focusHoverPartWithIndex(t):this._context.focus()),this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){let n=this._renderedParts[t];if(!n||n.type!==`hoverPart`||n.participant!==e)return;let r=this._renderedParts.findIndex(t=>t.type===`hoverPart`&&t.participant===e);if(r===-1)throw new lc;return t-r}_findRangeOfMarkdownHoverParts(e){let t=this._renderedParts.slice(),n=t.findIndex(t=>t.type===`hoverPart`&&t.participant===e),r=t.reverse().findIndex(t=>t.type===`hoverPart`&&t.participant===e);return{start:n,endExclusive:(r>=0?t.length-r:r)+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}},bx=gx,gx._DECORATION_OPTIONS=G.register({description:`content-hover-highlight`,className:`hoverHighlight`}),gx);Cx=bx=_x([vx(4,Ir),vx(5,_a),vx(6,we)],Cx);var wx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Tx=function(e,t){return function(n,r){t(n,r,e)}},Ex=class extends O{constructor(e,t,n,r,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=n,this._hoverService=r,this._clipboardService=i,this._currentResult=null,this._renderedContentHover=this._register(new Ne),this._onContentsChanged=this._register(new B),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Vg,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new Ag(this._editor,new Ug(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let e=[];for(let t of Eh.getAll()){let n=this._instantiationService.createInstance(t,this._editor);e.push(n)}return e.sort((e,t)=>e.hoverOrdinal-t.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(e=>e.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll(e=>{this._participants.forEach(t=>t.handleScroll?.(e))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach(e=>e.handleContentsChanged?.())})),e}_registerListeners(){this._register(this._hoverOperation.onResult(e=>{let t=e.hasLoadingMessage?this._addLoadingMessage(e):e.value;this._withResult(new Wg(t,e.isComplete,e.options))}));let e=this._contentHoverWidget.getDomNode();this._register(Os(e,`keydown`,e=>{e.equals(9)&&this.hide()})),this._register(Os(e,`mouseleave`,e=>{this._onMouseLeave(e)})),this._register(Li.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(e,t,n,r,i){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):!1;let a=this._editor.getOption(69).sticky,o=i&&this._contentHoverWidget.isMouseGettingCloser(i.event.posx,i.event.posy);return a&&o?(e&&this._startHoverOperationIfNecessary(e,t,n,r,!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,n,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,n,r,i){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(e))return;this._hoverOperation.cancel();let a={anchor:e,source:n,shouldFocus:r,insistOnKeepingHoverVisible:i};this._hoverOperation.start(t,a)}_setCurrentResult(e){let t=e;this._currentResult!==t&&(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 n=t.createLoadingMessage(e.options.anchor);if(n)return e.value.slice(0).concat([n])}return e.value}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;let t=e.hoverParts.length===0,n=e.options.insistOnKeepingHoverVisible;t&&n||this._setCurrentResult(e)}_showHover(e){let t=this._getHoverContext();this._renderedContentHover.value=new xx(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:e=>{this._contentHoverWidget.setMinimumDimensions(e)},focus:()=>this.focus()}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;let t=this._findHoverAnchorCandidates(e);if(!(t.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);let n=t[0];return this._startShowingOrUpdateHover(n,0,0,!1,e)}_findHoverAnchorCandidates(e){let t=[];for(let n of this._participants){if(!n.suggestHoverAnchor)continue;let r=n.suggestHoverAnchor(e);r&&t.push(r)}let n=e.target;switch(n.type){case 6:t.push(new Ch(0,n.range,e.event.posx,e.event.posy));break;case 7:{let r=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!n.detail.isAfterLines&&typeof n.detail.horizontalDistanceToText==`number`&&n.detail.horizontalDistanceToText<r))break;t.push(new Ch(0,n.range,e.event.posx,e.event.posy));break}}return t.sort((e,t)=>t.priority-e.priority),t}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Eg(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,n,r){this._startShowingOrUpdateHover(new Ch(0,e,void 0,void 0),t,n,r,null)}async updateHoverVerbosityLevel(e,t,n){this._renderedContentHover.value?.updateHoverVerbosityLevel(e,t,n)}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}};Ex=wx([Tx(1,x),Tx(2,Ir),Tx(3,_a),Tx(4,we)],Ex);function Dx(e){let t=e.target;return!!t&&t.type===6&&t.detail.injectedText?.options.attachedData===Hh}var Ox,kx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ax=function(e,t){return function(n,r){t(n,r,e)}},jx,Mx=(Ox=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._instantiationService=n,this._keybindingService=r,this._onHoverContentsChanged=this._register(new B),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new b,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new Vl(()=>{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(e=>{e.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(jx.ID)}_hookListeners(){let e=this._editor.getOption(69);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled===`off`&&this._cancelSchedulerAndHide(),this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_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()||Dx(e)}_isMouseOnContentHoverWidget(e){return this._contentWidget?Eg(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 n=this._hoverSettings.sticky,r=(e,t)=>{let n=this._isMouseOnContentHoverWidget(e);return t&&n},i=e=>{let n=t.isColorPickerVisible,r=this._isMouseOnContentHoverWidget(e),i=n&&r,a=n&&this._isMouseDown;return i||a},a=(e,n)=>{let r=e.event.browserEvent.view;return r?n&&t.containsNode(r.document.activeElement)&&!r.getSelection()?.isCollapsed:!1},o=t.isFocused,s=t.isResizing,c=this._hoverSettings.sticky&&t.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||o||s||c||r(e,n)||i(e)||a(e,n)}_onEditorMouseMove(e){if(!this._ignoreMouseEvents){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){Dg(this._hoverSettings.enabled,this._editor.getOption(86),e)&&this._getOrCreateContentWidget().showsOrWillShow(e)||this.hideContentHover()}_onKeyDown(e){if(this._ignoreMouseEvents||!this._contentWidget)return;if(this._hoverSettings.enabled===`onKeyboardModifier`&&Og(this._editor.getOption(86),e)&&this._mouseMoveEvent){this._contentWidget.isVisible||this._contentWidget.showsOrWillShow(this._mouseMoveEvent);return}let t=this._isPotentialKeyboardShortcut(e),n=jr(e.keyCode);t||n||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()),n=t.kind===1,r=t.kind===2&&(t.commandId===`editor.action.showHover`||t.commandId===`editor.action.increaseHoverVerbosityLevel`||t.commandId===`editor.action.decreaseHoverVerbosityLevel`)&&this._contentWidget.isVisible;return n||r}hideContentHover(){Sg.dropDownVisible||this._contentWidget?.hide()}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(Ex,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,n,r){this._getOrCreateContentWidget().startShowingAtRange(e,t,n,r)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,n){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,n)}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()}},jx=Ox,Ox.ID=`editor.contrib.contentHover`,Ox);Mx=jx=kx([Ax(1,Xu),Ax(2,x),Ax(3,Ir)],Mx);var Nx,Px=class extends O{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(e=>this.onMouseDown(e)))}dispose(){super.dispose()}onMouseDown(e){let t=this._editor.getOption(168);if(t!==`click`&&t!==`clickAndHover`||!Dx(e))return;let n=this._editor.getContribution(Mx.ID);if(!n||n.isColorPickerVisible)return;let r=e.target.range;if(!r)return;let i=new S(r.startLineNumber,r.startColumn+1,r.endLineNumber,r.endColumn+1);n.showContentHover(i,1,1,!1)}};Nx=Px,Nx.ID=`editor.contrib.colorContribution`;var Fx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ix=function(e,t){return function(n,r){t(n,r,e)}},Lx=class e{constructor(e,t,n,r){this.owner=e,this.range=t,this.model=n,this.provider=r}static fromBaseColor(t,n){return new e(t,n.range,n.model,n.provider)}},Rx=class extends O{constructor(e,t,n,r){super();let i=e.getModel(),a=n.model;this.color=n.model.color,this.colorPicker=this._register(new Zv(t.fragment,a,e.getOption(163),r,`standalone`)),this._register(a.onColorFlushed(e=>{this.color=e})),this._register(a.onDidChangeColor(e=>{ty(i,a,e,n.range,n)})),this._register(e.onDidChangeModelContent(n=>{t.hide(),e.focus()})),ty(i,a,this.color,n.range,n)}},zx=class{constructor(e,t){this._editor=e,this._themeService=t}async createColorHover(e,t,n){if(!this._editor.hasModel()||!Uh.get(this._editor))return null;let r=await jh(n,this._editor.getModel(),L.None),i=null,a=null;for(let t of r){let n=t.colorInfo;S.containsRange(n.range,e.range)&&(i=n,a=t.provider)}let o=i??e,s=a??t,c=!!i;return{colorHover:Lx.fromBaseColor(this,await $v(this._editor.getModel(),o,s)),foundInEditor:c}}async updateEditorModel(e){if(!this._editor.hasModel())return;let t=e.model,n=new S(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await ty(this._editor.getModel(),t,this._color,n,e),n=ey(this._editor,n,t))}renderHoverParts(e,t){if(!(t.length===0||!this._editor.hasModel()))return this._setMinimumDimensions(e),this._renderedParts=new Rx(this._editor,e,t[0],this._themeService),this._renderedParts}_setMinimumDimensions(e){let t=this._editor.getOption(75)+8;e.setMinimumDimensions(new Wi(302,t))}get _color(){return this._renderedParts?.color}};zx=Fx([Ix(1,nu)],zx);var Bx,Vx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Hx=function(e,t){return function(n,r){t(n,r,e)}},Ux,Wx=class{constructor(e,t){this.value=e,this.foundInEditor=t}},Gx=8,Kx=22,qx=(Bx=class extends O{constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=n,this._keybindingService=i,this._languageFeaturesService=a,this._editorWorkerService=o,this._hoverService=s,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement(`div`),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new B),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new Ne),this._renderedStatusBar=this._register(new Ne),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(zx,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let c=this._editor.getSelection(),l=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(Bs(this._body));this._register(u.onDidBlur(e=>{this.hide()})),this._register(u.onDidFocus(e=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(e=>{let t=e.target.element?.classList;t&&t.contains(`colorpicker-color-decoration`)&&this.hide()})),this._register(this.onResult(e=>{this._render(e.value,e.foundInEditor)})),this._start(l),this._body.style.zIndex=`50`,this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return Ux.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 Wx(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}},n=await this._standaloneColorPickerParticipant.createColorHover(t,new kh(this._editorWorkerService),this._languageFeaturesService.colorProvider);return n?{result:n.colorHover,foundInEditor:n.foundInEditor}:null}_render(e,t){let n=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new Yg(this._keybindingService,this._hoverService));let r={fragment:n,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=e,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(r,[e]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}let i=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(n),i.layout();let a=i.body,o=a.saturationBox.domNode.clientWidth,s=a.domNode.clientWidth-o-Kx-Gx,c=i.body.enterButton;c?.onClicked(()=>{this.updateEditor(),this.hide()});let l=i.header,u=l.pickedColorNode;u.style.width=o+Gx+`px`;let d=l.originalColorNode;d.style.width=s+`px`,i.header.closeButton?.onClicked(()=>{this.hide()}),t&&(c&&(c.button.textContent=`Replace`),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},Ux=Bx,Bx.ID=`editor.contrib.standaloneColorPickerWidget`,Bx);qx=Ux=Vx([Hx(3,x),Hx(4,Ir),Hx(5,U),Hx(6,ia),Hx(7,_a)],qx);var Jx,Yx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Xx=function(e,t){return function(n,r){t(n,r,e)}},Zx,Qx=(Jx=class extends O{constructor(e,t,n){super(),this._editor=e,this._instantiationService=n,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=I.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=I.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(qx,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(Zx.ID)}},Zx=Jx,Jx.ID=`editor.contrib.standaloneColorPickerController`,Jx);Qx=Zx=Yx([Xx(1,Ls),Xx(2,x)],Qx);var $x=class extends zi{constructor(){super({id:`editor.action.showOrFocusStandaloneColorPicker`,title:{...W(925,`Show or Focus Standalone Color Picker`),mnemonicTitle:R(924,`&&Show or Focus Standalone Color Picker`)},precondition:void 0,menu:[{id:q.CommandPalette}],metadata:{description:W(926,`Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.`)}})}runEditorCommand(e,t){Qx.get(t)?.showOrFocus()}},eS=class extends A{constructor(){super({id:`editor.action.hideColorPicker`,label:W(927,`Hide the Color Picker`),precondition:I.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:W(928,`Hide the standalone color picker.`)}})}run(e,t){Qx.get(t)?.hide()}},tS=class extends A{constructor(){super({id:`editor.action.insertColorWithStandaloneColorPicker`,label:W(929,`Insert Color with Standalone Color Picker`),precondition:I.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:W(930,`Insert hex/rgb/hsl colors with the focused standalone color picker.`)}})}run(e,t){Qx.get(t)?.insertColor()}};T(eS),T(tS),We($x),M(Px.ID,Px,2),M(Qx.ID,Qx,1),M(Uh.ID,Uh,1),ss(Ah),Eh.register(ay),In.registerCommand(`_executeDocumentColorProvider`,function(e,...t){let[n]=t;if(!(n instanceof Nn))throw go();let{model:r,colorProviderRegistry:i,defaultColorDecoratorsEnablement:a}=Lh(e,n);return Ih(new Ph,i,r,L.None,a)}),In.registerCommand(`_executeColorPresentationProvider`,function(e,...t){let[n,r]=t;if(!r)return;let{uri:i,range:a}=r;if(!(i instanceof Nn)||!Array.isArray(n)||n.length!==4||!S.isIRange(a))throw go();let{model:o,colorProviderRegistry:s,defaultColorDecoratorsEnablement:c}=Lh(e,i),[l,u,d,f]=n;return Ih(new Fh({range:a,color:{red:l,green:u,blue:d,alpha:f}}),s,o,L.None,c)});var nS=class e{constructor(e,t,n){this.languageConfigurationService=n,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,n){if(n<0)return!1;let r=t.length,i=e.length;if(n+r>i)return!1;for(let i=0;i<r;i++){let r=e.charCodeAt(n+i),a=t.charCodeAt(i);if(r!==a&&!(r>=65&&r<=90&&r+32===a)&&!(a>=65&&a<=90&&a+32===r))return!1}return!0}_createOperationsForBlockComment(t,n,r,i,a,o){let s=t.startLineNumber,c=t.startColumn,l=t.endLineNumber,u=t.endColumn,d=a.getLineContent(s),f=a.getLineContent(l),p=d.lastIndexOf(n,c-1+n.length),m=f.indexOf(r,u-1-r.length);if(p!==-1&&m!==-1){if(s===l)d.substring(p+n.length,m).indexOf(r)>=0&&(p=-1,m=-1);else{let e=d.substring(p+n.length),t=f.substring(0,m);(e.indexOf(r)>=0||t.indexOf(r)>=0)&&(p=-1,m=-1)}}let h;p!==-1&&m!==-1?(i&&p+n.length<d.length&&d.charCodeAt(p+n.length)===32&&(n+=` `),i&&m>0&&f.charCodeAt(m-1)===32&&(r=` `+r,--m),h=e._createRemoveBlockCommentOperations(new S(s,p+n.length+1,l,m+1),n,r)):(h=e._createAddBlockCommentOperations(t,n,r,this._insertSpace),this._usedEndToken=h.length===1?r:null);for(let e of h)o.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,n){let r=[];return S.isEmpty(e)?r.push(Ns.delete(new S(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+n.length))):(r.push(Ns.delete(new S(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(Ns.delete(new S(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+n.length)))),r}static _createAddBlockCommentOperations(e,t,n,r){let i=[];return S.isEmpty(e)?i.push(Ns.replace(new S(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+` `+n)):(i.push(Ns.insert(new k(e.startLineNumber,e.startColumn),t+(r?` `:``))),i.push(Ns.insert(new k(e.endLineNumber,e.endColumn),(r?` `:``)+n))),i}getEditOperations(e,t){let n=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(n);let i=e.getLanguageIdAtPosition(n,r),a=this.languageConfigurationService.getLanguageConfiguration(i).comments;!a||!a.blockCommentStartToken||!a.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,a.blockCommentStartToken,a.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){let n=t.getInverseEditOperations();if(n.length===2){let e=n[0],t=n[1];return new j(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{let e=n[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new j(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}},rS=class e{constructor(e,t,n,r,i,a,o){this.languageConfigurationService=e,this._selection=t,this._indentSize=n,this._type=r,this._insertSpace=i,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=a,this._ignoreFirstLine=o||!1}static _gatherPreflightCommentStrings(e,t,n,r){e.tokenization.tokenizeIfCheap(t);let i=e.getLanguageIdAtPosition(t,1),a=r.getLanguageConfiguration(i).comments,o=a?a.lineCommentToken:null;if(!o)return null;let s=[];for(let e=0,r=n-t+1;e<r;e++)s[e]={ignore:!1,commentStr:o,commentStrOffset:0,commentStrLength:o.length};return s}static _analyzeLines(e,t,n,r,i,a,o,s,c){let l=!0,u=s.getLanguageConfiguration(c).comments?.lineCommentNoIndent??!1,d;d=e===0||e!==1;for(let s=0,c=r.length;s<c;s++){let c=r[s],f=i+s;if(f===i&&o){c.ignore=!0;continue}let p=n.getLineContent(f),m=Vi(p);if(m===-1){c.ignore=a,c.commentStrOffset=u?0:p.length;continue}l=!1;let h=u?0:m;if(c.ignore=!1,c.commentStrOffset=h,d&&!nS._haystackHasNeedleAtOffset(p,c.commentStr,h)&&(e===0?d=!1:e===1||(c.ignore=!0)),d&&t){let e=m+c.commentStrLength;e<p.length&&p.charCodeAt(e)===32&&(c.commentStrLength+=1)}}if(e===0&&l){d=!1;for(let e=0,t=r.length;e<t;e++)r[e].ignore=!1}return{supported:!0,shouldRemoveComments:d,lines:r}}static _gatherPreflightData(t,n,r,i,a,o,s,c){let l=e._gatherPreflightCommentStrings(r,i,a,c),u=r.getLanguageIdAtPosition(i,1);return l===null?{supported:!1}:e._analyzeLines(t,n,r,l,i,o,s,c,u)}_executeLineComments(t,n,r,i){let a;r.shouldRemoveComments?a=e._createRemoveLineCommentsOperations(r.lines,i.startLineNumber):(e._normalizeInsertionPoint(t,r.lines,i.startLineNumber,this._indentSize),a=this._createAddLineCommentsOperations(r.lines,i.startLineNumber));let o=new k(i.positionLineNumber,i.positionColumn);for(let e=0,r=a.length;e<r;e++)n.addEditOperation(a[e].range,a[e].text),S.isEmpty(a[e].range)&&S.getStartPosition(a[e].range).equals(o)&&t.getLineContent(o.lineNumber).length+1===o.column&&(this._deltaColumn=(a[e].text||``).length);this._selectionId=n.trackSelection(i)}_attemptRemoveBlockComment(e,t,n,r){let i=t.startLineNumber,a=t.endLineNumber,o=r.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),s=e.getLineContent(i).lastIndexOf(n,o-1),c=e.getLineContent(a).indexOf(r,t.endColumn-1-n.length);return s!==-1&&c===-1&&(c=e.getLineContent(i).indexOf(r,s+n.length),a=i),s===-1&&c!==-1&&(s=e.getLineContent(a).lastIndexOf(n,c),i=a),t.isEmpty()&&(s===-1||c===-1)&&(s=e.getLineContent(i).indexOf(n),s!==-1&&(c=e.getLineContent(i).indexOf(r,s+n.length))),s!==-1&&e.getLineContent(i).charCodeAt(s+n.length)===32&&(n+=` `),c!==-1&&e.getLineContent(a).charCodeAt(c-1)===32&&(r=` `+r,--c),s!==-1&&c!==-1?nS._createRemoveBlockCommentOperations(new S(i,s+n.length+1,a,c+1),n,r):null}_executeBlockComment(e,t,n){e.tokenization.tokenizeIfCheap(n.startLineNumber);let r=e.getLanguageIdAtPosition(n.startLineNumber,1),i=this.languageConfigurationService.getLanguageConfiguration(r).comments;if(!i||!i.blockCommentStartToken||!i.blockCommentEndToken)return;let a=i.blockCommentStartToken,o=i.blockCommentEndToken,s=this._attemptRemoveBlockComment(e,n,a,o);if(!s){if(n.isEmpty()){let t=e.getLineContent(n.startLineNumber),r=Vi(t);r===-1&&(r=t.length),s=nS._createAddBlockCommentOperations(new S(n.startLineNumber,r+1,n.startLineNumber,t.length+1),a,o,this._insertSpace)}else s=nS._createAddBlockCommentOperations(new S(n.startLineNumber,e.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),a,o,this._insertSpace);s.length===1&&(this._deltaColumn=a.length+1)}this._selectionId=t.trackSelection(n);for(let e of s)t.addEditOperation(e.range,e.text)}getEditOperations(t,n){let r=this._selection;if(this._moveEndPositionDown=!1,r.startLineNumber===r.endLineNumber&&this._ignoreFirstLine){n.addEditOperation(new S(r.startLineNumber,t.getLineMaxColumn(r.startLineNumber),r.startLineNumber+1,1),r.startLineNumber===t.getLineCount()?``:`
|
|
10
|
-
`),this._selectionId=n.trackSelection(r);return}r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,t.getLineMaxColumn(r.endLineNumber-1)));let i=e._gatherPreflightData(this._type,this._insertSpace,t,r.startLineNumber,r.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return i.supported?this._executeLineComments(t,n,i,r):this._executeBlockComment(t,n,r)}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),new j(n.selectionStartLineNumber,n.selectionStartColumn+this._deltaColumn,n.positionLineNumber,n.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){let n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];i.ignore||n.push(Ns.delete(new S(t+r,i.commentStrOffset+1,t+r,i.commentStrOffset+i.commentStrLength+1)))}return n}_createAddLineCommentsOperations(e,t){let n=[],r=this._insertSpace?` `:``;for(let i=0,a=e.length;i<a;i++){let a=e[i];a.ignore||n.push(Ns.insert(new k(t+i,a.commentStrOffset+1),a.commentStr+r))}return n}static nextVisibleColumn(e,t,n,r){return n?e+(t-e%t):e+r}static _normalizeInsertionPoint(t,n,r,i){let a=1073741824,o,s;for(let o=0,s=n.length;o<s;o++){if(n[o].ignore)continue;let s=t.getLineContent(r+o),c=0;for(let t=0,r=n[o].commentStrOffset;c<a&&t<r;t++)c=e.nextVisibleColumn(c,i,s.charCodeAt(t)===9,1);c<a&&(a=c)}a=Math.floor(a/i)*i;for(let c=0,l=n.length;c<l;c++){if(n[c].ignore)continue;let l=t.getLineContent(r+c),u=0;for(o=0,s=n[c].commentStrOffset;u<a&&o<s;o++)u=e.nextVisibleColumn(u,i,l.charCodeAt(o)===9,1);u>a?n[c].commentStrOffset=o-1:n[c].commentStrOffset=o}}},iS=class extends A{constructor(e,t){super(t),this._type=e}run(e,t){let n=e.get(bu);if(!t.hasModel())return;let r=t.getModel(),i=[],a=r.getOptions(),o=t.getOption(29),s=t.getSelections().map((e,t)=>({selection:e,index:t,ignoreFirstLine:!1}));s.sort((e,t)=>S.compareRangesUsingStarts(e.selection,t.selection));let c=s[0];for(let e=1;e<s.length;e++){let t=s[e];c.selection.endLineNumber===t.selection.startLineNumber&&(c.index<t.index?t.ignoreFirstLine=!0:(c.ignoreFirstLine=!0,c=t))}for(let e of s)i.push(new rS(n,e.selection,a.indentSize,this._type,o.insertSpace,o.ignoreEmptyLines,e.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},aS=class extends iS{constructor(){super(0,{id:`editor.action.commentLine`,label:W(933,`Toggle Line Comment`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:`5_insert`,title:R(931,`&&Toggle Line Comment`),order:1},canTriggerInlineEdits:!0})}},oS=class extends iS{constructor(){super(1,{id:`editor.action.addCommentLine`,label:W(934,`Add Line Comment`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2081),weight:100},canTriggerInlineEdits:!0})}},sS=class extends iS{constructor(){super(2,{id:`editor.action.removeCommentLine`,label:W(935,`Remove Line Comment`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2099),weight:100},canTriggerInlineEdits:!0})}},cS=class extends A{constructor(){super({id:`editor.action.blockComment`,label:W(936,`Toggle Block Comment`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:`5_insert`,title:R(932,`Toggle &&Block Comment`),order:2},canTriggerInlineEdits:!0})}run(e,t){let n=e.get(bu);if(!t.hasModel())return;let r=t.getOption(29),i=[],a=t.getSelections();for(let e of a)i.push(new nS(e,r.insertSpace,n));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}};T(aS),T(oS),T(sS),T(cS);var lS,uS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dS=function(e,t){return function(n,r){t(n,r,e)}},fS,pS=(lS=class{static get(e){return e.getContribution(fS.ID)}constructor(e,t,n,r,i,a,o,s){this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=r,this._keybindingService=i,this._menuService=a,this._configurationService=o,this._workspaceContextService=s,this._toDispose=new b,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(e=>this._onContextMenu(e))),this._toDispose.add(this._editor.onMouseWheel(e=>{if(this._contextMenuIsBeingShownCount>0){let t=this._contextViewService.getContextViewElement(),n=e.srcElement;n.shadowRoot&&ol(t)===n.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(e=>{this._editor.getOption(30)&&e.keyCode===58&&(e.preventDefault(),e.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 t=!1;for(let n of this._editor.getSelections())if(n.containsPosition(e.target.position)){t=!0;break}t||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 n=[],r=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(let t of r){let[,r]=t,i=0;for(let t of r)if(t instanceof Iu){let r=this._getMenuActions(e,t.item.submenu);r.length>0&&(n.push(new gd(t.id,t.label,r)),i++)}else n.push(t),i++;i&&n.push(new Ar)}return n.length&&n.pop(),n}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=Uo(this._editor.getDomNode());n={x:t.left+e.left,y:t.top+e.top+e.height}}let r=this._editor.getOption(144)&&!le;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:e=>{let t=this._keybindingFor(e);if(t)return new ur(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});let n=e;return typeof n.getActionViewItem==`function`?n.getActionViewItem():new ur(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||Mn(this._workspaceContextService.getWorkspace()))return;let t=this._editor.getOption(81),n=0,r=e=>({id:`menu-action-${++n}`,label:e.label,tooltip:``,class:void 0,enabled:e.enabled===void 0||e.enabled,checked:e.checked,run:e.run}),i=(e,t)=>new gd(`menu-action-${++n}`,e,t,void 0),a=(e,t,n,a,o)=>{if(!t)return r({label:e,enabled:t,run:()=>{}});let s=e=>()=>{this._configurationService.updateValue(n,e)},c=[];for(let e of o)c.push(r({label:e.label,checked:a===e.value,run:s(e.value)}));return i(e,c)},o=[];o.push(r({label:R(937,`Minimap`),checked:t.enabled,run:()=>{this._configurationService.updateValue(`editor.minimap.enabled`,!t.enabled)}})),o.push(new Ar),o.push(r({label:R(938,`Render Characters`),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue(`editor.minimap.renderCharacters`,!t.renderCharacters)}})),o.push(a(R(939,`Vertical size`),t.enabled,`editor.minimap.size`,t.size,[{label:R(940,`Proportional`),value:`proportional`},{label:R(941,`Fill`),value:`fill`},{label:R(942,`Fit`),value:`fit`}])),o.push(a(R(943,`Slider`),t.enabled,`editor.minimap.showSlider`,t.showSlider,[{label:R(944,`Mouse Over`),value:`mouseover`},{label:R(945,`Always`),value:`always`}])),o.push(a(R(946,`Side`),t.enabled,`editor.minimap.side`,t.side,[{label:R(947,`Right`),value:`right`},{label:R(948,`Left`),value:`left`}]));let s=this._editor.getOption(144)&&!le;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>o,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},fS=lS,lS.ID=`editor.contrib.contextmenu`,lS);pS=fS=uS([dS(1,Xu),dS(2,Kr),dS(3,Ls),dS(4,Ir),dS(5,Ua),dS(6,Ea),dS(7,nr)],pS);var mS=class extends A{constructor(){super({id:`editor.action.showContextMenu`,label:W(949,`Show Editor Context Menu`),precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:1092,weight:100}})}run(e,t){pS.get(t)?.showContextMenu()}};M(pS.ID,pS,2),T(mS);var hS,gS=class{constructor(e){this.selections=e}equals(e){let t=this.selections.length;if(t!==e.selections.length)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}},_S=class{constructor(e,t,n){this.cursorState=e,this.scrollTop=t,this.scrollLeft=n}},vS=class e extends O{static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;let n=new gS(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(n)||(this._undoStack.push(new _S(n,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 _S(new gS(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 _S(new gS(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}};hS=vS,hS.ID=`editor.contrib.cursorUndoRedoController`;var yS=class extends A{constructor(){super({id:`cursorUndo`,label:W(950,`Cursor Undo`),precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:2099,weight:100}})}run(e,t,n){vS.get(t)?.cursorUndo()}},bS=class extends A{constructor(){super({id:`cursorRedo`,label:W(951,`Cursor Redo`),precondition:void 0})}run(e,t,n){vS.get(t)?.cursorRedo()}};M(vS.ID,vS,0),T(yS),T(bS);var xS=class{constructor(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}getEditOperations(e,t){let n=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new S(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),n),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 j(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 j(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 j(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.targetSelection=this.selection.endColumn<=this.targetPosition.column?new j(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.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):new j(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}},SS;function CS(e){return di?e.altKey:e.ctrlKey}var wS=class e extends O{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(e))),this._register(this._editor.onMouseDrag(e=>this._onEditorMouseDrag(e))),this._register(this._editor.onMouseDrop(e=>this._onEditorMouseDrop(e))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(e=>this.onEditorKeyDown(e))),this._register(this._editor.onKeyUp(e=>this.onEditorKeyUp(e))),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)||(CS(e)&&(this._modifierPressed=!0),this._mouseDown&&CS(e)&&this._editor.updateOptions({mouseStyle:`copy`}))}onEditorKeyUp(t){!this._editor.getOption(42)||this._editor.getOption(28)||(CS(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===e.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 e=(this._editor.getSelections()||[]).filter(e=>t.position&&e.containsPosition(t.position));if(e.length===1)this._dragSelection=e[0];else return}CS(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(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){let n=new k(t.target.position.lineNumber,t.target.position.column);if(this._dragSelection===null){let e=null;if(t.event.shiftKey){let t=this._editor.getSelection();if(t){let{selectionStartLineNumber:r,selectionStartColumn:i}=t;e=[new j(r,i,n.lineNumber,n.column)]}}else e=(this._editor.getSelections()||[]).map(e=>e.containsPosition(n)?new j(n.lineNumber,n.column,n.lineNumber,n.column):e);this._editor.setSelections(e||[],`mouse`,3)}else(!this._dragSelection.containsPosition(n)||(CS(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(n)||this._dragSelection.getStartPosition().equals(n)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(e.ID,new xS(this._dragSelection,n,CS(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:`text`}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new S(t.lineNumber,t.column,t.lineNumber,t.column),options:e._DECORATION_OPTIONS}]),this._editor.revealPosition(t,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()}};SS=wS,SS.ID=`editor.contrib.dragAndDrop`,SS.TRIGGER_KEY_VALUE=di?6:5,SS._DECORATION_OPTIONS=G.register({description:`dnd-target`,className:`dnd-target`}),M(wS.ID,wS,2);var TS,ES=`editor.action.pasteAs`;M(Ip.ID,Ip,0),ss(If),F(new class extends yt{constructor(){super({id:Mp,precondition:Pp,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t){return Ip.get(t)?.changePasteType()}}),F(new class extends yt{constructor(){super({id:`editor.hidePasteWidget`,precondition:Pp,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t){Ip.get(t)?.clearWidgets()}}),T((TS=class e extends A{constructor(){super({id:ES,label:W(954,`Paste As...`),precondition:I.writable,metadata:{description:`Paste as`,args:[{name:`args`,schema:e.argsSchema}]},canTriggerInlineEdits:!0})}run(e,t,n){let r;return n&&(`kind`in n?r={only:new df(n.kind)}:`preferences`in n&&(r={preferences:n.preferences.map(e=>new df(e))})),Ip.get(t)?.pasteAs(r)}},TS.argsSchema={oneOf:[{type:`object`,required:[`kind`],properties:{kind:{type:`string`,description:R(952,`The kind of the paste edit to try pasting with.
|
|
11
|
-
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:R(953,`List of preferred paste edit kind to try applying.
|
|
12
|
-
The first edit matching the preferences will be applied.`),items:{type:`string`}}}}]},TS)),T(class extends A{constructor(){super({id:`editor.action.pasteAsText`,label:W(955,`Paste as Text`),precondition:I.writable,canTriggerInlineEdits:!0})}run(e,t){return Ip.get(t)?.pasteAs({providerId:kf.id})}});var DS=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}}},OS=class{constructor(e){this.identifier=e}},kS=tn(`treeViewsDndService`);ys(kS,DS,1);var AS,jS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},MS=function(e,t){return function(n,r){t(n,r,e)}},NS,PS=`editor.dropIntoEditor.preferences`,FS=`editor.changeDropType`,IS=new D(`dropWidgetVisible`,!1,R(973,`Whether the drop widget is showing`)),LS=(AS=class extends O{static get(e){return e.getContribution(NS.ID)}constructor(e,t,n,r,i){super(),this._configService=n,this._languageFeaturesService=r,this._treeViewsDragAndDropService=i,this.treeItemsTransfer=uc.getInstance(),this._dropProgressManager=this._register(t.createInstance(_f,`dropIntoEditor`,e)),this._postDropWidgetManager=this._register(t.createInstance(Dp,`dropIntoEditor`,e,IS,{id:FS,label:R(974,`Show drop options...`)},()=>NS._configureDefaultAction?[NS._configureDefaultAction]:[])),this._register(e.onDropIntoEditor(t=>this.onDropIntoEditor(e,t.position,t.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,n){if(!n.dataTransfer||!e.hasModel())return;NS._currentDropOperation?.cancel(),e.focus(),e.setPosition(t);let r=pu(async i=>{let a=new b,o=a.add(new ge(e,1,void 0,i));try{let r=await this.extractDataTransferData(n);if(r.size===0||o.token.isCancellationRequested)return;let s=e.getModel();if(!s)return;let c=this._languageFeaturesService.documentDropEditProvider.ordered(s).filter(e=>!e.dropMimeTypes||e.dropMimeTypes.some(e=>r.matches(e))),l=a.add(await this.getDropEdits(c,s,t,r,o.token));if(o.token.isCancellationRequested)return;if(l.edits.length){let n=this.getInitialActiveEditIndex(s,l.edits),r=e.getOption(43).showDropSelector===`afterDrop`;await this._postDropWidgetManager.applyEditAndShowIfNeeded([S.fromPositions(t)],{activeEditIndex:n,allEdits:l.edits},r,async e=>e,i)}}finally{a.dispose(),NS._currentDropOperation===r&&(NS._currentDropOperation=void 0)}});this._dropProgressManager.showWhile(t,R(975,`Running drop handlers. Click to cancel`),r,{cancel:()=>r.cancel()}),NS._currentDropOperation=r}async getDropEdits(e,t,n,r,i){let a=new b,o=await rl(Promise.all(e.map(async e=>{try{let o=await e.provideDocumentDropEdits(t,n,r,i);return o&&a.add(o),o?.edits.map(t=>({...t,providerId:e.id}))}catch(e){Vo(e)||console.error(e),console.error(e)}})),i);return{edits:Zf(kc(o??[]).flat()),dispose:()=>a.dispose()}}getInitialActiveEditIndex(e,t){let n=this._configService.getValue(PS,{resource:e.uri});for(let e of Array.isArray(n)?n:[]){let n=new df(e),r=t.findIndex(e=>e.kind&&n.contains(e.kind));if(r>=0)return r}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new _o;let t=ro(e.dataTransfer);if(this.treeItemsTransfer.hasData(OS.prototype)){let e=this.treeItemsTransfer.getData(OS.prototype);if(Array.isArray(e))for(let n of e){let e=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(e)for(let[n,r]of e)t.replace(n,r)}}return t}},NS=AS,AS.ID=`editor.contrib.dropIntoEditorController`,AS);LS=NS=jS([MS(1,x),MS(2,Ea),MS(3,U),MS(4,kS)],LS),M(LS.ID,LS,2),ss(Ff),F(new class extends yt{constructor(){super({id:FS,precondition:IS,kbOpts:{weight:100,primary:2137}})}runEditorCommand(e,t,n){LS.get(t)?.changeDropType()}}),F(new class extends yt{constructor(){super({id:`editor.hideDropWidget`,precondition:IS,kbOpts:{weight:100,primary:9}})}runEditorCommand(e,t,n){LS.get(t)?.clearWidgets()}});var RS,zS=class e extends Wa{constructor(e,t,n){super(),this._hideSoon=this._register(new Vl(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=n,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 r={inputActiveOptionBorder:Fn(hn),inputActiveOptionForeground:Fn(Mr),inputActiveOptionBackground:Fn(Ft)},i={groupId:`find-options-widget`};this.caseSensitive=this._register(new Yl({appendTitle:this._keybindingLabelFor(__.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:i,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new gc({appendTitle:this._keybindingLabelFor(__.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:i,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new lo({appendTitle:this._keybindingLabelFor(__.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:i,...r})),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(e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()})),this._register(H(this._domNode,vr.MOUSE_LEAVE,e=>this._onMouseLeave())),this._register(H(this._domNode,`mouseover`,e=>this._onMouseOver()))}_keybindingLabelFor(e){return this._keybindingService.appendKeybinding(``,e)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return e.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`)}};RS=zS,RS.ID=`editor.contrib.findOptionsWidget`;function BS(e,t){return e===1||e!==2&&t}var VS=class extends O{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return BS(this._isRegexOverride,this._isRegex)}get wholeWord(){return BS(this._wholeWordOverride,this._wholeWord)}get matchCase(){return BS(this._matchCaseOverride,this._matchCase)}get preserveCase(){return BS(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 B),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,n){let r={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},i=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,i=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,i=!0),n!==void 0&&(S.equalsRange(this._currentMatch,n)||(this._currentMatch=n,r.currentMatch=!0,i=!0)),i&&this._onFindReplaceStateChange.fire(r)}change(e,t,n=!0){let r={moveCursor:t,updateHistory:n,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},i=!1,a=this.isRegex,o=this.wholeWord,s=this.matchCase,c=this.preserveCase;e.searchString!==void 0&&this._searchString!==e.searchString&&(this._searchString=e.searchString,r.searchString=!0,i=!0),e.replaceString!==void 0&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,r.replaceString=!0,i=!0),e.isRevealed!==void 0&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,r.isRevealed=!0,i=!0),e.isReplaceRevealed!==void 0&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,r.isReplaceRevealed=!0,i=!0),e.isRegex!==void 0&&(this._isRegex=e.isRegex),e.wholeWord!==void 0&&(this._wholeWord=e.wholeWord),e.matchCase!==void 0&&(this._matchCase=e.matchCase),e.preserveCase!==void 0&&(this._preserveCase=e.preserveCase),e.searchScope!==void 0&&(e.searchScope?.every(e=>this._searchScope?.some(t=>!S.equalsRange(t,e)))||(this._searchScope=e.searchScope,r.searchScope=!0,i=!0)),e.loop!==void 0&&this._loop!==e.loop&&(this._loop=e.loop,r.loop=!0,i=!0),e.isSearching!==void 0&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,r.isSearching=!0,i=!0),e.filters!==void 0&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,r.filters=!0,i=!0),this._isRegexOverride=e.isRegexOverride===void 0?0:e.isRegexOverride,this._wholeWordOverride=e.wholeWordOverride===void 0?0:e.wholeWordOverride,this._matchCaseOverride=e.matchCaseOverride===void 0?0:e.matchCaseOverride,this._preserveCaseOverride=e.preserveCaseOverride===void 0?0:e.preserveCaseOverride,a!==this.isRegex&&(i=!0,r.isRegex=!0),o!==this.wholeWord&&(i=!0,r.wholeWord=!0),s!==this.matchCase&&(i=!0,r.matchCase=!0),c!==this.preserveCase&&(i=!0,r.preserveCase=!0),i&&this._onFindReplaceStateChange.fire(r)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=19999}},HS,US=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},WS=function(e,t){return function(n,r){t(n,r,e)}},GS,KS=(HS=class{static getOrCreate(e){return GS._instance||(GS._instance=new GS(e)),GS._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new B,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(GS.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(GS.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}},GS=HS,HS.FIND_HISTORY_KEY=`workbench.find.history`,HS._instance=null,HS);KS=GS=US([WS(0,sl)],KS);var qS,JS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YS=function(e,t){return function(n,r){t(n,r,e)}},XS,ZS=(qS=class{static getOrCreate(e){return XS._instance||(XS._instance=new XS(e)),XS._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new B,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(XS.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(XS.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}},XS=qS,qS.FIND_HISTORY_KEY=`workbench.replace.history`,qS._instance=null,qS);ZS=XS=JS([YS(0,sl)],ZS);var QS,$S=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eC=function(e,t){return function(n,r){t(n,r,e)}},tC,nC=524288;function rC(e,t=`single`,n=!1){if(!e.hasModel())return null;let r=e.getSelection();if(t===`single`&&r.startLineNumber===r.endLineNumber||t===`multiple`){if(r.isEmpty()){let t=e.getConfiguredWordAtPosition(r.getStartPosition());if(t&&!1===n)return t.word}else if(e.getModel().getValueLengthInRange(r)<nC)return e.getModel().getValueInRange(r)}return null}var iC=(QS=class extends O{get editor(){return this._editor}static get(e){return e.getContribution(tC.ID)}constructor(e,t,n,r,i,a){super(),this._editor=e,this._findWidgetVisible=c_.bindTo(t),this._contextKeyService=t,this._storageService=n,this._clipboardService=r,this._notificationService=i,this._hoverService=a,this._updateHistoryDelayer=this._register(new Wc(500)),this._state=this._register(new VS),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let e=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),e&&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(),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!!l_.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(e=>(e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=vi(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;let n={...t,isRevealed:!0};if(e.seedSearchStringFromSelection===`single`){let t=rC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(n.searchString=this._state.isRegex?vi(t):t)}else if(e.seedSearchStringFromSelection===`multiple`&&!e.updateSearchScope){let t=rC(this._editor,e.seedSearchStringFromSelection);t&&(n.searchString=t)}if(!n.searchString&&e.seedSearchStringFromGlobalClipboard){let e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(n.searchString=e)}if(e.forceRevealReplace||n.isReplaceRevealed?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){let e=this._editor.getSelections();e.some(e=>!e.isEmpty())&&(n.searchScope=e)}n.loop=e.loop,this._state.change(n,!1),this._model||=new b_(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(R(979,`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)}},tC=QS,QS.ID=`editor.contrib.findController`,QS);iC=tC=$S([eC(1,Ls),eC(2,sl),eC(3,we),eC(4,gi),eC(5,_a)],iC);var aC=class extends iC{constructor(e,t,n,r,i,a,o,s,c,l){super(e,n,a,o,i,s),this._contextViewService=t,this._keybindingService=r,this._configurationService=c,this._accessibilityService=l,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=KS.getOrCreate(a),this._replaceWidgetHistory=ZS.getOrCreate(a)}async _start(e,t){this._widget||this._createFindWidget();let n=this._editor.getSelection(),r=!1;switch(this._editor.getOption(50).autoFindInSelection){case`always`:r=!0;break;case`never`:r=!1;break;case`multiline`:r=!!n&&n.startLineNumber!==n.endLineNumber}e.updateSearchScope=e.updateSearchScope||r,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 mv(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._hoverService,this._findWidgetSearchHistory,this._replaceWidgetHistory,this._configurationService,this._accessibilityService)),this._findOptionsWidget=this._register(new zS(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(e){this._widget?.setViewState(e)}};aC=$S([eC(1,Kr),eC(2,Ls),eC(3,Ir),eC(4,gi),eC(5,sl),eC(6,we),eC(7,_a),eC(8,Ea),eC(9,ui)],aC),d(new Sl({id:__.StartFindAction,label:W(987,`Find`),precondition:g.or(I.focus,g.has(`editorIsOpen`)),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:`3_find`,title:R(980,`&&Find`),order:1}})).addImplementation(0,(e,t,n)=>{let r=iC.get(t);return r?r.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getOption(50).seedSearchStringFromSelection===`never`?`none`:`single`,seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:t.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}):!1});var oC={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`}}}}]},sC=class extends A{constructor(){super({id:__.StartFindWithArgs,label:W(988,`Find with Arguments`),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:oC})}async run(e,t,n){let r=iC.get(t);if(r){let e=n?{searchString:n.searchString,replaceString:n.replaceString,isReplaceRevealed:n.replaceString!==void 0,isRegex:n.isRegex,wholeWord:n.matchWholeWord,matchCase:n.isCaseSensitive,preserveCase:n.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(50).seedSearchStringFromSelection!==`never`?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:n?.findInSelection||!1,loop:t.getOption(50).loop},e),r.setGlobalBufferTerm(r.getState().searchString)}}},cC=class extends A{constructor(){super({id:__.StartFindWithSelection,label:W(989,`Find with Selection`),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){let n=iC.get(t);n&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:`multiple`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),n.setGlobalBufferTerm(n.getState().searchString))}};async function lC(e,t){let n=iC.get(e);if(!n)return;let r=e.getOption(50).closeOnResult,i=n.getState().isRevealed,a=()=>{let e=n.editor.getSelection(),a=t?n.moveToNextMatch():n.moveToPrevMatch(),o=!1;if(a){let t=n.editor.getSelection();(!e&&t||e&&t&&!e.equalsSelection(t))&&(o=!0)}return o?(n.editor.pushUndoStop(),r&&i&&n.isFindInputFocused()&&n.closeFindWidget(),!0):!1};if(!a()&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&e.getOption(50).seedSearchStringFromSelection!==`never`?`single`:`none`,seedSearchStringFromNonEmptySelection:e.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(50).loop}),!a())){let e=n.getState();i&&e.matchesCount===0&&e.searchString&&hl(R(981,`{0} found for '{1}'`,av,e.searchString))}}d(new Sl({id:__.NextMatchFindAction,label:W(990,`Find Next`),precondition:void 0,kbOpts:[{kbExpr:I.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:g.and(I.focus,l_),primary:3,weight:100}]})).addImplementation(0,async(e,t,n)=>lC(t,!0)),d(new Sl({id:__.PreviousMatchFindAction,label:W(991,`Find Previous`),precondition:void 0,kbOpts:[{kbExpr:I.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:g.and(I.focus,l_),primary:1027,weight:100}]})).addImplementation(0,async(e,t,n)=>lC(t,!1));var uC=class extends A{constructor(){super({id:__.GoToMatchFindAction,label:W(992,`Go to Match...`),precondition:c_}),this._highlightDecorations=[]}run(e,t){let n=iC.get(t);if(!n)return;let r=n.getState().matchesCount;if(r<1){e.get(gi).notify({severity:Ri.Warning,message:R(982,`No matches. Try searching for something else.`)});return}let i=e.get(Bi),a=new b,o=a.add(i.createInputBox());o.placeholder=R(983,`Type a number to go to a specific match (between 1 and {0})`,r);let s=e=>{let t=parseInt(e);if(isNaN(t))return;let r=n.getState().matchesCount;if(t>0&&t<=r)return t-1;if(t<0&&t>=-r)return r+t},c=e=>{let r=s(e);if(typeof r==`number`){o.validationMessage=void 0,n.goToMatch(r);let e=n.getState().currentMatch;e&&this.addDecorations(t,e)}else o.validationMessage=R(984,`Please type a number between 1 and {0}`,n.getState().matchesCount),this.clearDecorations(t)};a.add(o.onDidChangeValue(e=>{c(e)})),a.add(o.onDidAccept(()=>{let e=s(o.value);typeof e==`number`?(n.goToMatch(e),o.hide()):o.validationMessage=R(985,`Please type a number between 1 and {0}`,n.getState().matchesCount)})),a.add(o.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),o.show()}clearDecorations(e){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(e=>{this._highlightDecorations=e.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:Al(ko),position:Hu.Full}}}])})}},dC=class extends A{async run(e,t){let n=iC.get(t);if(!n)return;let r=rC(t,`single`,!1);r&&n.setSearchString(r),this._run(n)||(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:`none`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),this._run(n))}},fC=class extends dC{constructor(){super({id:__.NextSelectionMatchFindAction,label:W(993,`Find Next Selection`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}},pC=class extends dC{constructor(){super({id:__.PreviousSelectionMatchFindAction,label:W(994,`Find Previous Selection`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}};d(new Sl({id:__.StartFindReplaceAction,label:W(995,`Replace`),precondition:g.or(I.focus,g.has(`editorIsOpen`)),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:`3_find`,title:R(986,`&&Replace`),order:2}})).addImplementation(0,(e,t,n)=>{if(!t.hasModel()||t.getOption(104))return!1;let r=iC.get(t);if(!r)return!1;let i=t.getSelection(),a=r.isFindInputFocused(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getOption(50).seedSearchStringFromSelection!==`never`&&!a,s=a||o?2:1;return r.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:t.getOption(50).seedSearchStringFromSelection!==`never`,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop})}),M(iC.ID,aC,0),T(sC),T(cC),T(uC),T(fC),T(pC);var mC=yt.bindToContribution(iC.get);F(new mC({id:__.CloseFindWidgetCommand,precondition:c_,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:g.and(I.focus,g.not(`isComposing`)),primary:9,secondary:[1033]}})),F(new mC({id:__.ToggleCaseSensitiveCommand,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:I.focus,primary:f_.primary,mac:f_.mac,win:f_.win,linux:f_.linux}})),F(new mC({id:__.ToggleWholeWordCommand,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:I.focus,primary:p_.primary,mac:p_.mac,win:p_.win,linux:p_.linux}})),F(new mC({id:__.ToggleRegexCommand,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:I.focus,primary:m_.primary,mac:m_.mac,win:m_.win,linux:m_.linux}})),F(new mC({id:__.ToggleSearchScopeCommand,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:I.focus,primary:h_.primary,mac:h_.mac,win:h_.win,linux:h_.linux}})),F(new mC({id:__.TogglePreserveCaseCommand,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:I.focus,primary:g_.primary,mac:g_.mac,win:g_.win,linux:g_.linux}})),F(new mC({id:__.ReplaceOneAction,precondition:c_,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:I.focus,primary:3094}})),F(new mC({id:__.ReplaceOneAction,precondition:c_,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:g.and(I.focus,u_,I.isComposing.negate()),primary:3}})),F(new mC({id:__.ReplaceAllAction,precondition:c_,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:I.focus,primary:2563}})),F(new mC({id:__.ReplaceAllAction,precondition:c_,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:g.and(I.focus,u_),primary:void 0,mac:{primary:2051}}})),F(new mC({id:__.SelectAllMatchesAction,precondition:c_,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:I.focus,primary:515}}));var hC={0:` `,1:`u`,2:`r`},gC=16777215,_C=4278190080,vC=class{constructor(e){let t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){let t=e/32|0,n=e%32;return!!(this._states[t]&1<<n)}set(e,t){let n=e/32|0,r=e%32,i=this._states[n];t?this._states[n]=i|1<<r:this._states[n]=i&~(1<<r)}},yC=class e{constructor(e,t,n){if(e.length!==t.length||e.length>65535)throw Error(`invalid startIndexes or endIndexes size`);this._startIndexes=e,this._endIndexes=t,this._collapseStates=new vC(e.length),this._userDefinedStates=new vC(e.length),this._recoveredStates=new vC(e.length),this._types=n,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let e=[],t=(t,n)=>{let r=e[e.length-1];return this.getStartLineNumber(r)<=t&&this.getEndLineNumber(r)>=n};for(let n=0,r=this._startIndexes.length;n<r;n++){let r=this._startIndexes[n],i=this._endIndexes[n];if(r>16777215||i>16777215)throw Error(`startLineNumber or endLineNumber must not exceed 16777215`);for(;e.length>0&&!t(r,i);)e.pop();let a=e.length>0?e[e.length-1]:-1;e.push(n),this._startIndexes[n]=r+((a&255)<<24),this._endIndexes[n]=i+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&gC}getEndLineNumber(e){return this._endIndexes[e]&gC}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 n=!1;if(this._types)for(let r=0;r<this._types.length;r++)this._types[r]===e&&(this.setCollapsed(r,t),n=!0);return n}toRegion(e){return new bC(this,e)}getParentIndex(e){this.ensureParentIndices();let t=((this._startIndexes[e]&_C)>>>24)+((this._endIndexes[e]&_C)>>>16);return t===65535?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,n=this._startIndexes.length;if(n===0)return-1;for(;t<n;){let r=Math.floor((t+n)/2);e<this.getStartLineNumber(r)?n=r:t=r+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]=`[${hC[this.getSource(t)]}${this.isCollapsed(t)?`+`:`-`}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(`, `)}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&gC,endLineNumber:this._endIndexes[e]&gC,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(t){let n=t.length,r=new Uint32Array(n),i=new Uint32Array(n),a=[],o=!1;for(let e=0;e<n;e++){let n=t[e];r[e]=n.startLineNumber,i[e]=n.endLineNumber,a.push(n.type),n.type&&(o=!0)}o||(a=void 0);let s=new e(r,i,a);for(let e=0;e<n;e++)t[e].isCollapsed&&s.setCollapsed(e,!0),s.setSource(e,t[e].source);return s}static sanitizeAndMerge(e,t,n,r){n??=Number.MAX_VALUE;let i=(e,t)=>Array.isArray(e)?(n=>n<t?e[n]:void 0):(n=>n<t?e.toFoldRange(n):void 0),a=i(e,e.length),o=i(t,t.length),s=0,c=0,l=a(0),u=o(0),d=[],f,p=0,m=[];for(;l||u;){let e;if(u&&(!l||l.startLineNumber>=u.startLineNumber))l&&l.startLineNumber===u.startLineNumber?(u.source===1?e=u:(e=l,e.isCollapsed=u.isCollapsed&&(l.endLineNumber===u.endLineNumber||!r?.startsInside(l.startLineNumber+1,l.endLineNumber+1)),e.source=0),l=a(++s)):(e=u,u.isCollapsed&&u.source===0&&(e.source=2)),u=o(++c);else{let t=c,n=u;for(;;){if(!n||n.startLineNumber>l.endLineNumber){e=l;break}if(n.source===1&&n.endLineNumber>l.endLineNumber)break;n=o(++t)}l=a(++s)}if(e){for(;f&&f.endLineNumber<e.startLineNumber;)f=d.pop();e.endLineNumber>e.startLineNumber&&e.startLineNumber>p&&e.endLineNumber<=n&&(!f||f.endLineNumber>=e.endLineNumber)&&(m.push(e),p=e.startLineNumber,f&&d.push(f),f=e)}}return m}},bC=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}},xC=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new B,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new yC(new Uint32Array,new Uint32Array),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((e,t)=>e.regionIndex-t.regionIndex);let t={};this._decorationProvider.changeDecorations(n=>{let r=0,i=-1,a=-1,o=e=>{for(;r<e;){let e=this._regions.getEndLineNumber(r),t=this._regions.isCollapsed(r);if(e<=i){let i=this.regions.getSource(r)!==0;n.changeDecorationOptions(this._editorDecorationIds[r],this._decorationProvider.getDecorationOption(t,e<=a,i))}t&&e>a&&(a=e),r++}};for(let n of e){let e=n.regionIndex,r=this._editorDecorationIds[e];if(r&&!t[r]){t[r]=!0,o(e);let n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),i=Math.max(i,this._regions.getEndLineNumber(e))}}o(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){let t=[],n=t=>{for(let n of e)if(!(n.startLineNumber>t.endLineNumber||t.startLineNumber>n.endLineNumber))return!0;return!1};for(let e=0;e<this._regions.length;e++){let r=this._regions.toFoldRange(e);(r.source===0||!n(r))&&t.push(r)}this.updatePost(yC.fromFoldRanges(t))}update(e,t){let n=this._currentFoldedOrManualRanges(t),r=yC.sanitizeAndMerge(e,n,this._textModel.getLineCount(),t);this.updatePost(yC.fromFoldRanges(r))}updatePost(e){let t=[],n=-1;for(let r=0,i=e.length;r<i;r++){let i=e.getStartLineNumber(r),a=e.getEndLineNumber(r),o=e.isCollapsed(r),s=e.getSource(r)!==0,c={startLineNumber:i,startColumn:this._textModel.getLineMaxColumn(i),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:c,options:this._decorationProvider.getDecorationOption(o,a<=n,s)}),o&&a>n&&(n=a)}this._decorationProvider.changeDecorations(e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){let t=[];for(let n=0,r=this._regions.length;n<r;n++){let r=this.regions.isCollapsed(n),i=this.regions.getSource(n);if(r||i!==0){let a=this._regions.toFoldRange(n),o=this._textModel.getDecorationRange(this._editorDecorationIds[n]);o&&(r&&e?.startsInside(o.startLineNumber+1,o.endLineNumber)&&(r=!1),t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:a.type,isCollapsed:r,source:i}))}}return t}getMemento(){let e=this._currentFoldedOrManualRanges(),t=[],n=this._textModel.getLineCount();for(let r=0,i=e.length;r<i;r++){let i=e[r];if(i.startLineNumber>=i.endLineNumber||i.startLineNumber<1||i.endLineNumber>n)continue;let a=this._getLinesChecksum(i.startLineNumber+1,i.endLineNumber);t.push({startLineNumber:i.startLineNumber,endLineNumber:i.endLineNumber,isCollapsed:i.isCollapsed,source:i.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;let t=[],n=this._textModel.getLineCount();for(let r of e){if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>n)continue;let e=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);(!r.checksum||e===r.checksum)&&t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,type:void 0,isCollapsed:r.isCollapsed??!0,source:r.source??0})}let r=yC.sanitizeAndMerge(this._regions,t,n);this.updatePost(yC.fromFoldRanges(r))}_getLinesChecksum(e,t){return Ve(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(e,t){let n=[];if(this._regions){let r=this._regions.findRange(e),i=1;for(;r>=0;){let e=this._regions.toRegion(r);(!t||t(e,i))&&n.push(e),i++,r=e.parentIndex}}return n}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 n=[],r=e?e.regionIndex+1:0,i=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){let e=[];for(let a=r,o=this._regions.length;a<o;a++){let r=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<i){for(;e.length>0&&!r.containedBy(e[e.length-1]);)e.pop();e.push(r),t(r,e.length)&&n.push(r)}else break}}else for(let e=r,a=this._regions.length;e<a;e++){let r=this._regions.toRegion(e);if(this._regions.getStartLineNumber(e)<i)(!t||t(r))&&n.push(r);else break}return n}};function SC(e,t,n){let r=[];for(let i of n){let n=e.getRegionAtLine(i);if(n){let i=!n.isCollapsed;if(r.push(n),t>1){let a=e.getRegionsInside(n,(e,n)=>e.isCollapsed!==i&&n<t);r.push(...a)}}}e.toggleCollapseState(r)}function CC(e,t,n=Number.MAX_VALUE,r){let i=[];if(r&&r.length>0)for(let a of r){let r=e.getRegionAtLine(a);if(r&&(r.isCollapsed!==t&&i.push(r),n>1)){let a=e.getRegionsInside(r,(e,r)=>e.isCollapsed!==t&&r<n);i.push(...a)}}else{let r=e.getRegionsInside(null,(e,r)=>e.isCollapsed!==t&&r<n);i.push(...r)}e.toggleCollapseState(i)}function wC(e,t,n,r){let i=[];for(let a of r){let r=e.getAllRegionsAtLine(a,(e,r)=>e.isCollapsed!==t&&r<=n);i.push(...r)}e.toggleCollapseState(i)}function TC(e,t,n){let r=[];for(let i of n){let n=e.getAllRegionsAtLine(i,e=>e.isCollapsed!==t);n.length>0&&r.push(n[0])}e.toggleCollapseState(r)}function EC(e,t,n,r){let i=e.getRegionsInside(null,(e,i)=>i===t&&e.isCollapsed!==n&&!r.some(t=>e.containsLine(t)));e.toggleCollapseState(i)}function DC(e,t,n){let r=[];for(let t of n){let n=e.getAllRegionsAtLine(t,void 0);n.length>0&&r.push(n[0])}let i=e.getRegionsInside(null,e=>r.every(t=>!t.containedBy(e)&&!e.containedBy(t))&&e.isCollapsed!==t);e.toggleCollapseState(i)}function OC(e,t,n){let r=e.textModel,i=e.regions,a=[];for(let e=i.length-1;e>=0;e--)if(n!==i.isCollapsed(e)){let n=i.getStartLineNumber(e);t.test(r.getLineContent(n))&&a.push(i.toRegion(e))}e.toggleCollapseState(a)}function kC(e,t,n){let r=e.regions,i=[];for(let e=r.length-1;e>=0;e--)n!==r.isCollapsed(e)&&t===r.getType(e)&&i.push(r.toRegion(e));e.toggleCollapseState(i)}function AC(e,t){let n=null,r=t.getRegionAtLine(e);if(r!==null&&(n=r.startLineNumber,e===n)){let e=r.parentIndex;n=e===-1?null:t.regions.getStartLineNumber(e)}return n}function jC(e,t){let n=t.getRegionAtLine(e);if(n!==null&&n.startLineNumber===e){if(e!==n.startLineNumber)return n.startLineNumber;{let e=n.parentIndex,r=0;for(e!==-1&&(r=t.regions.getStartLineNumber(n.parentIndex));n!==null;)if(n.regionIndex>0){if(n=t.regions.toRegion(n.regionIndex-1),n.startLineNumber<=r)return null;if(n.parentIndex===e)return n.startLineNumber}else return null}}else if(t.regions.length>0)for(n=t.regions.toRegion(t.regions.length-1);n!==null;){if(n.startLineNumber<e)return n.startLineNumber;n=n.regionIndex>0?t.regions.toRegion(n.regionIndex-1):null}return null}function MC(e,t){let n=t.getRegionAtLine(e);if(n!==null&&n.startLineNumber===e){let e=n.parentIndex,r=0;if(e!==-1)r=t.regions.getEndLineNumber(n.parentIndex);else if(t.regions.length===0)return null;else r=t.regions.getEndLineNumber(t.regions.length-1);for(;n!==null;)if(n.regionIndex<t.regions.length){if(n=t.regions.toRegion(n.regionIndex+1),n.startLineNumber>=r)return null;if(n.parentIndex===e)return n.startLineNumber}else return null}else if(t.regions.length>0)for(n=t.regions.toRegion(0);n!==null;){if(n.startLineNumber>e)return n.startLineNumber;n=n.regionIndex<t.regions.length?t.regions.toRegion(n.regionIndex+1):null}return null}var NC=class{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new B,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(e=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(e=>e.range.endLineNumber!==e.range.startLineNumber||fr(e.text)[0]!==0))}updateHiddenRanges(){let e=!1,t=[],n=0,r=0,i=Number.MAX_VALUE,a=-1,o=this._foldingModel.regions;for(;n<o.length;n++){if(!o.isCollapsed(n))continue;let s=o.getStartLineNumber(n)+1,c=o.getEndLineNumber(n);i<=s&&c<=a||(!e&&r<this._hiddenRanges.length&&this._hiddenRanges[r].startLineNumber===s&&this._hiddenRanges[r].endLineNumber===c?(t.push(this._hiddenRanges[r]),r++):(e=!0,t.push(new S(s,1,c,1))),i=s,a=c)}(this._hasLineChanges||e||r<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 FC(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1,n=this._foldingModel.textModel,r=null,i=e=>((!r||!PC(e,r))&&(r=FC(this._hiddenRanges,e)),r?r.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let a=e[r],o=i(a.startLineNumber);o&&(a=a.setStartPosition(o,n.getLineMaxColumn(o)),t=!0);let s=i(a.endLineNumber);s&&(a=a.setEndPosition(s,n.getLineMaxColumn(s)),t=!0),e[r]=a}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&=(this._foldingModelListener.dispose(),null),this._updateEventEmitter.dispose()}};function PC(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}function FC(e,t){let n=qa(e,e=>t<e.startLineNumber)-1;return n>=0&&e[n].endLineNumber>=t?e[n]:null}var IC=5e3,LC=`indent`,RC=class{constructor(e,t,n){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=n,this.id=LC}dispose(){}compute(e){let t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(VC(this.editorModel,n,r,this.foldingRangesLimit))}},zC=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,n){if(e>16777215||t>16777215)return;let r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}toIndentRanges(e){let t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=this._length-1,r=0;n>=0;n--,r++)e[r]=this._startIndexes[n],t[r]=this._endIndexes[n];return new yC(e,t)}{this._foldingRangesLimit.update(this._length,t);let n=0,r=this._indentOccurrences.length;for(let e=0;e<this._indentOccurrences.length;e++){let i=this._indentOccurrences[e];if(i){if(i+n>t){r=e;break}n+=i}}let i=e.getOptions().tabSize,a=new Uint32Array(t),o=new Uint32Array(t);for(let s=this._length-1,c=0;s>=0;s--){let l=this._startIndexes[s],u=e.getLineContent(l),d=ha(u,i);(d<r||d===r&&n++<t)&&(a[c]=l,o[c]=this._endIndexes[s],c++)}return new yC(a,o)}}},BC={limit:IC,update:()=>{}};function VC(e,t,n,r=BC){let i=e.getOptions().tabSize,a=new zC(r),o,s,c;n&&(n.start.flags===n.end.flags?o=RegExp(`(${n.start.source})|(?:${n.end.source})`,n.start.flags):(s=n.start,c=n.end));let l=[],u=e.getLineCount()+1;l.push({indent:-1,endAbove:u,line:u});for(let n=e.getLineCount();n>0;n--){let r=e.getLineContent(n),u=ha(r,i),d=l[l.length-1];if(u===-1){t&&(d.endAbove=n);continue}let f=!1,p=!1,m;if(o?(o.lastIndex=0,(m=o.exec(r))&&(f=!!m[1],p=!f)):(s&&(s.lastIndex=0,f=s.test(r)),!f&&c&&(c.lastIndex=0,p=c.test(r))),f||p){if(f){let e=l.length-1;for(;e>0&&l[e].indent!==-2;)e--;if(e>0){l.length=e+1,d=l[e],a.insertFirst(n,d.line,u),d.line=n,d.indent=u,d.endAbove=n;continue}}else{l.push({indent:-2,endAbove:n,line:n});continue}}if(d.indent>u){do l.pop(),d=l[l.length-1];while(d.indent>u);let e=d.endAbove-1;e-n>=1&&a.insertFirst(n,e,u)}d.indent===u?d.endAbove=n:l.push({indent:u,endAbove:n,line:n})}return a.toIndentRanges(e)}var HC,UC=C(`editor.foldBackground`,{light:fn(ya,.3),dark:fn(ya,.3),hcDark:null,hcLight:null},R(1045,`Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.`),!0);C(`editor.foldPlaceholderForeground`,{light:`#808080`,dark:`#808080`,hcDark:null,hcLight:null},R(1046,`Color of the collapsed text after the first line of a folded range.`)),C(`editorGutter.foldingControlForeground`,wn,R(1047,`Color of the folding control in the editor gutter.`));var WC=$s(`folding-expanded`,w.chevronDown,R(1048,`Icon for expanded ranges in the editor glyph margin.`)),GC=$s(`folding-collapsed`,w.chevronRight,R(1049,`Icon for collapsed ranges in the editor glyph margin.`)),KC=$s(`folding-manual-collapsed`,GC,R(1050,`Icon for manually collapsed ranges in the editor glyph margin.`)),qC=$s(`folding-manual-expanded`,WC,R(1051,`Icon for manually expanded ranges in the editor glyph margin.`)),JC={color:Al(UC),position:1},YC=R(1052,`Click to expand the range.`),XC=R(1053,`Click to collapse the range.`),ZC=class e{constructor(e){this.editor=e,this.showFoldingControls=`mouseover`,this.showFoldingHighlights=!0}getDecorationOption(t,n,r){return n?e.HIDDEN_RANGE_DECORATION:this.showFoldingControls===`never`?t?this.showFoldingHighlights?e.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:e.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:e.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?r?this.showFoldingHighlights?e.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:e.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?e.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:e.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls===`mouseover`?r?e.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:r?e.MANUALLY_EXPANDED_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};HC=ZC,HC.COLLAPSED_VISUAL_DECORATION=G.register({description:`folding-collapsed-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:YC,firstLineDecorationClassName:tt.asClassName(GC)}),HC.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=G.register({description:`folding-collapsed-highlighted-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:JC,isWholeLine:!0,linesDecorationsTooltip:YC,firstLineDecorationClassName:tt.asClassName(GC)}),HC.MANUALLY_COLLAPSED_VISUAL_DECORATION=G.register({description:`folding-manually-collapsed-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:YC,firstLineDecorationClassName:tt.asClassName(KC)}),HC.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=G.register({description:`folding-manually-collapsed-highlighted-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:JC,isWholeLine:!0,linesDecorationsTooltip:YC,firstLineDecorationClassName:tt.asClassName(KC)}),HC.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=G.register({description:`folding-no-controls-range-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:YC}),HC.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=G.register({description:`folding-no-controls-range-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:JC,isWholeLine:!0,linesDecorationsTooltip:YC}),HC.EXPANDED_VISUAL_DECORATION=G.register({description:`folding-expanded-visual-decoration`,stickiness:1,isWholeLine:!0,firstLineDecorationClassName:`alwaysShowFoldIcons `+tt.asClassName(WC),linesDecorationsTooltip:XC}),HC.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=G.register({description:`folding-expanded-auto-hide-visual-decoration`,stickiness:1,isWholeLine:!0,firstLineDecorationClassName:tt.asClassName(WC),linesDecorationsTooltip:XC}),HC.MANUALLY_EXPANDED_VISUAL_DECORATION=G.register({description:`folding-manually-expanded-visual-decoration`,stickiness:0,isWholeLine:!0,firstLineDecorationClassName:`alwaysShowFoldIcons `+tt.asClassName(qC),linesDecorationsTooltip:XC}),HC.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=G.register({description:`folding-manually-expanded-auto-hide-visual-decoration`,stickiness:0,isWholeLine:!0,firstLineDecorationClassName:tt.asClassName(qC),linesDecorationsTooltip:XC}),HC.NO_CONTROLS_EXPANDED_RANGE_DECORATION=G.register({description:`folding-no-controls-range-decoration`,stickiness:0,isWholeLine:!0}),HC.HIDDEN_RANGE_DECORATION=G.register({description:`folding-hidden-range-decoration`,stickiness:1});var QC={},$C=`syntax`,ew=class{constructor(e,t,n,r,i){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=n,this.foldingRangesLimit=r,this.fallbackRangeProvider=i,this.id=$C,this.disposables=new b,i&&this.disposables.add(i);for(let e of t)typeof e.onDidChange==`function`&&this.disposables.add(e.onDidChange(n))}compute(e){return tw(this.providers,this.editorModel,e).then(t=>this.editorModel.isDisposed()?null:t?rw(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(e)??null)}dispose(){this.disposables.dispose()}};function tw(e,t,n){let r=null,i=e.map((e,i)=>Promise.resolve(e.provideFoldingRanges(t,QC,n)).then(e=>{if(!n.isCancellationRequested&&Array.isArray(e)){Array.isArray(r)||(r=[]);let n=t.getLineCount();for(let t of e)t.start>0&&t.end>t.start&&t.end<=n&&r.push({start:t.start,end:t.end,rank:i,kind:t.kind})}},xc));return Promise.all(i).then(e=>r)}var nw=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,n,r){if(e>16777215||t>16777215)return;let i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=r,this._types[i]=n,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){let e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=0;n<this._length;n++)e[n]=this._startIndexes[n],t[n]=this._endIndexes[n];return new yC(e,t,this._types)}{this._foldingRangesLimit.update(this._length,e);let t=0,n=this._nestingLevelCounts.length;for(let r=0;r<this._nestingLevelCounts.length;r++){let i=this._nestingLevelCounts[r];if(i){if(i+t>e){n=r;break}t+=i}}let r=new Uint32Array(e),i=new Uint32Array(e),a=[];for(let o=0,s=0;o<this._length;o++){let c=this._nestingLevels[o];(c<n||c===n&&t++<e)&&(r[s]=this._startIndexes[o],i[s]=this._endIndexes[o],a[s]=this._types[o],s++)}return new yC(r,i,a)}}};function rw(e,t){let n=e.sort((e,t)=>{let n=e.start-t.start;return n===0&&(n=e.rank-t.rank),n}),r=new nw(t),i,a=[];for(let e of n)if(!i)i=e,r.add(e.start,e.end,e.kind&&e.kind.value,a.length);else if(e.start>i.start){if(e.end<=i.end)a.push(i),i=e,r.add(e.start,e.end,e.kind&&e.kind.value,a.length);else{if(e.start>i.end){do i=a.pop();while(i&&e.start>i.end);i&&a.push(i),i=e}r.add(e.start,e.end,e.kind&&e.kind.value,a.length)}}return r.toIndentRanges()}var iw,aw,ow=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sw=function(e,t){return function(n,r){t(n,r,e)}},cw,lw=new D(`foldingEnabled`,!1),uw=(iw=class extends O{static get(e){return e.getContribution(cw.ID)}static getFoldingRangeProviders(e,t){let n=e.foldingRangeProvider.ordered(t);return cw._foldingRangeSelector?.(n,t)??n}constructor(e,t,n,r,i,a){super(),this.contextKeyService=t,this.languageConfigurationService=n,this.languageFeaturesService=a,this.localToDispose=this._register(new b),this.editor=e,this._foldingLimitReporter=this._register(new dw(e));let o=this.editor.getOptions();this._isEnabled=o.get(52),this._useFoldingProviders=o.get(53)!==`indentation`,this._unfoldOnClickAfterEndOfLine=o.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=o.get(55),this.updateDebounceInfo=i.for(a.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 ZC(e),this.foldingDecorationProvider.showFoldingControls=o.get(126),this.foldingDecorationProvider.showFoldingHighlights=o.get(54),this.foldingEnabled=lw.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(e=>{if(e.hasChanged(52)&&(this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(56)&&this.onModelChanged(),e.hasChanged(126)||e.hasChanged(54)){let e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(126),this.foldingDecorationProvider.showFoldingHighlights=e.get(54),this.triggerFoldingModelChanged()}e.hasChanged(53)&&(this._useFoldingProviders=this.editor.getOptions().get(53)!==`indentation`,this.onFoldingStrategyChanged()),e.hasChanged(57)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57)),e.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(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n,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 xC(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new NC(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(e=>this.onHiddenRangesChanges(e))),this.updateScheduler=new Wc(this.updateDebounceInfo.get(e)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new Vl(()=>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(e=>this.onDidChangeModelContent(e))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(e=>this.onEditorMouseDown(e))),this.localToDispose.add(this.editor.onMouseUp(e=>this.onEditorMouseUp(e))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&=(this.foldingRegionPromise.cancel(),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 RC(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){let n=cw.getFoldingRangeProviders(this.languageFeaturesService,e);n.length>0&&(this.rangeProvider=new ew(e,n,()=>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(),null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{let e=this.foldingModel;if(!e)return null;let t=new xe,n=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=pu(e=>n.compute(e));return r.then(n=>{if(n&&r===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let e=n.setCollapsedAllOfType(kn.Imports.value,!0);e&&(r=La.capture(this.editor),this._currentModelHasFoldedImports=e)}let i=this.editor.getSelections();e.update(n,pw(i)),r?.restore(this.editor);let a=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=a)}return e})}).then(void 0,e=>(il(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){let e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){let e=this.getFoldingModel();e&&e.then(e=>{if(e){let t=this.editor.getSelections();if(t&&t.length>0){let n=[];for(let r of t){let t=r.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&n.push(...e.getAllRegionsAtLine(t,e=>e.isCollapsed&&t>e.startLineNumber))}n.length&&(e.toggleCollapseState(n),this.reveal(t[0].getPosition()))}}}).then(void 0,il)}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,n=!1;switch(e.target.type){case 4:{let t=e.target.detail,r=e.target.element.offsetLeft;if(t.offsetX-r<4)return;n=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){let e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:n}}onEditorMouseUp(e){let t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;let n=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,i=e.target.range;if(!i||i.startLineNumber!==n)return;if(r){if(e.target.type!==4)return}else{let e=this.editor.getModel();if(!e||i.startColumn!==e.getLineMaxColumn(n))return}let a=t.getRegionAtLine(n);if(a&&a.startLineNumber===n){let i=a.isCollapsed;if(r||i){let r=e.event.altKey,o=[];if(r){let e=t.getRegionsInside(null,e=>!e.containedBy(a)&&!a.containedBy(e));for(let t of e)t.isCollapsed&&o.push(t);o.length===0&&(o=e)}else{let n=e.event.middleButton||e.event.shiftKey;if(n)for(let e of t.getRegionsInside(a))e.isCollapsed===i&&o.push(e);(i||!n||o.length===0)&&o.push(a)}t.toggleCollapseState(o),this.reveal({lineNumber:n,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},cw=iw,iw.ID=`editor.contrib.folding`,iw);uw=cw=ow([sw(1,Ls),sw(2,bu),sw(3,gi),sw(4,Da),sw(5,U)],uw);var dw=class extends O{constructor(e){super(),this.editor=e,this._onDidChange=this._register(new B),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())}},fw=class extends A{runEditorCommand(e,t,n){let r=e.get(bu),i=uw.get(t);if(!i)return;let a=i.getFoldingModel();if(a)return this.reportTelemetry(e,t),a.then(e=>{if(e){this.invoke(i,e,t,n,r);let a=t.getSelection();a&&i.reveal(a.getStartPosition())}})}getSelectedLines(e){let t=e.getSelections();return t?t.map(e=>e.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(e=>e+1):this.getSelectedLines(t)}run(e,t){}};function pw(e){return!e||e.length===0?{startsInside:()=>!1}:{startsInside(t,n){for(let r of e){let e=r.startLineNumber;if(e>=t&&e<=n)return!0}return!1}}}function mw(e){if(!kl(e)){if(!tu(e))return!1;let t=e;if(!kl(t.levels)&&!Oo(t.levels)||!kl(t.direction)&&!Pc(t.direction)||!kl(t.selectionLines)&&(!Array.isArray(t.selectionLines)||!t.selectionLines.every(Oo)))return!1}return!0}var hw=class extends fw{constructor(){super({id:`editor.unfold`,label:W(1025,`Unfold`),precondition:lw,kbOpts:{kbExpr:I.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:
|
|
13
|
-
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
14
|
-
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
15
|
-
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
|
|
16
|
-
`,constraint:mw,schema:{type:`object`,properties:{levels:{type:`number`,default:1},direction:{type:`string`,enum:[`up`,`down`],default:`down`},selectionLines:{type:`array`,items:{type:`number`}}}}}]}})}invoke(e,t,n,r){let i=r&&r.levels||1,a=this.getLineNumbers(r,n);r&&r.direction===`up`?wC(t,!1,i,a):CC(t,!1,i,a)}},gw=class extends fw{constructor(){super({id:`editor.unfoldRecursively`,label:W(1026,`Unfold Recursively`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2142),weight:100}})}invoke(e,t,n,r){CC(t,!1,Number.MAX_VALUE,this.getSelectedLines(n))}},_w=class extends fw{constructor(){super({id:`editor.fold`,label:W(1027,`Fold`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:`Fold the content in the editor`,args:[{name:`Fold editor argument`,description:`Property-value pairs that can be passed through this argument:
|
|
17
|
-
* 'levels': Number of levels to fold.
|
|
18
|
-
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
19
|
-
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
|
|
20
|
-
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
21
|
-
`,constraint:mw,schema:{type:`object`,properties:{levels:{type:`number`},direction:{type:`string`,enum:[`up`,`down`]},selectionLines:{type:`array`,items:{type:`number`}}}}}]}})}invoke(e,t,n,r){let i=this.getLineNumbers(r,n),a=r&&r.levels,o=r&&r.direction;typeof a!=`number`&&typeof o!=`string`?TC(t,!0,i):o===`up`?wC(t,!0,a||1,i):CC(t,!0,a||1,i)}},vw=class extends fw{constructor(){super({id:`editor.toggleFold`,label:W(1028,`Toggle Fold`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2090),weight:100}})}invoke(e,t,n){SC(t,1,this.getSelectedLines(n))}},yw=class extends fw{constructor(){super({id:`editor.foldRecursively`,label:W(1029,`Fold Recursively`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2140),weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);CC(t,!0,Number.MAX_VALUE,r)}},bw=class extends fw{constructor(){super({id:`editor.toggleFoldRecursively`,label:W(1030,`Toggle Fold Recursively`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,3114),weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);SC(t,Number.MAX_VALUE,r)}},xw=class extends fw{constructor(){super({id:`editor.foldAllBlockComments`,label:W(1031,`Fold All Block Comments`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2138),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())kC(t,kn.Comment.value,!0);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).comments;r&&r.blockCommentStartToken&&OC(t,RegExp(`^\\s*`+vi(r.blockCommentStartToken)),!0)}}},Sw=class extends fw{constructor(){super({id:`editor.foldAllMarkerRegions`,label:W(1032,`Fold All Regions`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2077),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())kC(t,kn.Region.value,!0);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).foldingRules;r&&r.markers&&r.markers.start&&OC(t,new RegExp(r.markers.start),!0)}}},Cw=class extends fw{constructor(){super({id:`editor.unfoldAllMarkerRegions`,label:W(1033,`Unfold All Regions`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2078),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())kC(t,kn.Region.value,!1);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).foldingRules;r&&r.markers&&r.markers.start&&OC(t,new RegExp(r.markers.start),!1)}}},ww=class extends fw{constructor(){super({id:`editor.foldAllExcept`,label:W(1034,`Fold All Except Selected`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2136),weight:100}})}invoke(e,t,n){DC(t,!0,this.getSelectedLines(n))}},Tw=class extends fw{constructor(){super({id:`editor.unfoldAllExcept`,label:W(1035,`Unfold All Except Selected`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2134),weight:100}})}invoke(e,t,n){DC(t,!1,this.getSelectedLines(n))}},Ew=class extends fw{constructor(){super({id:`editor.foldAll`,label:W(1036,`Fold All`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2069),weight:100}})}invoke(e,t,n){CC(t,!0)}},Dw=class extends fw{constructor(){super({id:`editor.unfoldAll`,label:W(1037,`Unfold All`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2088),weight:100}})}invoke(e,t,n){CC(t,!1)}},Ow=class e extends fw{getFoldingLevel(){return parseInt(this.id.substr(e.ID_PREFIX.length))}invoke(e,t,n){EC(t,this.getFoldingLevel(),!0,this.getSelectedLines(n))}};aw=Ow,aw.ID_PREFIX=`editor.foldLevel`,aw.ID=e=>aw.ID_PREFIX+e;var kw=class extends fw{constructor(){super({id:`editor.gotoParentFold`,label:W(1038,`Go to Parent Fold`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=AC(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},Aw=class extends fw{constructor(){super({id:`editor.gotoPreviousFold`,label:W(1039,`Go to Previous Folding Range`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=jC(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},jw=class extends fw{constructor(){super({id:`editor.gotoNextFold`,label:W(1040,`Go to Next Folding Range`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=MC(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},Mw=class extends fw{constructor(){super({id:`editor.createFoldingRangeFromSelection`,label:W(1041,`Create Folding Range from Selection`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2135),weight:100}})}invoke(e,t,n){let r=[],i=n.getSelections();if(i){for(let e of i){let t=e.endLineNumber;e.endColumn===1&&--t,t>e.startLineNumber&&(r.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),n.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(r.length>0){r.sort((e,t)=>e.startLineNumber-t.startLineNumber);let e=yC.sanitizeAndMerge(t.regions,r,n.getModel()?.getLineCount());t.updatePost(yC.fromFoldRanges(e))}}}},Nw=class extends fw{constructor(){super({id:`editor.removeManualFoldingRanges`,label:W(1042,`Remove Manual Folding Ranges`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2137),weight:100}})}invoke(e,t,n){let r=n.getSelections();if(r){let n=[];for(let e of r){let{startLineNumber:t,endLineNumber:r}=e;n.push(r>=t?{startLineNumber:t,endLineNumber:r}:{endLineNumber:r,startLineNumber:t})}t.removeManualRanges(n),e.triggerFoldingModelChanged()}}},Pw=class extends fw{constructor(){super({id:`editor.toggleImportFold`,label:W(1043,`Toggle Import Fold`),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,weight:100}})}async invoke(e,t){let n=[],r=t.regions;for(let e=r.length-1;e>=0;e--)r.getType(e)===kn.Imports.value&&n.push(r.toRegion(e));t.toggleCollapseState(n),e.triggerFoldingModelChanged()}};M(uw.ID,uw,0),T(hw),T(gw),T(_w),T(yw),T(bw),T(Ew),T(Dw),T(xw),T(Sw),T(Cw),T(ww),T(Tw),T(vw),T(kw),T(Aw),T(jw),T(Mw),T(Nw),T(Pw);for(let e=1;e<=7;e++)ga(new Ow({id:Ow.ID(e),label:W(1044,`Fold Level {0}`,e),precondition:lw,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2048|21+e),weight:100}}));In.registerCommand(`_executeFoldingRangeProvider`,async function(e,...t){let[n]=t;if(!(n instanceof Nn))throw go();let r=e.get(U),i=e.get(wt).getModel(n);if(!i)throw go();let a=e.get(Ea);if(!a.getValue(`editor.folding`,{resource:n}))return[];let o=e.get(bu),s=a.getValue(`editor.foldingStrategy`,{resource:n}),c={get limit(){return a.getValue(`editor.foldingMaximumRegions`,{resource:n})},update:(e,t)=>{}},l=new RC(i,o,c),u=l;if(s!==`indentation`){let e=uw.getFoldingRangeProviders(r,i);e.length&&(u=new ew(i,e,()=>{},c,l))}let d=await u.compute(L.None),f=[];try{if(d)for(let e=0;e<d.length;e++){let t=d.getType(e);f.push({start:d.getStartLineNumber(e),end:d.getEndLineNumber(e),kind:t?kn.fromValue(t):void 0})}return f}finally{u.dispose()}});var Fw=class extends A{constructor(){super({id:`editor.action.fontZoomIn`,label:W(1054,`Increase Editor Font Size`),precondition:void 0})}run(e,t){la.setZoomLevel(la.getZoomLevel()+1)}},Iw=class extends A{constructor(){super({id:`editor.action.fontZoomOut`,label:W(1055,`Decrease Editor Font Size`),precondition:void 0})}run(e,t){la.setZoomLevel(la.getZoomLevel()-1)}},Lw=class extends A{constructor(){super({id:`editor.action.fontZoomReset`,label:W(1056,`Reset Editor Font Size`),precondition:void 0})}run(e,t){la.setZoomLevel(0)}};T(Fw),T(Iw),T(Lw);var Rw,zw,Bw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vw=function(e,t){return function(n,r){t(n,r,e)}},Hw=(Rw=class{constructor(e,t,n,r){this._editor=e,this._languageFeaturesService=t,this._workerService=n,this._accessibilitySignalService=r,this._disposables=new b,this._sessionDisposables=new b,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(65)||!this._editor.hasModel())return;let e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;let n=new jn;for(let e of t.autoFormatTriggerCharacters)n.add(e.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(e=>{let t=e.charCodeAt(e.length-1);n.has(t)&&this._trigger(String.fromCharCode(t))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;let t=this._editor.getModel(),n=this._editor.getPosition(),r=new Eu,i=this._editor.onDidChangeModelContent(e=>{if(e.isFlush){r.cancel(),i.dispose();return}for(let t=0,a=e.changes.length;t<a;t++)if(e.changes[t].range.endLineNumber<=n.lineNumber){r.cancel(),i.dispose();return}});md(this._workerService,this._languageFeaturesService,t,n,e,t.getFormattingOptions(),r.token).then(e=>{r.token.isCancellationRequested||td(e)&&(this._accessibilitySignalService.playSignal(xo.format,{userGesture:!1}),oe.execute(this._editor,e,!0))}).finally(()=>{i.dispose()})}},Rw.ID=`editor.contrib.autoFormat`,Rw);Hw=Bw([Vw(1,U),Vw(2,ia),Vw(3,Ko)],Hw);var Uw=(zw=class{constructor(e,t,n){this.editor=e,this._languageFeaturesService=t,this._instantiationService=n,this._callOnDispose=new b,this._callOnModel=new b,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(64)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(dn,this.editor,e,2,so.None,L.None,!1).catch(il))}},zw.ID=`editor.contrib.formatOnPaste`,zw);Uw=Bw([Vw(1,U),Vw(2,x)],Uw);var Ww=class extends A{constructor(){super({id:`editor.action.formatDocument`,label:W(1057,`Format Document`),precondition:g.and(I.notInCompositeEditor,I.writable,I.hasDocumentFormattingProvider),kbOpts:{kbExpr:I.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:`1_modification`,order:1.3}})}async run(e,t){if(t.hasModel()){let n=e.get(x);await e.get(Xc).showWhile(n.invokeFunction(Or,t,1,so.None,L.None,!0),250)}}},Gw=class extends A{constructor(){super({id:`editor.action.formatSelection`,label:W(1058,`Format Selection`),precondition:g.and(I.writable,I.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2084),weight:100},contextMenuOpts:{when:I.hasNonEmptySelection,group:`1_modification`,order:1.31}})}async run(e,t){if(!t.hasModel())return;let n=e.get(x),r=t.getModel(),i=t.getSelections().map(e=>e.isEmpty()?new S(e.startLineNumber,1,e.startLineNumber,r.getLineMaxColumn(e.startLineNumber)):e);await e.get(Xc).showWhile(n.invokeFunction(dn,t,i,1,so.None,L.None,!0),250)}};M(Hw.ID,Hw,2),M(Uw.ID,Uw,2),T(Ww),T(Gw),In.registerCommand(`editor.action.format`,async e=>{let t=e.get(Mi).getFocusedCodeEditor();if(!t||!t.hasModel())return;let n=e.get(or);t.getSelection().isEmpty()?await n.executeCommand(`editor.action.formatDocument`):await n.executeCommand(`editor.action.formatSelection`)});var Kw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qw=function(e,t){return function(n,r){t(n,r,e)}},Jw=class{remove(){this.parent?.children.delete(this.id)}static findId(e,t){let n;typeof e==`string`?n=`${t.id}/${e}`:(n=`${t.id}/${e.name}`,t.children.get(n)!==void 0&&(n=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let r=n;for(let e=0;t.children.get(r)!==void 0;e++)r=`${n}_${e}`;return r}static empty(e){return e.children.size===0}},Yw=class extends Jw{constructor(e,t,n){super(),this.id=e,this.parent=t,this.symbol=n,this.children=new Map}},Xw=class extends Jw{constructor(e,t,n,r){super(),this.id=e,this.parent=t,this.label=n,this.order=r,this.children=new Map}},Zw=class e extends Jw{static create(t,n,r){let i=new Eu(r),a=new e(n.uri),o=t.ordered(n),s=o.map((t,r)=>{let o=Jw.findId(`provider_${r}`,a),s=new Xw(o,a,t.displayName??`Unknown Outline Provider`,r);return Promise.resolve(t.provideDocumentSymbols(n,i.token)).then(t=>{for(let n of t||[])e._makeOutlineElement(n,s);return s},e=>(xc(e),s)).then(e=>{Jw.empty(e)?e.remove():a._groups.set(o,e)})}),c=t.onDidChange(()=>{let e=t.ordered(n);Nu(e,o)||i.cancel()});return Promise.all(s).then(()=>i.token.isCancellationRequested&&!r.isCancellationRequested?e.create(t,n,r):a._compact()).finally(()=>{i.dispose(),c.dispose(),i.dispose()})}static _makeOutlineElement(t,n){let r=new Yw(Jw.findId(t,n),n,t);if(t.children)for(let n of t.children)e._makeOutlineElement(n,r);n.children.set(r.id,r)}constructor(e){super(),this.uri=e,this.id=`root`,this.parent=void 0,this._groups=new Map,this.children=new Map,this.id=`root`,this.parent=void 0}_compact(){let e=0;for(let[t,n]of this._groups)n.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{let e=Ln.first(this._groups.values());for(let[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){let e=[];for(let t of this.children.values())t instanceof Yw?e.push(t.symbol):e.push(...Ln.map(t.children.values(),e=>e.symbol));return e.sort((e,t)=>S.compareRangesUsingStarts(e.range,t.range))}asListOfDocumentSymbols(){let t=this.getTopLevelSymbols(),n=[];return e._flattenDocumentSymbols(n,t,``),n.sort((e,t)=>k.compare(S.getStartPosition(e.range),S.getStartPosition(t.range))||k.compare(S.getEndPosition(t.range),S.getEndPosition(e.range)))}static _flattenDocumentSymbols(t,n,r){for(let i of n)t.push({kind:i.kind,tags:i.tags,name:i.name,detail:i.detail,containerName:i.containerName||r,range:i.range,selectionRange:i.selectionRange,children:void 0}),i.children&&e._flattenDocumentSymbols(t,i.children,i.name)}},Qw=tn(`IOutlineModelService`),$w=class{constructor(e,t,n){this._languageFeaturesService=e,this._disposables=new b,this._cache=new Qo(15,.7),this._debounceInformation=t.for(e.documentSymbolProvider,`DocumentSymbols`,{min:350}),this._disposables.add(n.onModelRemoved(e=>{this._cache.delete(e.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){let n=this._languageFeaturesService.documentSymbolProvider,r=n.ordered(e),i=this._cache.get(e.id);if(!i||i.versionId!==e.getVersionId()||!Nu(i.provider,r)){let t=new Eu;i={versionId:e.getVersionId(),provider:r,promiseCnt:0,source:t,promise:Zw.create(n,e,t.token),model:void 0},this._cache.set(e.id,i);let a=Date.now();i.promise.then(t=>{i.model=t,this._debounceInformation.update(e,Date.now()-a)}).catch(t=>{this._cache.delete(e.id)})}if(i.model)return i.model;i.promiseCnt+=1;let a=t.onCancellationRequested(()=>{--i.promiseCnt===0&&(i.source.cancel(),this._cache.delete(e.id))});try{return await i.promise}finally{a.dispose()}}};$w=Kw([qw(0,U),qw(1,Da),qw(2,wt)],$w),ys(Qw,$w,1),In.registerCommand(`_executeDocumentSymbolProvider`,async function(e,...t){let[n]=t;Gi(Nn.isUri(n));let r=e.get(Qw),i=await e.get(xi).createModelReference(n);try{return(await r.getOrCreate(i.object.textEditorModel,L.None)).getTopLevelSymbols()}finally{i.dispose()}});var eT=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{let t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}},tT=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nT=function(e,t){return function(n,r){t(n,r,e)}};function rT(e){return e instanceof iT?e._instance:e}var iT=class{constructor(e){this.instantiationService=e}init(...e){}};function aT(e){return e.get()}var oT=class extends iT{constructor(e,t){super(t),this.init(e)}};oT=tT([nT(1,x)],oT);var sT=class{validateOrThrow(e){let t=this.validate(e);if(t.error)throw Error(t.error.message);return t.content}},cT=class extends sT{constructor(e){super(),this.type=e}validate(e){return typeof e===this.type?{content:e,error:void 0}:{content:void 0,error:{message:`Expected ${this.type}, but got ${typeof e}`}}}getJSONSchema(){return{type:this.type}}},lT=new cT(`string`);function uT(){return lT}new cT(`number`);var dT=new cT(`boolean`);function fT(){return dT}new cT(`object`);var pT=class extends sT{validate(e){return{content:e,error:void 0}}getJSONSchema(){return{}}};function mT(){return new pT}var hT=class extends sT{validate(e){return e===void 0?{content:void 0,error:void 0}:{content:void 0,error:{message:`Expected undefined, but got ${typeof e}`}}}getJSONSchema(){return{}}};function gT(){return new hT}var _T=class{constructor(e){this.validator=e}};function vT(e){return new _T(e)}var yT=class extends sT{constructor(e){super(),this.properties=e}validate(e){if(typeof e!=`object`||!e)return{content:void 0,error:{message:`Expected object`}};let t={};for(let n in this.properties){let r=this.properties[n],i=e[n],a=r instanceof _T,o=a?r.validator:r;if(a&&i===void 0)continue;let{content:s,error:c}=o.validate(i);if(c)return{content:void 0,error:{message:`Error in property '${n}': ${c.message}`}};t[n]=s}return{content:t,error:void 0}}getJSONSchema(){let e=[],t={};for(let[n,r]of Object.entries(this.properties)){let i=r instanceof _T;t[n]=(i?r.validator:r).getJSONSchema(),i||e.push(n)}return{type:`object`,properties:t,...e.length>0?{required:e}:{}}}};function bT(e){return new yT(e)}var xT=class extends sT{constructor(e){super(),this.validators=e}validate(e){let t;for(let n of this.validators){let{content:r,error:i}=n.validate(e);if(!i)return{content:r,error:void 0};t=i}return{content:void 0,error:t}}getJSONSchema(){return{oneOf:Zr(this.validators,e=>{if(!(e instanceof hT))return e.getJSONSchema()})}}};function ST(...e){return new xT(e)}var CT=class extends sT{constructor(e,t){super(),this._ref=e,this._validator=t}validate(e){return this._validator.validate(e)}getJSONSchema(){return{$ref:this._ref}}};function wT(e,t){return new CT(e,t)}var TT,J={Visible:D_,HasFocusedSuggestion:new D(`suggestWidgetHasFocusedSuggestion`,!1,R(1505,`Whether any suggestion is focused`)),DetailsVisible:new D(`suggestWidgetDetailsVisible`,!1,R(1506,`Whether suggestion details are visible`)),DetailsFocused:new D(`suggestWidgetDetailsFocused`,!1,R(1507,`Whether the details pane of the suggest widget has focus`)),MultipleSuggestions:new D(`suggestWidgetMultipleSuggestions`,!1,R(1508,`Whether there are multiple suggestions to pick from`)),MakesTextEdit:new D(`suggestionMakesTextEdit`,!0,R(1509,`Whether inserting the current suggestion yields in a change or has everything already been typed`)),AcceptSuggestionsOnEnter:new D(`acceptSuggestionOnEnter`,!0,R(1510,`Whether suggestions are inserted when pressing Enter`)),HasInsertAndReplaceRange:new D(`suggestionHasInsertAndReplaceRange`,!1,R(1511,`Whether the current suggestion has insert and replace behaviour`)),InsertMode:new D(`suggestionInsertMode`,void 0,{type:`string`,description:R(1512,`Whether the default behaviour is to insert or replace`)}),CanResolve:new D(`suggestionCanResolve`,!1,R(1513,`Whether the current suggestion supports to resolve further details`))},ET=new q(`suggestWidgetStatusBar`),DT=class{constructor(e,t,n,r){this.position=e,this.completion=t,this.container=n,this.provider=r,this.isInvalid=!1,this.score=Jt.Default,this.distance=0,this.textLabel=typeof t.label==`string`?t.label:t.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,S.isIRange(t.range)?(this.editStart=new k(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new k(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new k(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||S.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new k(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new k(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new k(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||S.spansMultipleLines(t.range.insert)||S.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof r.resolveCompletionItem!=`function`&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration===void 0?-1:this._resolveDuration}async resolve(e){if(!this._resolveCache){let t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),n=new xe(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(e=>{Object.assign(this.completion,e),this._resolveDuration=n.elapsed()},e=>{Vo(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}},OT=class{constructor(e=2,t=new Set,n=new Set,r=new Map,i=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=n,this.providerItemsToReuse=r,this.showDeprecated=i}};TT=OT,TT.default=new TT;var kT=class{constructor(e,t,n,r){this.items=e,this.needsClipboard=t,this.durations=n,this.disposable=r}};async function AT(e,t,n,r=OT.default,i={triggerKind:0},a=L.None){let o=new xe;n=n.clone();let s=t.getWordAtPosition(n),c=s?new S(n.lineNumber,s.startColumn,n.lineNumber,s.endColumn):S.fromPositions(n),l={replace:c,insert:c.setEndPosition(n.lineNumber,n.column)},u=[],d=new b,f=[],p=!1,m=(e,t,i)=>{let a=!1;if(!t)return a;for(let i of t.suggestions)if(!r.kindFilter.has(i.kind)){if(!r.showDeprecated&&i?.tags?.includes(1))continue;i.range||=l,i.sortText||=typeof i.label==`string`?i.label:i.label.label,!p&&i.insertTextRules&&i.insertTextRules&4&&(p=Yf.guessNeedsClipboard(i.insertText)),u.push(new DT(n,i,t,e)),a=!0}return Rs(t)&&d.add(t),f.push({providerName:e._debugDisplayName??`unknown_provider`,elapsedProvider:t.duration??-1,elapsedOverall:i.elapsed()}),a},h=(async()=>{})();for(let o of e.orderedGroups(t)){let e=!1;if(await Promise.all(o.map(async o=>{if(r.providerItemsToReuse.has(o)){let t=r.providerItemsToReuse.get(o);t.forEach(e=>u.push(e)),e||=t.length>0;return}if(!(r.providerFilter.size>0&&!r.providerFilter.has(o)))try{let r=new xe,s=await o.provideCompletionItems(t,n,i,a);e=m(o,s,r)||e}catch(e){xc(e)}})),e||a.isCancellationRequested)break}return await h,a.isCancellationRequested?(d.dispose(),Promise.reject(new mu)):new kT(u.sort(FT(r.snippetSortOrder)),p,{entries:f,elapsed:o.elapsed()},d)}function jT(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLow<t.sortTextLow)return-1;if(e.sortTextLow>t.sortTextLow)return 1}return e.textLabel<t.textLabel?-1:e.textLabel>t.textLabel?1:e.completion.kind-t.completion.kind}function MT(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===28)return-1;if(t.completion.kind===28)return 1}return jT(e,t)}function NT(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===28)return 1;if(t.completion.kind===28)return-1}return jT(e,t)}var PT=new Map;PT.set(0,MT),PT.set(2,NT),PT.set(1,jT);function FT(e){return PT.get(e)}In.registerCommand(`_executeCompletionItemProvider`,async(e,...t)=>{let[n,r,i,a]=t;Gi(Nn.isUri(n)),Gi(k.isIPosition(r)),Gi(typeof i==`string`||!i),Gi(typeof a==`number`||!a);let{completionProvider:o}=e.get(U),s=await e.get(xi).createModelReference(n);try{let e={incomplete:!1,suggestions:[]},t=[],n=s.object.textEditorModel.validatePosition(r),c=await AT(o,s.object.textEditorModel,n,void 0,{triggerCharacter:i??void 0,triggerKind:+!!i});for(let n of c.items)t.length<(a??0)&&t.push(n.resolve(L.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout(()=>c.disposable.dispose(),100)}}finally{s.dispose()}});function IT(e,t){e.getContribution(`editor.contrib.suggestController`)?.triggerSuggest(new Set().add(t),void 0,!0)}var LT=class{static isAllOff(e){return e.other===`off`&&e.comments===`off`&&e.strings===`off`}static isAllOn(e){return e.other===`on`&&e.comments===`on`&&e.strings===`on`}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}},RT,zT=class{};RT=zT,RT.inlineSuggestionVisible=new D(`inlineSuggestionVisible`,!1,R(1234,`Whether an inline suggestion is visible`)),RT.inlineSuggestionAlternativeActionVisible=new D(`inlineSuggestionAlternativeActionVisible`,!1,R(1235,`Whether an alternative action for the inline suggestion is visible.`)),RT.inlineSuggestionHasIndentation=new D(`inlineSuggestionHasIndentation`,!1,R(1236,`Whether the inline suggestion starts with whitespace`)),RT.inlineSuggestionHasIndentationLessThanTabSize=new D(`inlineSuggestionHasIndentationLessThanTabSize`,!0,R(1237,`Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab`)),RT.suppressSuggestions=new D(`inlineSuggestionSuppressSuggestions`,void 0,R(1238,`Whether suggestions should be suppressed for the current suggestion`)),RT.cursorBeforeGhostText=new D(`cursorBeforeGhostText`,!1,R(1239,`Whether the cursor is at ghost text`)),RT.cursorInIndentation=new D(`cursorInIndentation`,!1,R(1240,`Whether the cursor is in indentation`)),RT.hasSelection=new D(`editor.hasSelection`,!1,R(1241,`Whether the editor has a selection`)),RT.cursorAtInlineEdit=new D(`cursorAtInlineEdit`,!1,R(1242,`Whether the cursor is at an inline edit`)),RT.inlineEditVisible=new D(`inlineEditIsVisible`,!1,R(1243,`Whether an inline edit is visible`)),RT.tabShouldJumpToInlineEdit=new D(`tabShouldJumpToInlineEdit`,!1,R(1244,`Whether tab should jump to an inline edit.`)),RT.tabShouldAcceptInlineEdit=new D(`tabShouldAcceptInlineEdit`,!1,R(1245,`Whether tab should accept the inline edit.`)),RT.inInlineEditsPreviewEditor=new D(`inInlineEditsPreviewEditor`,!0,R(1246,`Whether the current code editor is showing an inline edits preview`));var BT=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VT=function(e,t){return function(n,r){t(n,r,e)}},HT=class{constructor(e,t,n){this.marker=e,this.index=t,this.total=n}},UT=class{constructor(e,t,n){this._markerService=t,this._configService=n,this._onDidChange=new B,this.onDidChange=this._onDidChange.event,this._dispoables=new b,this._markers=[],this._nextIdx=-1,Nn.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);let r=this._configService.getValue(`problems.sortOrder`),i=(e,t)=>{let n=Td(e.resource.toString(),t.resource.toString());return n===0&&(n=r===`position`?S.compareRangesUsingStarts(e,t)||ed.compare(e.severity,t.severity):ed.compare(e.severity,t.severity)||S.compareRangesUsingStarts(e,t)),n},a=()=>{let t=this._markerService.read({resource:Nn.isUri(e)?e:void 0,severities:ed.Error|ed.Warning|ed.Info});return typeof e==`function`&&(t=t.filter(e=>this._resourceFilter(e.resource))),t.sort(i),!Nu(t,this._markers,(e,t)=>e.resource.toString()===t.resource.toString()&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn&&e.severity===t.severity&&e.message===t.message)&&(this._markers=t,!0)};a(),this._dispoables.add(t.onMarkerChanged(e=>{(!this._resourceFilter||e.some(e=>this._resourceFilter(e)))&&a()&&(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 HT(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,n){let r=this._markers.findIndex(t=>mo(t.resource,e.uri));if(r<0)r=Yo(this._markers.length,t=>Td(this._markers[t].resource.toString(),e.uri.toString())),r<0&&(r=~r),this._nextIdx=n?r:(this._markers.length+r-1)%this._markers.length;else{let i=!1,a=!1;for(let n=r;n<this._markers.length;n++){let r=S.lift(this._markers[n]);if(r.isEmpty()){let t=e.getWordAtPosition(r.getStartPosition());t&&(r=new S(r.startLineNumber,t.startColumn,r.startLineNumber,t.endColumn))}if(t&&(r.containsPosition(t)||t.isBeforeOrEqual(r.getStartPosition()))){this._nextIdx=n,i=!0,a=!r.containsPosition(t);break}if(this._markers[n].resource.toString()!==e.uri.toString())break}i?a&&!n&&--this._nextIdx:this._nextIdx=n?0:this._markers.length-1}this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,n){if(this._markers.length===0)return!1;let r=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,n,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),r!==this._nextIdx}find(e,t){let n=this._markers.findIndex(t=>t.resource.toString()===e.toString());if(!(n<0)){for(;n<this._markers.length;n++)if(S.containsPosition(this._markers[n],t))return new HT(this._markers[n],n+1,this._markers.length)}}};UT=BT([VT(1,Xa),VT(2,Ea)],UT);var WT=tn(`IMarkerNavigationService`),GT=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new Lu}getMarkerList(e){for(let t of this._provider){let n=t.getMarkerList(e);if(n)return n}return new UT(e,this._markerService,this._configService)}};GT=BT([VT(0,Xa),VT(1,Ea)],GT),ys(WT,GT,1);var KT;(function(e){function t(e){switch(e){case vt.Ignore:return`severity-ignore `+tt.asClassName(w.info);case vt.Info:return tt.asClassName(w.info);case vt.Warning:return tt.asClassName(w.warning);case vt.Error:return tt.asClassName(w.error);default:return``}}e.className=t})(KT||={});var qT,JT=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YT=function(e,t){return function(n,r){t(n,r,e)}},XT,ZT=class{constructor(e,t,n,r,i){this._openerService=r,this._labelService=i,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new b,this._editor=t;let a=document.createElement(`div`);a.className=`descriptioncontainer`,this._messageBlock=document.createElement(`div`),this._messageBlock.classList.add(`message`),this._messageBlock.setAttribute(`aria-live`,`assertive`),this._messageBlock.setAttribute(`role`,`alert`),a.appendChild(this._messageBlock),this._relatedBlock=document.createElement(`div`),a.appendChild(this._relatedBlock),this._disposables.add(Os(this._relatedBlock,`click`,e=>{e.preventDefault();let t=this._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new od(a,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(e=>{a.style.left=`-${e.scrollLeft}px`,a.style.top=`-${e.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){_(this._disposables)}update(e){let{source:t,message:n,relatedInformation:r,code:i}=e,a=(t?.length||0)+2;i&&(a+=typeof i==`string`?i.length:i.value.length);let o=Do(n);this._lines=o.length,this._longestLineLength=0;for(let e of o)this._longestLineLength=Math.max(e.length+a,this._longestLineLength);qc(this._messageBlock),this._messageBlock.setAttribute(`aria-label`,this.getAriaLabel(e)),Wt(this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let s=this._messageBlock;for(let e of o)s=document.createElement(`div`),s.innerText=e,e===``&&(s.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(s);if(t||i){let e=document.createElement(`span`);if(e.classList.add(`details`),s.appendChild(e),t){let n=document.createElement(`span`);n.innerText=t,n.classList.add(`source`),e.appendChild(n)}if(i){if(typeof i==`string`){let t=document.createElement(`span`);t.innerText=`(${i})`,t.classList.add(`code`),e.appendChild(t)}else{this._codeLink=N(`a.code-link`),this._codeLink.setAttribute(`href`,`${i.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(i.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};let t=z(this._codeLink,N(`span`));t.innerText=i.value,e.appendChild(this._codeLink)}}}if(qc(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),td(r)){let e=this._relatedBlock.appendChild(document.createElement(`div`));e.style.paddingTop=`${Math.floor(this._editor.getOption(75)*.66)}px`,this._lines+=1;for(let t of r){let n=document.createElement(`div`),r=document.createElement(`a`);r.classList.add(`filename`),r.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,r.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(r,t);let i=document.createElement(`span`);i.innerText=t.message,n.appendChild(r),n.appendChild(i),this._lines+=1,e.appendChild(n)}}let c=this._editor.getOption(59),l=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75),u=c.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:l,scrollHeight:u})}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 ed.Error:t=R(1067,`Error`);break;case ed.Warning:t=R(1068,`Warning`);break;case ed.Info:t=R(1069,`Info`);break;case ed.Hint:t=R(1070,`Hint`)}let n=R(1071,`{0}: {1} at {2}. `,t,e.message,e.startLineNumber+`:`+e.startColumn),r=this._editor.getModel();return r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1&&(n=`${r.getLineContent(e.startLineNumber)}, ${n}`),n}},QT=(qT=class extends Iy{constructor(e,t,n,r,i,a,o){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},i),this._themeService=t,this._openerService=n,this._menuService=r,this._contextKeyService=a,this._labelService=o,this._callOnDispose=new b,this._onDidSelectRelatedInformation=new B,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=ed.Warning,this._backgroundColor=As.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(cE);let t=nE,n=rE;this._severity===ed.Warning?(t=iE,n=aE):this._severity===ed.Info&&(t=oE,n=sE);let r=e.getColor(t),i=e.getColor(n);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:i,primaryHeadingColor:e.getColor(Ry),secondaryHeadingColor:e.getColor(zy)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():``),super._applyStyles()}dispose(){this._callOnDispose.dispose(),this._onDidSelectRelatedInformation.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(e=>this.editor.focus()));let t=this._menuService.getMenuActions(XT.TitleMenu,this._contextKeyService),n=Jc(t);this._actionbarWidget.push(n,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=z(e,N(``))}_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 ZT(this._container,this.editor,e=>this._onDidSelectRelatedInformation.fire(e),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw Error(`call showAtMarker`)}showAtMarker(e,t,n){this._container.classList.remove(`stale`),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());let r=S.lift(e),i=this.editor.getPosition(),a=i&&r.containsPosition(i)?i:r.getStartPosition();super.show(a,this.computeRequiredHeight());let o=this.editor.getModel();if(o){let e=n>1?R(1072,`{0} of {1} problems`,t,n):R(1073,`{0} of {1} problem`,t,n);this.setTitle(Uc(o.uri),e)}this._icon.className=`codicon ${KT.className(ed.toSeverity(this._severity))}`,this.editor.revealPositionInCenterIfOutsideViewport(a,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()}},XT=qT,qT.TitleMenu=new q(`gotoErrorTitleMenu`),qT);QT=XT=JT([YT(1,nu),YT(2,xn),YT(3,Ua),YT(4,x),YT(5,Ls),YT(6,yi)],QT);var $T=et(o,br),eE=et(Ha,rd),tE=et(du,oc),nE=C(`editorMarkerNavigationError.background`,{dark:$T,light:$T,hcDark:Js,hcLight:Js},R(1074,`Editor marker navigation widget error color.`)),rE=C(`editorMarkerNavigationError.headerBackground`,{dark:fn(nE,.1),light:fn(nE,.1),hcDark:null,hcLight:null},R(1075,`Editor marker navigation widget error heading background.`)),iE=C(`editorMarkerNavigationWarning.background`,{dark:eE,light:eE,hcDark:Js,hcLight:Js},R(1076,`Editor marker navigation widget warning color.`)),aE=C(`editorMarkerNavigationWarning.headerBackground`,{dark:fn(iE,.1),light:fn(iE,.1),hcDark:`#0C141F`,hcLight:fn(iE,.2)},R(1077,`Editor marker navigation widget warning heading background.`)),oE=C(`editorMarkerNavigationInfo.background`,{dark:tE,light:tE,hcDark:Js,hcLight:Js},R(1078,`Editor marker navigation widget info color.`)),sE=C(`editorMarkerNavigationInfo.headerBackground`,{dark:fn(oE,.1),light:fn(oE,.1),hcDark:null,hcLight:null},R(1079,`Editor marker navigation widget info heading background.`)),cE=C(`editorMarkerNavigation.background`,fa,R(1080,`Editor marker navigation widget background.`)),lE,uE,dE,fE,pE,mE=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hE=function(e,t){return function(n,r){t(n,r,e)}},gE,_E=(lE=class{static get(e){return e.getContribution(gE.ID)}constructor(e,t,n,r,i){this._markerNavigationService=t,this._contextKeyService=n,this._editorService=r,this._instantiationService=i,this._sessionDispoables=new b,this._editor=e,this._widgetVisible=CE.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(QT,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(e=>{(!this._model?.selected||!S.containsPosition(this._model?.selected.marker,e.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:S.lift(e).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(),n=this._getOrCreateModel(t.uri);n.resetIndex(),n.move(!0,t,new k(e.startLineNumber,e.startColumn)),n.selected&&this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}async navigate(e,t){if(!this._editor.hasModel())return;let n=this._editor.getModel(),r=this._getOrCreateModel(t?void 0:n.uri);if(r.move(e,n,this._editor.getPosition()),r.selected){if(r.selected.marker.resource.toString()!==n.uri.toString()){this._cleanUp();let n=await this._editorService.openCodeEditor({resource:r.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:r.selected.marker}},this._editor);n&&(gE.get(n)?.close(),gE.get(n)?.navigate(e,t))}else this._widget.showAtMarker(r.selected.marker,r.selected.index,r.selected.total)}}},gE=lE,lE.ID=`editor.contrib.markerController`,lE);_E=gE=mE([hE(1,WT),hE(2,Ls),hE(3,Mi),hE(4,x)],_E);var vE=class extends A{constructor(e,t,n){super(n),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&await _E.get(t)?.navigate(this._next,this._multiFile)}},yE=class e extends vE{constructor(){super(!0,!1,{id:e.ID,label:e.LABEL,precondition:void 0,kbOpts:{kbExpr:I.focus,primary:578,weight:100},menuOpts:{menuId:QT.TitleMenu,title:e.LABEL.value,icon:$s(`marker-navigation-next`,w.arrowDown,R(1059,`Icon for goto next marker.`)),group:`navigation`,order:1}})}};uE=yE,uE.ID=`editor.action.marker.next`,uE.LABEL=W(1063,`Go to Next Problem (Error, Warning, Info)`);var bE=class e extends vE{constructor(){super(!1,!1,{id:e.ID,label:e.LABEL,precondition:void 0,kbOpts:{kbExpr:I.focus,primary:1602,weight:100},menuOpts:{menuId:QT.TitleMenu,title:e.LABEL.value,icon:$s(`marker-navigation-previous`,w.arrowUp,R(1060,`Icon for goto previous marker.`)),group:`navigation`,order:2}})}};dE=bE,dE.ID=`editor.action.marker.prev`,dE.LABEL=W(1064,`Go to Previous Problem (Error, Warning, Info)`);var xE=class e extends vE{constructor(){super(!0,!0,{id:e.ID,label:W(1065,`Go to Next Problem in Files (Error, Warning, Info)`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:66,weight:100},menuOpts:{menuId:q.MenubarGoMenu,title:R(1061,`Next &&Problem`),group:`6_problem_nav`,order:1}})}};fE=xE,fE.ID=`editor.action.marker.nextInFiles`;var SE=class e extends vE{constructor(){super(!1,!0,{id:e.ID,label:W(1066,`Go to Previous Problem in Files (Error, Warning, Info)`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:1090,weight:100},menuOpts:{menuId:q.MenubarGoMenu,title:R(1062,`Previous &&Problem`),group:`6_problem_nav`,order:2}})}};pE=SE,pE.ID=`editor.action.marker.prevInFiles`,M(_E.ID,_E,4),T(yE),T(bE),T(xE),T(SE);var CE=new D(`markersNavigationVisible`,!1),wE=yt.bindToContribution(_E.get);F(new wE({id:`closeMarkersNavigation`,precondition:CE,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:I.focus,primary:9,secondary:[1033]}}));var TE=class{constructor(e,t,n){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=n}getEditOperations(e,t){let n=EE(e,this._cursors,this._trimInRegexesAndStrings);for(let e=0,r=n.length;e<r;e++){let r=n[e];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function EE(e,t,n){t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber);for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);let r=[],i=0,a=0,o=t.length;for(let s=1,c=e.getLineCount();s<=c;s++){let c=e.getLineContent(s),l=c.length+1,u=0;if(a<o&&t[a].lineNumber===s&&(u=t[a].column,a++,u===l)||c.length===0)continue;let d=p(c),f=0;if(d===-1)f=1;else if(d!==c.length-1)f=d+2;else continue;if(!n){if(!e.tokenization.hasAccurateTokensForLine(s))continue;let t=e.tokenization.getLineTokens(s),n=t.getStandardTokenType(t.findTokenIndexAtOffset(f));if(n===2||n===3)continue}f=Math.max(u,f),r[i++]=Ns.delete(new S(s,f,s,l))}return r}var DE=class{constructor(e,t,n){this._selection=e,this._isCopyingDown=t,this._noop=n||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let n=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,n.startLineNumber<n.endLineNumber&&n.endColumn===1&&(this._endLineNumberDelta=1,n=n.setEndPosition(n.endLineNumber-1,e.getLineMaxColumn(n.endLineNumber-1)));let r=[];for(let t=n.startLineNumber;t<=n.endLineNumber;t++)r.push(e.getLineContent(t));let i=r.join(`
|
|
22
|
-
`);i===``&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new S(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber+1,1),n.endLineNumber===e.getLineCount()?``:`
|
|
23
|
-
`):this._isCopyingDown?t.addEditOperation(new S(n.startLineNumber,1,n.startLineNumber,1),i+`
|
|
24
|
-
`):t.addEditOperation(new S(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),`
|
|
25
|
-
`+i),this._selectionId=t.trackSelection(n),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let e=n.startLineNumber,t=n.startColumn,r=n.endLineNumber,i=n.endColumn;this._startLineNumberDelta!==0&&(e+=this._startLineNumberDelta,t=1),this._endLineNumberDelta!==0&&(r+=this._endLineNumberDelta,i=1),n=j.createWithDirection(e,t,r,i,this._selectionDirection)}return n}};function OE(e,t){let n=0;for(let r=0;r<e.length;r++)e.charAt(r)===` `?n+=t:n++;return n}function kE(e,t,n){e=e<0?0:e;let r=``;if(!n){let n=Math.floor(e/t);e%=t;for(let e=0;e<n;e++)r+=` `}for(let t=0;t<e;t++)r+=` `;return r}var AE=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jE=function(e,t){return function(n,r){t(n,r,e)}},ME=class{constructor(e,t,n,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=n,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(e,t,n){return{tokenization:{getLineTokens:n=>e.tokenization.getLineTokens(t(n)),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,n)=>e.getLanguageIdAtPosition(t,n)},getLineContent:r=>{let i=n?.(r);return i===void 0?e.getLineContent(t(r)):i}}}getEditOperations(e,t){let n=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===n){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));let{tabSize:i,indentSize:a,insertSpaces:o}=e.getOptions(),s=this.buildIndentConverter(i,a,o);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){let n=r.startLineNumber,i=this._isMovingDown?n+1:n-1;e.getLineMaxColumn(i)===1?t.addEditOperation(new S(1,1,1,1),null):(t.addEditOperation(new S(n,1,n,1),e.getLineContent(i)),t.addEditOperation(new S(i,1,i,e.getLineMaxColumn(i)),null)),r=new j(i,1,i,1)}else{let n,a;if(this._isMovingDown){n=r.endLineNumber+1,a=e.getLineContent(n),t.addEditOperation(new S(n-1,e.getLineMaxColumn(n-1),n,e.getLineMaxColumn(n)),null);let c=a;if(this.shouldAutoIndent(e,r)){let l=this.matchEnterRule(e,s,i,n,r.startLineNumber-1);if(l!==null)c=kE(l+OE(un(e.getLineContent(n)),i),i,o)+this.trimStart(a);else{let t=this.createVirtualModel(e,e=>e===r.startLineNumber?n:e),l=Po(this._autoIndent,t,e.getLanguageIdAtPosition(n,1),r.startLineNumber,s,this._languageConfigurationService);if(l!==null){let t=un(e.getLineContent(n)),r=OE(l,i);r!==OE(t,i)&&(c=kE(r,i,o)+this.trimStart(a))}}t.addEditOperation(new S(r.startLineNumber,1,r.startLineNumber,1),c+`
|
|
26
|
-
`);let u=this.matchEnterRuleMovingDown(e,s,i,r.startLineNumber,n,c);if(u!==null)u!==0&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,u);else{let a=this.createVirtualModel(e,e=>e===r.startLineNumber?n:e>=r.startLineNumber+1&&e<=r.endLineNumber+1?e-1:e,e=>e===r.startLineNumber?c:void 0),l=Po(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),r.startLineNumber+1,s,this._languageConfigurationService);if(l!==null){let n=un(e.getLineContent(r.startLineNumber)),a=OE(l,i),s=OE(n,i);if(a!==s){let n=a-s;this.getIndentEditsOfMovingBlock(e,t,r,i,o,n)}}}}else t.addEditOperation(new S(r.startLineNumber,1,r.startLineNumber,1),c+`
|
|
27
|
-
`)}else if(n=r.startLineNumber-1,a=e.getLineContent(n),t.addEditOperation(new S(n,1,n+1,1),null),t.addEditOperation(new S(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
28
|
-
`+a),this.shouldAutoIndent(e,r)){let a=this.createVirtualModel(e,e=>e===n?r.startLineNumber:e),c=this.matchEnterRule(e,s,i,r.startLineNumber,r.startLineNumber-2);if(c!==null)c!==0&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,c);else{let c=Po(this._autoIndent,a,e.getLanguageIdAtPosition(r.startLineNumber,1),n,s,this._languageConfigurationService);if(c!==null){let n=un(e.getLineContent(r.startLineNumber)),a=OE(c,i),s=OE(n,i);if(a!==s){let n=a-s;this.getIndentEditsOfMovingBlock(e,t,r,i,o,n)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,n){return{shiftIndent:r=>Rc.shiftIndent(r,r.length+1,e,t,n),unshiftIndent:r=>Rc.unshiftIndent(r,r.length+1,e,t,n)}}parseEnterResult(e,t,n,r,i){if(i){let a=i.indentation;i.indentAction===Ya.None||i.indentAction===Ya.Indent?a=i.indentation+i.appendText:i.indentAction===Ya.IndentOutdent?a=i.indentation:i.indentAction===Ya.Outdent&&(a=t.unshiftIndent(i.indentation)+i.appendText);let o=e.getLineContent(r);if(this.trimStart(o).indexOf(this.trimStart(a))>=0){let i=un(e.getLineContent(r)),o=un(a),s=su(e,r,this._languageConfigurationService);return s!==null&&s&2&&(o=t.unshiftIndent(o)),OE(o,n)-OE(i,n)}}return null}matchEnterRuleMovingDown(e,t,n,r,i,a){if(p(a)>=0){let a=e.getLineMaxColumn(i),o=Fl(this._autoIndent,e,new S(i,a,i,a),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,o)}{let i=r-1;for(;i>=1;){let t=e.getLineContent(i);if(p(t)>=0)break;i--}if(i<1||r>e.getLineCount())return null;let a=e.getLineMaxColumn(i),o=Fl(this._autoIndent,e,new S(i,a,i,a),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,o)}}matchEnterRule(e,t,n,r,i,a){let o=i;for(;o>=1;){let t;if(t=o===i&&a!==void 0?a:e.getLineContent(o),p(t)>=0)break;o--}if(o<1||r>e.getLineCount())return null;let s=e.getLineMaxColumn(o),c=Fl(this._autoIndent,e,new S(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,c)}trimStart(e){return e.replace(/^\s+/,``)}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;let n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&this._languageConfigurationService.getLanguageConfiguration(n).indentRulesSupport!==null}getIndentEditsOfMovingBlock(e,t,n,r,i,a){for(let o=n.startLineNumber;o<=n.endLineNumber;o++){let s=e.getLineContent(o),c=un(s),l=kE(OE(c,r)+a,r,i);l!==c&&(t.addEditOperation(new S(o,1,o,c.length+1),l),o===n.endLineNumber&&n.endColumn<=c.length+1&&l===``&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber<n.endLineNumber&&(n=n.setEndPosition(n.endLineNumber,2)),n}};ME=AE([jE(3,bu)],ME);var NE,PE=class{constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){let n=IE(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,n){if(e===null)return!1;let r=FE(e,t,n);if(!r)return!1;for(let e=0,t=r.before.length;e<t;e++)if(r.before[e]!==r.after[e])return!0;return!1}};NE=PE,NE._COLLATOR=Un.Collator();function FE(e,t,n){let r=t.startLineNumber,i=t.endLineNumber;if(t.endColumn===1&&i--,r>=i)return null;let a=[];for(let t=r;t<=i;t++)a.push(e.getLineContent(t));let o=a.slice(0);return o.sort(PE._COLLATOR.value.compare),n===!0&&(o=o.reverse()),{startLineNumber:r,endLineNumber:i,before:a,after:o}}function IE(e,t,n){let r=FE(e,t,n);return r?Ns.replace(new S(r.startLineNumber,1,r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),r.after.join(`
|
|
29
|
-
`)):null}var LE,RE,zE,BE,VE,HE,UE,WE,GE=class extends A{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;let n=t.getSelections().map((e,t)=>({selection:e,index:t,ignore:!1}));n.sort((e,t)=>S.compareRangesUsingStarts(e.selection,t.selection));let r=n[0];for(let e=1;e<n.length;e++){let t=n[e];r.selection.endLineNumber===t.selection.startLineNumber&&(r.index<t.index?t.ignore=!0:(r.ignore=!0,r=t))}let i=[];for(let e of n)i.push(new DE(e.selection,this.down,e.ignore));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},KE=class extends GE{constructor(){super(!1,{id:`editor.action.copyLinesUpAction`,label:W(1295,`Copy Line Up`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`2_line`,title:R(1290,`&&Copy Line Up`),order:1},canTriggerInlineEdits:!0})}},qE=class extends GE{constructor(){super(!0,{id:`editor.action.copyLinesDownAction`,label:W(1296,`Copy Line Down`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`2_line`,title:R(1291,`Co&&py Line Down`),order:2},canTriggerInlineEdits:!0})}},JE=class extends A{constructor(){super({id:`editor.action.duplicateSelection`,label:W(1297,`Duplicate Selection`),precondition:I.writable,menuOpts:{menuId:q.MenubarSelectionMenu,group:`2_line`,title:R(1292,`&&Duplicate Selection`),order:5},canTriggerInlineEdits:!0})}run(e,t,n){if(!t.hasModel())return;let r=[],i=t.getSelections(),a=t.getModel();for(let e of i)if(e.isEmpty())r.push(new DE(e,!0));else{let t=new j(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn);r.push(new bn(t,a.getValueInRange(e)))}t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},YE=class extends A{constructor(e,t){super(t),this.down=e}run(e,t){let n=e.get(bu),r=[],i=t.getSelections()||[],a=t.getOption(16);for(let e of i)r.push(new ME(e,this.down,a,n));t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},XE=class extends YE{constructor(){super(!1,{id:`editor.action.moveLinesUpAction`,label:W(1298,`Move Line Up`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`2_line`,title:R(1293,`Mo&&ve Line Up`),order:3},canTriggerInlineEdits:!0})}},ZE=class extends YE{constructor(){super(!0,{id:`editor.action.moveLinesDownAction`,label:W(1299,`Move Line Down`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`2_line`,title:R(1294,`Move &&Line Down`),order:4},canTriggerInlineEdits:!0})}},QE=class extends A{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections();r.length===1&&r[0].isSingleLine()&&(r=[new j(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);for(let e of r)if(!PE.canRun(t.getModel(),e,this.descending))return;let i=[];for(let e=0,t=r.length;e<t;e++)i[e]=new PE(r[e],this.descending);t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},$E=class extends QE{constructor(){super(!1,{id:`editor.action.sortLinesAscending`,label:W(1300,`Sort Lines Ascending`),precondition:I.writable,canTriggerInlineEdits:!0})}},eD=class extends QE{constructor(){super(!0,{id:`editor.action.sortLinesDescending`,label:W(1301,`Sort Lines Descending`),precondition:I.writable,canTriggerInlineEdits:!0})}},tD=class extends A{constructor(){super({id:`editor.action.removeDuplicateLines`,label:W(1302,`Delete Duplicate Lines`),precondition:I.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r=[],i=[],a=0,o=!0,s=t.getSelections();s.length===1&&s[0].isSingleLine()&&(s=[new j(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))],o=!1);for(let e of s){let t=new Set,o=[];for(let r=e.startLineNumber;r<=e.endLineNumber;r++){let e=n.getLineContent(r);t.has(e)||(o.push(e),t.add(e))}let s=new j(e.startLineNumber,1,e.endLineNumber,n.getLineMaxColumn(e.endLineNumber)),c=e.startLineNumber-a,l=new j(c,1,c+o.length-1,o[o.length-1].length+1);r.push(Ns.replace(s,o.join(`
|
|
30
|
-
`))),i.push(l),a+=e.endLineNumber-e.startLineNumber+1-o.length}t.pushUndoStop(),t.executeEdits(this.id,r,o?i:void 0),t.pushUndoStop()}},nD=class extends A{constructor(){super({id:`editor.action.reverseLines`,label:W(1303,`Reverse lines`),precondition:I.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections(),i=r;i.length===1&&i[0].isSingleLine()&&(i=[new j(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);let a=[],o=[];for(let e=0;e<i.length;e++){let t=i[e],s=r[e],c=t.endLineNumber;t.startLineNumber<t.endLineNumber&&t.endColumn===1&&c--;let l=new S(t.startLineNumber,1,c,n.getLineMaxColumn(c));c===n.getLineCount()&&n.getLineContent(l.endLineNumber)===``&&(l=l.setEndPosition(l.endLineNumber-1,n.getLineMaxColumn(l.endLineNumber-1)));let u=[];for(let e=l.endLineNumber;e>=l.startLineNumber;e--)u.push(n.getLineContent(e));let d=Ns.replace(l,u.join(`
|
|
31
|
-
`));a.push(d);let f=function(e){return e<=l.endLineNumber?l.endLineNumber-e+l.startLineNumber:e};o.push(function(e){if(e.isEmpty())return new j(f(e.positionLineNumber),e.positionColumn,f(e.positionLineNumber),e.positionColumn);{let t=f(e.selectionStartLineNumber),n=f(e.positionLineNumber),r=e.selectionStartColumn,i=e.positionColumn;return new j(t,r,n,i)}}(s))}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.pushUndoStop()}},rD=class e extends A{constructor(){super({id:e.ID,label:W(1304,`Trim Trailing Whitespace`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2102),weight:100}})}run(e,t,n){let r=[];n.reason===`auto-save`&&(r=(t.getSelections()||[]).map(e=>new k(e.positionLineNumber,e.positionColumn)));let i=t.getSelection();if(i===null)return;let a=e.get(Ea),o=t.getModel(),s=a.getValue(`files.trimTrailingWhitespaceInRegexAndStrings`,{overrideIdentifier:o?.getLanguageId(),resource:o?.uri}),c=new TE(i,r,s);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}};LE=rD,LE.ID=`editor.action.trimTrailingWhitespace`;var iD=class extends A{constructor(){super({id:`editor.action.deleteLines`,label:W(1305,`Delete Line`),precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let i=0,a=[],o=[];for(let e=0,t=n.length;e<t;e++){let t=n[e],s=t.startLineNumber,c=t.endLineNumber,l=1,u=r.getLineMaxColumn(c);c<r.getLineCount()?(c+=1,u=1):s>1&&(--s,l=r.getLineMaxColumn(s)),a.push(Ns.replace(new j(s,l,c,u),``)),o.push(new j(s-i,t.positionColumn,s-i,t.positionColumn)),i+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.revealAllCursors(!0),t.pushUndoStop()}_getLinesToRemove(e){let t=e.getSelections().map(e=>{let t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&e.endColumn===1&&--t,{startLineNumber:e.startLineNumber,selectionStartColumn:e.selectionStartColumn,endLineNumber:t,positionColumn:e.positionColumn}});t.sort((e,t)=>e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber);let n=[],r=t[0];for(let e=1;e<t.length;e++)r.endLineNumber+1>=t[e].startLineNumber?r.endLineNumber=t[e].endLineNumber:(n.push(r),r=t[e]);return n.push(r),n}},aD=class extends A{constructor(){super({id:`editor.action.indentLines`,label:W(1306,`Indent Line`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,Cr.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},oD=class extends A{constructor(){super({id:`editor.action.outdentLines`,label:W(1307,`Outdent Line`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(e,t){Yi.Outdent.runEditorCommand(e,t,null)}},sD=class e extends A{constructor(){super({id:e.ID,label:W(1308,`Insert Line Above`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,l.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}};RE=sD,RE.ID=`editor.action.insertLineBefore`;var cD=class e extends A{constructor(){super({id:e.ID,label:W(1309,`Insert Line Below`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,l.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}};zE=cD,zE.ID=`editor.action.insertLineAfter`;var lD=class extends A{run(e,t){if(!t.hasModel())return;let n=t.getSelection(),r=this._getRangesToDelete(t),i=[];for(let e=0,t=r.length-1;e<t;e++){let t=r[e],n=r[e+1];S.intersectRanges(t,n)===null?i.push(t):r[e+1]=S.plusRange(t,n)}i.push(r[r.length-1]);let a=this._getEndCursorState(n,i),o=i.map(e=>Ns.replace(e,``));t.pushUndoStop(),t.executeEdits(this.id,o,a),t.pushUndoStop()}},uD=class extends lD{constructor(){super({id:`deleteAllLeft`,label:W(1310,`Delete All Left`),precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[],i=0;return t.forEach(t=>{let a;if(t.endColumn===1&&i>0){let e=t.startLineNumber-i;a=new j(e,t.startColumn,e,t.startColumn)}else a=new j(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=a:r.push(a)}),n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getSelections();if(t===null)return[];let n=t,r=e.getModel();return r===null?[]:(n.sort(S.compareRangesUsingStarts),n=n.map(e=>{if(e.isEmpty()){if(e.startColumn===1){let t=Math.max(1,e.startLineNumber-1),n=e.startLineNumber===1?1:r.getLineLength(t)+1;return new S(t,n,e.startLineNumber,1)}return new S(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new S(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),n)}},dD=class extends lD{constructor(){super({id:`deleteAllRight`,label:W(1311,`Delete All Right`),precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=new j(a.startLineNumber-0,a.startColumn,a.startLineNumber-0,a.startColumn);a.intersectRanges(e)?n=o:r.push(o)}return n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getModel();if(t===null)return[];let n=e.getSelections();if(n===null)return[];let r=n.map(e=>{if(e.isEmpty()){let n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new S(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new S(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e});return r.sort(S.compareRangesUsingStarts),r}},fD=class extends A{constructor(){super({id:`editor.action.joinLines`,label:W(1312,`Join Lines`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getSelection();if(r===null)return;n.sort(S.compareRangesUsingStarts);let i=[],a=n.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(r.equalsSelection(e)&&(r=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new j(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new j(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));i.push(a);let o=t.getModel();if(o===null)return;let s=[],c=[],l=r,u=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=t.startLineNumber,a=0,d,f,p=o.getLineLength(t.endLineNumber)-t.endColumn;if(t.isEmpty()||t.startLineNumber===t.endLineNumber){let e=t.getStartPosition();e.lineNumber<o.getLineCount()?(d=n+1,f=o.getLineMaxColumn(d)):(d=e.lineNumber,f=o.getLineMaxColumn(e.lineNumber))}else d=t.endLineNumber,f=o.getLineMaxColumn(d);let m=o.getLineContent(n);for(let e=n+1;e<=d;e++){let t=o.getLineContent(e),n=o.getLineFirstNonWhitespaceColumn(e);if(n>=1){let e=!0;m===``&&(e=!1),e&&(m.charAt(m.length-1)===` `||m.charAt(m.length-1)===` `)&&(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g,` `));let r=t.substr(n-1);m+=(e?` `:``)+r,a=e?r.length+1:r.length}else a=0}let h=new S(n,1,d,f);if(!h.isEmpty()){let e;t.isEmpty()?(s.push(Ns.replace(h,m)),e=new j(h.startLineNumber-u,m.length-a+1,n-u,m.length-a+1)):t.startLineNumber===t.endLineNumber?(s.push(Ns.replace(h,m)),e=new j(t.startLineNumber-u,t.startColumn,t.endLineNumber-u,t.endColumn)):(s.push(Ns.replace(h,m)),e=new j(t.startLineNumber-u,t.startColumn,t.startLineNumber-u,m.length-p)),S.intersectRanges(h,r)===null?c.push(e):l=e}u+=h.endLineNumber-h.startLineNumber}c.unshift(l),t.pushUndoStop(),t.executeEdits(this.id,s,c),t.pushUndoStop()}},pD=class extends A{constructor(){super({id:`editor.action.transpose`,label:W(1313,`Transpose Characters around the Cursor`),precondition:I.writable,canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=[];for(let e=0,t=n.length;e<t;e++){let t=n[e];if(!t.isEmpty())continue;let a=t.getStartPosition(),o=r.getLineMaxColumn(a.lineNumber);if(a.column>=o){if(a.lineNumber===r.getLineCount())continue;let e=new S(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new ct(new j(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t))}else{let e=new S(a.lineNumber,Math.max(1,a.column-1),a.lineNumber,a.column+1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new Bt(e,t,new j(a.lineNumber,a.column+1,a.lineNumber,a.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},mD=class extends A{run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=t.getOption(148),a=[];for(let e of n)if(e.isEmpty()){let n=e.getStartPosition(),o=t.getConfiguredWordAtPosition(n);if(!o)continue;let s=new S(n.lineNumber,o.startColumn,n.lineNumber,o.endColumn),c=r.getValueInRange(s);a.push(Ns.replace(s,this._modifyText(c,i)))}else{let t=r.getValueInRange(e);a.push(Ns.replace(e,this._modifyText(t,i)))}t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop()}},hD=class extends mD{constructor(){super({id:`editor.action.transformToUppercase`,label:W(1314,`Transform to Uppercase`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleUpperCase()}},gD=class extends mD{constructor(){super({id:`editor.action.transformToLowercase`,label:W(1315,`Transform to Lowercase`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleLowerCase()}},_D=class{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}},vD=class e extends mD{constructor(){super({id:`editor.action.transformToTitlecase`,label:W(1316,`Transform to Title Case`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.titleBoundary.get();return r?t.toLocaleLowerCase().replace(r,e=>e.toLocaleUpperCase()):t}};BE=vD,BE.titleBoundary=new _D(`(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}`,`gmu`);var yD=class e extends mD{constructor(){super({id:`editor.action.transformToSnakecase`,label:W(1317,`Transform to Snake Case`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get();return!r||!i?t:t.replace(r,`$1_$2`).replace(i,`$1_$2$3`).toLocaleLowerCase()}};VE=yD,VE.caseBoundary=new _D(`(\\p{Ll})(\\p{Lu})`,`gmu`),VE.singleLetters=new _D(`(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})`,`gmu`);var bD=class e extends mD{constructor(){super({id:`editor.action.transformToCamelcase`,label:W(1318,`Transform to Camel Case`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=/\r\n|\r|\n/.test(t)?e.multiLineWordBoundary.get():e.singleLineWordBoundary.get(),i=e.validWordStart.get();if(!r||!i)return t;let a=t.split(r);return a.shift()?.replace(i,e=>e.toLocaleLowerCase())+a.map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join(``)}};HE=bD,HE.singleLineWordBoundary=new _D(`[_\\s-]+`,`gm`),HE.multiLineWordBoundary=new _D(`[_-]+`,`gm`),HE.validWordStart=new _D(`^(\\p{Lu}[^\\p{Lu}])`,`gmu`);var xD=class e extends mD{constructor(){super({id:`editor.action.transformToPascalcase`,label:W(1319,`Transform to Pascal Case`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.wordBoundary.get(),i=e.wordBoundaryToMaintain.get(),a=e.upperCaseWordMatcher.get();return!r||!i||!a?t:t.split(i).map(e=>e.split(r)).flat().map(e=>{let t=e.charAt(0).toLocaleUpperCase()+e.slice(1);return t.length>1&&a.test(t)?t.charAt(0)+t.slice(1).toLocaleLowerCase():t}).join(``)}};UE=xD,UE.wordBoundary=new _D(`[_ \\t-]`,`gm`),UE.wordBoundaryToMaintain=new _D(`(?<=\\.)`,`gm`),UE.upperCaseWordMatcher=new _D(`^\\p{Lu}+$`,`mu`);var SD=class e extends mD{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(e=>e.isSupported())}constructor(){super({id:`editor.action.transformToKebabcase`,label:W(1320,`Transform to Kebab Case`),precondition:I.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get(),a=e.underscoreBoundary.get();return!r||!i||!a?t:t.replace(a,`$1-$3`).replace(r,`$1-$2`).replace(i,`$1-$2`).toLocaleLowerCase()}};WE=SD,WE.caseBoundary=new _D(`(\\p{Ll})(\\p{Lu})`,`gmu`),WE.singleLetters=new _D(`(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})`,`gmu`),WE.underscoreBoundary=new _D(`(\\S)(_)(\\S)`,`gm`),T(KE),T(qE),T(JE),T(XE),T(ZE),T($E),T(eD),T(tD),T(rD),T(iD),T(aD),T(oD),T(sD),T(cD),T(uD),T(dD),T(fD),T(pD),T(hD),T(gD),T(nD),yD.caseBoundary.isSupported()&&yD.singleLetters.isSupported()&&T(yD),bD.singleLineWordBoundary.isSupported()&&bD.multiLineWordBoundary.isSupported()&&T(bD),xD.wordBoundary.isSupported()&&T(xD),vD.titleBoundary.isSupported()&&T(vD),SD.isSupported()&&T(SD);var CD=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wD=function(e,t){return function(n,r){t(n,r,e)}};function TD(e){return e.sourceId+` @@ `+JSON.stringify({...e,modelUri:e.modelUri?.toString(),sourceId:void 0})}var ED=class extends O{static cast(){return this}constructor(e,t,n){super(),this._key=e,this._contextKeyService=t,this._dataChannelService=n,this._isEnabledContextKeyValue=DD(`structuredLogger.enabled:`+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map(e=>e!==void 0)}log(e){return this._isEnabledContextKeyValue.get()?(this._dataChannelService.getDataChannel(`structuredLogger:`+this._key).sendData(e),!0):!1}};ED=CD([wD(1,Ls),wD(2,Nt)],ED);function DD(e,t){return yd(t.onDidChangeContext,()=>t.getContextKeyValue(e))}var OD=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kD=function(e,t){return function(n,r){t(n,r,e)}},AD=class extends O{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._loggerService=n,this._structuredLogger=this._register(this._instantiationService.createInstance(ED.cast(),`editor.inlineSuggest.logChangeReason.commandId`));let r=this._loggerService?.createLogger(`textModelChanges`,{hidden:!1,name:`Text Model Changes Reason`}),i=yd(this,r.onDidChangeLogLevel,()=>r.getLevel());this._register(E(e=>{ws(i.read(e),Dl.Trace)&&e.store.add(this._editor.onDidChangeModelContent(e=>{this._editor.getModel()?.uri.scheme!==`output`&&r.trace(`onDidChangeModelContent: `+e.detailedReasons.map(e=>e.toKey(Number.MAX_VALUE)).join(`, `))}))})),this._register(E(e=>{this._editor instanceof vs&&this._structuredLogger.isEnabled.read(e)&&e.store.add(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel();if(!t)return;let n=e.detailedReasons[0],r={...n.metadata,sourceId:`TextModel.setChangeReason`,source:n.metadata.source,time:Date.now(),modelUri:t.uri,modelVersion:t.getVersionId()};setTimeout(()=>{this._structuredLogger.log(r)},0)}))}))}};AD=OD([kD(1,x),kD(2,Mc)],AD);function jD(e,t=nn){return ds(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}var MD,ND=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},PD=function(e,t){return function(n,r){t(n,r,e)}},FD=class{constructor(e){this._delegates=e}resolve(e){for(let t of this._delegates){let n=t.resolve(e);if(n!==void 0)return n}}},ID=class{constructor(e,t,n,r){this._model=e,this._selection=t,this._selectionIdx=n,this._overtypingCapturer=r}resolve(e){let{name:t}=e;if(t===`SELECTION`||t===`TM_SELECTED_TEXT`){let t=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){let e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,n=e.multiline)}if(t&&n&&e.snippet){let n=this._model.getLineContent(this._selection.startLineNumber),r=un(n,0,this._selection.startColumn-1),i=r;e.snippet.walk(t=>t!==e&&(t instanceof Bf&&(i=un(Do(t.value).pop())),!0));let a=Sn(i,r);t=t.replace(/(\r\n|\r|\n)(.*)/g,(e,t,n)=>`${t}${i.substr(a)}${n}`)}return t}if(t===`TM_CURRENT_LINE`)return this._model.getLineContent(this._selection.positionLineNumber);if(t===`TM_CURRENT_WORD`){let e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}if(t===`TM_LINE_INDEX`)return String(this._selection.positionLineNumber-1);if(t===`TM_LINE_NUMBER`)return String(this._selection.positionLineNumber);if(t===`CURSOR_INDEX`)return String(this._selectionIdx);if(t===`CURSOR_NUMBER`)return String(this._selectionIdx+1)}},LD=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){let{name:t}=e;if(t===`TM_FILENAME`)return Gn(this._model.uri.fsPath);if(t===`TM_FILENAME_BASE`){let e=Gn(this._model.uri.fsPath),t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}if(t===`TM_DIRECTORY`)return hr(this._model.uri.fsPath)===`.`?``:this._labelService.getUriLabel(eo(this._model.uri));if(t===`TM_DIRECTORY_BASE`)return hr(this._model.uri.fsPath)===`.`?``:Gn(hr(this._model.uri.fsPath));if(t===`TM_FILEPATH`)return this._labelService.getUriLabel(this._model.uri);if(t===`RELATIVE_FILEPATH`)return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}},RD=class{constructor(e,t,n,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=n,this._spread=r}resolve(e){if(e.name!==`CLIPBOARD`)return;let t=this._readClipboardText();if(t){if(this._spread){let e=t.split(/\r\n|\n|\r/).filter(e=>!Qt(e));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}},zD=class{constructor(e,t,n){this._model=e,this._selection=t,this._languageConfigurationService=n}resolve(e){let{name:t}=e,n=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(n).comments;if(r){if(t===`LINE_COMMENT`)return r.lineCommentToken||void 0;if(t===`BLOCK_COMMENT_START`)return r.blockCommentStartToken||void 0;if(t===`BLOCK_COMMENT_END`)return r.blockCommentEndToken||void 0}}};zD=ND([PD(2,bu)],zD);var BD=class e{constructor(){this._date=new Date}resolve(t){let{name:n}=t;switch(n){case`CURRENT_YEAR`:return String(this._date.getFullYear());case`CURRENT_YEAR_SHORT`:return String(this._date.getFullYear()).slice(-2);case`CURRENT_MONTH`:return String(this._date.getMonth().valueOf()+1).padStart(2,`0`);case`CURRENT_DATE`:return String(this._date.getDate().valueOf()).padStart(2,`0`);case`CURRENT_HOUR`:return String(this._date.getHours().valueOf()).padStart(2,`0`);case`CURRENT_MINUTE`:return String(this._date.getMinutes().valueOf()).padStart(2,`0`);case`CURRENT_SECOND`:return String(this._date.getSeconds().valueOf()).padStart(2,`0`);case`CURRENT_MILLISECOND`:return String(this._date.getMilliseconds().valueOf()).padStart(3,`0`);case`CURRENT_DAY_NAME`:return e.dayNames[this._date.getDay()];case`CURRENT_DAY_NAME_SHORT`:return e.dayNamesShort[this._date.getDay()];case`CURRENT_MONTH_NAME`:return e.monthNames[this._date.getMonth()];case`CURRENT_MONTH_NAME_SHORT`:return e.monthNamesShort[this._date.getMonth()];case`CURRENT_SECONDS_UNIX`:return String(Math.floor(this._date.getTime()/1e3));case`CURRENT_MILLISECONDS_UNIX`:return String(this._date.getTime());case`CURRENT_TIMEZONE_OFFSET`:{let e=this._date.getTimezoneOffset(),t=e>0?`-`:`+`,n=Math.trunc(Math.abs(e/60)),r=n<10?`0`+n:n,i=Math.abs(e)-n*60,a=i<10?`0`+i:i;return t+r+`:`+a}case`CURRENT_TIMEZONE_NAME`:return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}}};MD=BD,MD.dayNames=[R(1456,`Sunday`),R(1457,`Monday`),R(1458,`Tuesday`),R(1459,`Wednesday`),R(1460,`Thursday`),R(1461,`Friday`),R(1462,`Saturday`)],MD.dayNamesShort=[R(1463,`Sun`),R(1464,`Mon`),R(1465,`Tue`),R(1466,`Wed`),R(1467,`Thu`),R(1468,`Fri`),R(1469,`Sat`)],MD.monthNames=[R(1470,`January`),R(1471,`February`),R(1472,`March`),R(1473,`April`),R(1474,`May`),R(1475,`June`),R(1476,`July`),R(1477,`August`),R(1478,`September`),R(1479,`October`),R(1480,`November`),R(1481,`December`)],MD.monthNamesShort=[R(1482,`Jan`),R(1483,`Feb`),R(1484,`Mar`),R(1485,`Apr`),R(1486,`May`),R(1487,`Jun`),R(1488,`Jul`),R(1489,`Aug`),R(1490,`Sep`),R(1491,`Oct`),R(1492,`Nov`),R(1493,`Dec`)];var VD=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;let t=Wn(this._workspaceService.getWorkspace());if(!ie(t)){if(e.name===`WORKSPACE_NAME`)return this._resolveWorkspaceName(t);if(e.name===`WORKSPACE_FOLDER`)return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(Gs(e))return Gn(e.uri.path);let t=Gn(e.configPath.path);return t.endsWith(`code-workspace`)&&(t=t.substr(0,t.length-rc.length-1)),t}_resoveWorkspacePath(e){if(Gs(e))return jD(e.uri.fsPath);let t=Gn(e.configPath.path),n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?jD(n):`/`}},HD=class{resolve(e){let{name:t}=e;if(t===`RANDOM`)return Math.random().toString().slice(-6);if(t===`RANDOM_HEX`)return Math.random().toString(16).slice(-6);if(t===`UUID`)return ms()}},UD,WD=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},GD=function(e,t){return function(n,r){t(n,r,e)}},KD,qD=class e{constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=pd(t.placeholders,Hf.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw Error(`Snippet not initialized!`);if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;let t=this._editor.getModel();this._editor.changeDecorations(n=>{for(let r of this._snippet.placeholders){let i=this._snippet.offset(r),a=this._snippet.fullLen(r),o=S.fromPositions(t.getPositionAt(this._offset+i),t.getPositionAt(this._offset+i+a)),s=r.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,c=n.addDecoration(o,s);this._placeholderDecorations.set(r,c)}})}move(t){if(!this._editor.hasModel())return[];this._initDecorations();let n=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let e=[];for(let t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){let r=this._placeholderDecorations.get(t),i=r?n.getDecorationRange(r):null;if(i){let r=n.getValueInRange(i),a=t.transform.resolve(r).split(/\r\n|\r|\n/);for(let e=1;e<a.length;e++)a[e]=n.normalizeIndentation(this._snippetLineLeadingWhitespace+a[e]);e.push(Ns.replace(i,a.join(n.getEOL())))}}e.length>0&&this._editor.executeEdits(`snippet.placeholderTransform`,e)}let r=!1;t===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,r=!0):t===!1&&this._placeholderGroupsIdx>0&&(--this._placeholderGroupsIdx,r=!0);let i=n.changeDecorations(t=>{let i=new Set,a=[];for(let o of this._placeholderGroups[this._placeholderGroupsIdx]){let s=this._placeholderDecorations.get(o),c=s?n.getDecorationRange(s):null;if(r&&=this._hasPlaceholderBeenCollapsed(o),!(!s||!c)){a.push(new j(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)),t.changeDecorationOptions(s,o.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(o);for(let n of this._snippet.enclosingPlaceholders(o)){let r=this._placeholderDecorations.get(n);r&&(t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(n))}}}for(let[n,r]of this._placeholderDecorations)i.has(n)||t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive);return a});return r?this.move(t):i??[]}_hasPlaceholderBeenCollapsed(e){let t=this._editor.getModel(),n=e;for(;n;){if(n instanceof Hf){let e=this._placeholderDecorations.get(n),r=e?t.getDecorationRange(e):null;if((!r||r.isEmpty())&&n.toString().length>0)return!0}n=n.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){let[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){let e=new Map;for(let t of this._placeholderGroups){let n;for(let r of t){if(r.isFinalTabstop)break;n||(n=[],e.set(r.index,n));let t=this._placeholderDecorations.get(r),i=this._editor.getModel().getDecorationRange(t);if(!i){e.delete(r.index);break}n.push(i)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;let e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;let t=this._placeholderDecorations.get(e);if(!t)return;let n=this._editor.getModel().getDecorationRange(t);if(n)return{range:n,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Uf,!e)),e}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(t){let n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(r=>{for(let i of this._placeholderGroups[this._placeholderGroupsIdx]){let a=t.shift();console.assert(a._offset!==-1),console.assert(!a._placeholderDecorations);let o=a._snippet.placeholderInfo.last.index;for(let e of a._snippet.placeholderInfo.all)e.index=e.isFinalTabstop?i.index+(o+1)/this._nestingLevel:i.index+e.index/this._nestingLevel;this._snippet.replace(i,a._snippet.children);let s=this._placeholderDecorations.get(i);r.removeDecoration(s),this._placeholderDecorations.delete(i);for(let t of a._snippet.placeholders){let i=a._snippet.offset(t),o=a._snippet.fullLen(t),s=S.fromPositions(n.getPositionAt(a._offset+i),n.getPositionAt(a._offset+i+o)),c=r.addDecoration(s,e._decor.inactive);this._placeholderDecorations.set(t,c)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=pd(this._snippet.placeholders,Hf.compareByIndex)})}_renormalizePlaceholderIndices(){let e=this._snippet.placeholders,t=new Set;for(let n of e)n.isFinalTabstop||t.add(n.index);let n=[...t].sort((e,t)=>e-t),r=new Map;for(let e=0;e<n.length;e++)r.set(n[e],e+1);for(let t of e)t.isFinalTabstop||(t.index=r.get(t.index));this._nestingLevel=1}};UD=qD,UD._decor={active:G.register({description:`snippet-placeholder-1`,stickiness:0,className:`snippet-placeholder`}),inactive:G.register({description:`snippet-placeholder-2`,stickiness:1,className:`snippet-placeholder`}),activeFinal:G.register({description:`snippet-placeholder-3`,stickiness:1,className:`finish-snippet-placeholder`}),inactiveFinal:G.register({description:`snippet-placeholder-4`,stickiness:1,className:`finish-snippet-placeholder`})};var JD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},YD=KD=class{static adjustWhitespace(e,t,n,r,i){let a=e.getLineContent(t.lineNumber),o=un(a,0,t.column-1),s;return r.walk(t=>{if(!(t instanceof Bf)||t.parent instanceof Uf||i&&!i.has(t))return!0;let a=t.value.split(/\r\n|\r|\n/);if(n){let n=r.offset(t);if(n===0)a[0]=e.normalizeIndentation(a[0]);else{s??=r.toString();let t=s.charCodeAt(n-1);(t===10||t===13)&&(a[0]=e.normalizeIndentation(o+a[0]))}for(let t=1;t<a.length;t++)a[t]=e.normalizeIndentation(o+a[t])}let c=a.join(e.getEOL());return c!==t.value&&(t.parent.replace(t,[new Bf(c)]),s=void 0),!0}),o}static adjustSelection(e,t,n,r){if(n!==0||r!==0){let{positionLineNumber:i,positionColumn:a}=t,o=a-n,s=a+r,c=e.validateRange({startLineNumber:i,startColumn:o,endLineNumber:i,endColumn:s});t=j.createWithDirection(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,n,r,i,a,o,s,c){let l=[],u=[];if(!e.hasModel())return{edits:l,snippets:u};let d=e.getModel(),f=e.invokeWithinContext(e=>e.get(nr)),p=e.invokeWithinContext(e=>new LD(e.get(yi),d)),m=()=>o,h=d.getValueInRange(KD.adjustSelection(d,e.getSelection(),n,0)),g=d.getValueInRange(KD.adjustSelection(d,e.getSelection(),0,r)),_=d.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map((e,t)=>({selection:e,idx:t})).sort((e,t)=>S.compareRangesUsingStarts(e.selection,t.selection));for(let{selection:o,idx:y}of v){let ee=KD.adjustSelection(d,o,n,0),te=KD.adjustSelection(d,o,0,r);h!==d.getValueInRange(ee)&&(ee=o),g!==d.getValueInRange(te)&&(te=o);let ne=o.setStartPosition(ee.startLineNumber,ee.startColumn).setEndPosition(te.endLineNumber,te.endColumn),re=new Yf().parse(t,!0,i),ie=ne.getStartPosition(),ae=KD.adjustWhitespace(d,ie,a||y>0&&_!==d.getLineFirstNonWhitespaceColumn(o.positionLineNumber),re);re.resolveVariables(new FD([p,new RD(m,y,v.length,e.getOption(88)===`spread`),new ID(d,o,y,s),new zD(d,o,c),new BD,new VD(f),new HD])),l[y]=Ns.replace(ne,re.toString()),l[y].identifier={major:y,minor:0},l[y]._isTracked=!0,u[y]=new qD(e,re,ae)}return{edits:l,snippets:u}}static createEditsAndSnippetsFromEdits(e,t,n,r,i,a,o){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};let s=[],c=e.getModel(),l=new Yf,u=new Jf,d=e.invokeWithinContext(e=>new LD(e.get(yi),c)),f=new BD,p=new VD(e.invokeWithinContext(e=>e.get(nr))),m=new HD,h=()=>i,g=e.getOption(88)===`spread`,_=t.map((e,t)=>({edit:e,idx:t})).sort((e,t)=>S.compareRangesUsingStarts(e.edit.range,t.edit.range)),v=0;for(let e=0;e<_.length;e++){let{edit:{range:t,template:n,keepWhitespace:i},idx:y}=_[e];if(e>0){let n=_[e-1].edit.range,r=S.fromPositions(n.getEndPosition(),t.getStartPosition()),i=new Bf(c.getValueInRange(r));u.appendChild(i),v+=i.value.length}let ee=new Set;u.walk(e=>(e instanceof Kf&&ee.add(e),!0));let te=l.parseFragment(n,u);KD.adjustWhitespace(c,t.getStartPosition(),i===void 0?r:!i,u,new Set(te));let ne=j.fromRange(t,0),re=new FD([d,new RD(h,y,_.length,g),new ID(c,ne,y,a),new zD(c,ne,o),f,p,m]);u.walk(e=>(e instanceof Kf&&!ee.has(e)&&e.resolve(re),!0));let ie=u.toString(),ae=ie.slice(v);v=ie.length;let oe=Ns.replace(t,ae);oe.identifier={major:e,minor:0},oe._isTracked=!0,s.push(oe)}return l.ensureFinalTabstop(u,n,!0),{edits:s,snippets:[new qD(e,u,``)]}}constructor(e,t,n=JD,r){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){_(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(` -> `)}"`}insert(e){if(!this._editor.hasModel())return;let{edits:t,snippets:n}=typeof this._template==`string`?KD.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):KD.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=n,this._editor.executeEdits(e??Hn.snippet(),t,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<n.length;e++)n[e].initialize(t[e].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):t.map(e=>j.fromPositions(e.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=JD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);let{edits:n,snippets:r}=KD.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits(`snippet`,n,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<r.length;e++)r[e].initialize(t[e].textChange);let n=r[0].isTrivialSnippet,i=r.length===this._snippets.reduce((e,t)=>e+t.activePlaceholderCount,0);if(!n&&i){for(let e of this._snippets)e.merge(r);console.assert(r.length===0)}return this._snippets[0].hasPlaceholder&&!n&&i?this._move(void 0):t.map(e=>j.fromPositions(e.range.getEndPosition()))})}next(){let e=this._move(!0);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}prev(){let e=this._move(!1);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}_move(e){let t=[];for(let n of this._snippets){let r=n.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;let e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;let t=new Map;for(let n of this._snippets){let r=n.computePossibleSelections();if(t.size===0)for(let[n,i]of r){i.sort(S.compareRangesUsingStarts);for(let r of e)if(i[0].containsRange(r)){t.set(n,[]);break}}if(t.size===0)return!1;t.forEach((e,t)=>{e.push(...r.get(t))})}e.sort(S.compareRangesUsingStarts);for(let[n,r]of t){if(r.length!==e.length){t.delete(n);continue}r.sort(S.compareRangesUsingStarts);for(let i=0;i<r.length;i++)if(!r[i].containsRange(e[i])){t.delete(n);continue}}return t.size>0}};YD=KD=WD([GD(3,bu)],YD);var XD,ZD=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},QD=function(e,t){return function(n,r){t(n,r,e)}},$D,eO={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},tO=(XD=class{static get(e){return e.getContribution($D.ID)}constructor(e,t,n,r,i){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=i,this._inSnippetObservable=Dt(this,!1),this._snippetListener=new b,this._modelVersionId=-1,this._inSnippet=$D.InSnippetMode.bindTo(r),this._hasNextTabstop=$D.HasNextTabstop.bindTo(r),this._hasPrevTabstop=$D.HasPrevTabstop.bindTo(r),this._inSnippetChoice=$D.InSnippetChoice.bindTo(r)}dispose(){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,t===void 0?eO:{...eO,...t})}catch(t){this.cancel(),this._logService.error(t),this._logService.error(`snippet_error`),this._logService.error(`insert_template=`,e),this._logService.error(`existing_template=`,this._session?this._session._logInfo():`<no_session>`)}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!=`string`&&this.cancel(),this._session?(Gi(typeof e==`string`),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new YD(this._editor,e,t,this._languageConfigurationService),this._session.insert(t.reason)),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){let e={_debugDisplayName:`snippetChoiceCompletions`,provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!k.equals(this._editor.getPosition(),t))return;let{activeChoice:n}=this._session;if(!n||n.choice.options.length===0)return;let r=e.getValueInRange(n.range),i=!!n.choice.options.find(e=>e.value===r),a=[];for(let e=0;e<n.choice.options.length;e++){let t=n.choice.options[e];a.push({kind:13,label:t.value,insertText:t.value,sortText:`a`.repeat(e+1),range:n.range,filterText:i?`${r}_${t.value}`:void 0,command:{id:`jumpToNextSnippetPlaceholder`,title:R(1455,`Go to next placeholder...`)}})}return{suggestions:a}}},t=this._editor.getModel(),n,r=!1,i=()=>{n?.dispose(),r=!1},a=()=>{r||=(n=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(n),!0)};this._choiceCompletions={provider:e,enable:a,disable:i}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(e=>e.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId()||!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._inSnippetObservable.set(!0,void 0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0,this._inSnippetChoice.reset();return}let{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset();return}this._inSnippetChoice.set(!0),this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{IT(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}get isInSnippetObservable(){return this._inSnippetObservable}},$D=XD,XD.ID=`snippetController2`,XD.InSnippetMode=new D(`inSnippetMode`,!1,R(1451,`Whether the editor in current in snippet mode`)),XD.HasNextTabstop=new D(`hasNextTabstop`,!1,R(1452,`Whether there is a next tab stop when in snippet mode`)),XD.HasPrevTabstop=new D(`hasPrevTabstop`,!1,R(1453,`Whether there is a previous tab stop when in snippet mode`)),XD.InSnippetChoice=new D(`inSnippetChoice`,!1,R(1454,`Whether the current snippet tab stop is a choice`)),XD);tO=$D=ZD([QD(1,$l),QD(2,U),QD(3,Ls),QD(4,bu)],tO),M(tO.ID,tO,4);var nO=yt.bindToContribution(tO.get);F(new nO({id:`jumpToNextSnippetPlaceholder`,precondition:g.and(tO.InSnippetMode,tO.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:I.textInputFocus,primary:2}})),F(new nO({id:`jumpToPrevSnippetPlaceholder`,precondition:g.and(tO.InSnippetMode,tO.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:I.textInputFocus,primary:1026}})),Me.registerKeybindingRule({id:`jumpToPrevSnippetPlaceholder`,weight:191,when:g.and(tO.InSnippetMode,tO.HasPrevTabstop,tO.InSnippetChoice,I.textInputFocus),primary:1026}),F(new nO({id:`leaveSnippet`,precondition:tO.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:I.textInputFocus,primary:9,secondary:[1033]}})),F(new nO({id:`acceptSnippet`,precondition:tO.InSnippetMode,handler:e=>e.finish()}));function rO(e){return new iO(e)}var iO=class extends wa{constructor(e){super(),this._textModel=e}getOffset(e){return this._textModel.getOffsetAt(e)}getPosition(e){return this._textModel.getPositionAt(e)}},aO=[];function oO(){return aO}function sO(e){return cO(e).map(e=>e.getEndPosition())}function cO(e){let t=_c.createSortPermutation(e,xs(e=>e.range,S.compareRangesUsingStarts)),n=new cl(t.apply(e)).getNewRanges();return t.inverse().apply(n)}function lO(e,t){let n=rO(t),r=t.getValue();return e.map(e=>n.getStringReplacement(e)).map(e=>e.removeCommonSuffixPrefix(r)).map(e=>n.getTextReplacement(e))}function uO(e,t){let n=Dt(`result`,[]),r=[];return t.add(E(t=>{let i=e.read(t);ht(e=>{if(i.length!==r.length){r.length=i.length;for(let e=0;e<r.length;e++)r[e]||(r[e]=Dt(`item`,i[e]));n.set([...r],e)}r.forEach((t,n)=>t.set(i[n],e))})})),n}var dO=class{constructor(e){this._contextKeyService=e}bind(e,t){return mc(e,this._contextKeyService,t instanceof Function?t:e=>t.read(e))}};function fO(e,t){return new Promise(n=>{let r,i=setTimeout(()=>{r&&r.dispose(),n()},e);t&&(r=t.onCancellationRequested(()=>{clearTimeout(i),r&&r.dispose(),n()}))})}var pO=class e{static message(t){return new e(void 0,t)}constructor(e,t=void 0){this.error=e,this.message=t}static is(t){return t instanceof e}logError(){this.message?console.error(`ErrorResult: ${this.message}`,this.error):console.error(`ErrorResult: An unexpected error-case occurred, usually caused by invalid input.`,this.error)}},mO,hO=class e{static startNow(t,n,r,i=gO){return new e(t,n,r,Date.now(),i)}constructor(e,t,n,r,i=gO){this.startValue=e,this.endValue=t,this.durationMs=n,this.startTimeMs=r,this._interpolationFunction=i,e===t&&(this.durationMs=0)}isFinished(e){return e>=this.startTimeMs+this.durationMs}getValue(e){let t=e-this.startTimeMs;return t>=this.durationMs?this.endValue:this._interpolationFunction(t,this.startValue,this.endValue-this.startValue,this.durationMs)}};function gO(e,t,n,r){return e===r?t+n:n*(-(2**(-10*e/r))+1)+t}function _O(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}var vO=class{constructor(e){this._value=e}getValue(e){let t=Date.now();return this._value.isFinished(t)||yO.instance.invalidateOnNextAnimationFrame(e),this._value.getValue(t)}isFinished(e){let t=Date.now(),n=this._value.isFinished(t);return n||yO.instance.invalidateOnNextAnimationFrame(e),n}},yO=class{constructor(){this._counter=Nr(this),this._isScheduled=!1}invalidateOnNextAnimationFrame(e){this._counter.read(e),this._isScheduled||(this._isScheduled=!0,dc().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()}))}_update(){this._counter.trigger(void 0)}};mO=yO,mO.instance=new mO;var bO=class{constructor(e,t){this.lineNumber=e,this.parts=t,Gc(()=>no(t,(e,t)=>e.column<=t.column))}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,n)=>t.equals(e.parts[n]))}renderForScreenReader(e){if(this.parts.length===0)return``;let t=this.parts[this.parts.length-1],n=e.substr(0,t.column-1);return new cl([...this.parts.map(e=>new Tc(S.fromPositions(new k(1,e.column)),e.lines.map(e=>e.line).join(`
|
|
32
|
-
`)))]).applyToString(n).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)}},xO=class{constructor(e,t,n,r=[]){this.column=e,this.text=t,this.preview=n,this._inlineDecorations=r,this.lines=Do(this.text).map((e,t)=>({line:e,lineDecorations:Xn.filter(this._inlineDecorations,t+1,1,e.length+1)}))}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,n)=>t.line===e.lines[n].line&&Xn.equalsArr(t.lineDecorations,e.lines[n].lineDecorations))}},SO=class{constructor(e,t,n,r=0){this.lineNumber=e,this.columnRange=t,this.text=n,this.additionalReservedLineCount=r,this.parts=[new xO(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Do(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
33
|
-
`)}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,n)=>t===e.newLines[n])&&this.additionalReservedLineCount===e.additionalReservedLineCount}};function CO(e,t){return Nu(e,t,wO)}function wO(e,t){return e===t?!0:!e||!t?!1:e instanceof bO&&t instanceof bO||e instanceof SO&&t instanceof SO?e.equals(t):!1}function TO(e,t,n){let r=n?e.range.intersectRanges(n):e.range;if(!r)return e;let i=e.text.replaceAll(`\r
|
|
34
|
-
`,`
|
|
35
|
-
`),a=t.getValueInRange(r,1),o=Sn(a,i),s=Au.ofText(a.substring(0,o)).addToPosition(e.range.getStartPosition()),c=i.substring(o),l=S.fromPositions(s,e.range.getEndPosition());return new Tc(l,c)}function EO(e,t){return e.text.startsWith(t.text)&&DO(e.range,t.range)}function DO(e,t){return t.getStartPosition().equals(e.getStartPosition())&&t.getEndPosition().isBeforeOrEqual(e.getEndPosition())}function OO(e,t,n,r,i=0){let a=TO(e,t);if(a.range.endLineNumber!==a.range.startLineNumber)return;let o=t.getLineContent(a.range.startLineNumber),s=un(o).length;if(a.range.startColumn-1<=s){let e=un(a.text).length,t=o.substring(a.range.startColumn-1,s),[n,r]=[a.range.getStartPosition(),a.range.getEndPosition()],i=n.column+t.length<=r.column?n.delta(0,t.length):r,c=S.fromPositions(i,r),l=a.text.startsWith(t)?a.text.substring(t.length):a.text.substring(e);a=new Tc(c,l)}let c=t.getValueInRange(a.range),l=AO(c,a.text);if(!l)return;let u=a.range.startLineNumber,d=[];if(n===`prefix`){let e=l.filter(e=>e.originalLength===0);if(e.length>1||e.length===1&&e[0].originalStart!==c.length)return}let f=a.text.length-i;for(let e of l){let t=a.range.startColumn+e.originalStart+e.originalLength;if(n===`subwordSmart`&&r&&r.lineNumber===a.range.startLineNumber&&t<r.column||e.originalLength>0)return;if(e.modifiedLength===0)continue;let i=e.modifiedStart+e.modifiedLength,o=Math.max(e.modifiedStart,Math.min(i,f)),s=a.text.substring(e.modifiedStart,o),c=a.text.substring(o,Math.max(e.modifiedStart,i));s.length>0&&d.push(new xO(t,s,!1)),c.length>0&&d.push(new xO(t,c,!0))}return new bO(u,d)}var kO=void 0;function AO(e,t){if(kO?.originalValue===e&&kO?.newValue===t)return kO?.changes;{let n=MO(e,t,!0);if(n){let r=jO(n);if(r>0){let i=MO(e,t,!1);i&&jO(i)<r&&(n=i)}}return kO={originalValue:e,newValue:t,changes:n},n}}function jO(e){let t=0;for(let n of e)t+=n.originalLength;return t}function MO(e,t,n){if(e.length>5e3||t.length>5e3)return;function r(e){let t=0;for(let n=0,r=e.length;n<r;n++){let r=e.charCodeAt(n);r>t&&(t=r)}return t}let i=Math.max(r(e),r(t));function a(e){if(e<0)throw Error(`unexpected`);return i+e+1}function o(e){let t=0,r=0,i=new Int32Array(e.length);for(let o=0,s=e.length;o<s;o++)if(n&&e[o]===`(`){let e=r*100+t;i[o]=a(2*e),t++}else if(n&&e[o]===`)`){t=Math.max(t-1,0);let e=r*100+t;i[o]=a(2*e+1),t===0&&r++}else i[o]=e.charCodeAt(o);return i}let s=o(e),c=o(t);return new bl({getElements:()=>s},{getElements:()=>c}).ComputeDiff(!1).changes}function NO(e,t){let n,r=!1,i=new s(new Io(e,void 0,t.update),(e,i)=>{r||=(n=t.initial instanceof Function?t.initial():t.initial,!0);let a=t.update(e,n,i);return n=a,a},t.changeTracker,()=>{r&&=(t.disposeFinal?.(n),!1)},t.equalityComparer??$c,(e,t,a)=>{if(!r)throw new lc(`Can only set when there is a listener! This is to prevent leaks.`);Fi(t,t=>{n=e,i.setValue(e,t,a)})},lu.ofCaller());return i}var PO=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},FO=function(e,t){return function(n,r){t(n,r,e)}},IO=class{constructor(e,t){this._baseService=e,this._intercept=t}publicLog2(e,t){this._intercept(e,t),this._baseService.publicLog2(e,t)}},LO=class extends IO{constructor(e,t){super(e,(e,n)=>{let r=!0;n&&RO in n&&(r=!!n[RO]),r&&t.getDataChannel(`editTelemetry`).sendData({eventName:e,data:n??{}})})}};LO=PO([FO(0,Tu),FO(1,Nt)],LO);var RO=Symbol(`shouldForwardToChannel`);function zO(e){return{[RO]:e}}function BO(e){if(!e)return!1;let t=e.toLowerCase();return t===`github.copilot`||t===`github.copilot-chat`}function VO(e,t){e.publicLog2(`inlineCompletion.endOfLife`,t)}var HO=new Set(`;,=+-*/{}()[]<>:.!?&|^%@#~\`\\'"$`.split(``));function UO(e){return HO.has(e)}function WO(e){return/[a-zA-Z0-9_]/.test(e)}function GO(e){return e===` `||e===` `}function KO(e){let t=e.split(/\r\n|\r|\n/);if(t.length>1)return{kind:`multiLine`,lineCount:t.length};let n=e.length===1,r;n&&(UO(e)?r=`syntactical`:WO(e)?r=`identifier`:GO(e)&&(r=`whitespace`));let i=e.match(/[ \t]+/g)||[],a=i.some(e=>e.length>1),o=i.some(e=>e.includes(` `)||e.includes(` `)),s=e.split(/\s+/).filter(e=>e.length>0),c=s.length===1&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s[0]),l=s.length>1;return{kind:`singleLine`,isSingleCharacter:n,singleCharacterKind:r,isWord:c,isMultipleWords:l,isMultipleWhitespace:a,hasDuplicatedWhitespace:o}}var qO=class{constructor(e){this.edits=e}toString(){return JSON.stringify({edits:this.edits})}};function JO(e,t,n){if(e.replacements.length!==0)return new qO(e.replacements.map(e=>XO(e,t)))}function YO(e){return e.length===0?0:e.split(/\r\n|\r|\n/).length-1}function XO(e,t,n){let r=e.replaceRange,i=e.newText,a=r.length,o=i.length,s=YO(i);switch(r.isEmpty?`insert`:i.length===0?`delete`:`replace`){case`insert`:return{operation:`insert`,properties:ZO(r.start,i,t),charactersInserted:o,charactersDeleted:0,linesInserted:s,linesDeleted:0};case`delete`:{let e=t.getValue().substring(r.start,r.endExclusive);return{operation:`delete`,properties:QO(r.start,r.endExclusive,t),charactersInserted:0,charactersDeleted:a,linesInserted:0,linesDeleted:YO(e)}}case`replace`:{let e=t.getValue().substring(r.start,r.endExclusive);return{operation:`replace`,properties:$O(e,i),charactersInserted:o,charactersDeleted:a,linesInserted:s,linesDeleted:YO(e)}}}}function ZO(e,t,n,r){let i=KO(t),a=n.getPositionAt(e),o=n.getLineContent(a.lineNumber),s=o.length,c,l=o.trim().length===0,u=a.column>s,d=a.column===1;c=l?`emptyLine`:u?`endOfLine`:d?`startOfLine`:`middleOfLine`;let f;return{textShape:i,locationShape:c,relativeToCursor:f}}function QO(e,t,n){let r=KO(n.getValue().substring(e,t)),i=n.getPositionAt(e),a=n.getPositionAt(t),o=n.getLineContent(a.lineNumber);return{textShape:r,isAtEndOfLine:a.column>o.length,deletesEntireLineContent:i.lineNumber===a.lineNumber&&i.column===1&&a.column>o.length}}function $O(e,t){let n=KO(e),r=KO(t),i=n.kind===`singleLine`&&n.isWord,a=r.kind===`singleLine`&&r.isWord;return{isWordToWordReplacement:i&&a,isAdditive:t.length>e.length,isSubtractive:t.length<e.length,isSingleLineToSingleLine:n.kind===`singleLine`&&r.kind===`singleLine`,isSingleLineToMultiLine:n.kind===`singleLine`&&r.kind===`multiLine`,isMultiLineToSingleLine:n.kind===`multiLine`&&r.kind===`singleLine`}}function ek(e,t,n,r){let i=TO(e,n),a=e.range;if(!a||t&&!t.getStartPosition().equals(a.getStartPosition())||r.lineNumber!==i.range.startLineNumber||i.isEmpty)return!1;let o=n.getValueInRange(i.range,1),s=i.text,c=Math.max(0,r.column-i.range.startColumn),l=s.substring(0,c),u=s.substring(c),d=o.substring(0,c),f=o.substring(c),p=n.getLineIndentColumn(i.range.startLineNumber);return i.range.startColumn<=p&&(d=d.trimStart(),d.length===0&&(f=f.trimStart()),l=l.trimStart(),l.length===0&&(u=u.trimStart())),l.startsWith(d)&&!!ou(f,u)}var tk;(function(e){function t(e){return e?.command.id??void 0}e.toString=t})(tk||={});var nk=class e extends _s{static snapshot(t){return new e(t)}constructor(e){super(),this._textModel=e,this._version=e.getVersionId()}get uri(){return this._textModel.uri}_assertValid(){this._textModel.getVersionId()!==this._version&&il(Error(`TextModel has changed: expected version ${this._version}, got ${this._textModel.getVersionId()}`))}targets(e){return this._textModel.uri.toString()===e.uri.toString()}getValueOfRange(e){return this._assertValid(),this._textModel.getValueInRange(e)}getLineLength(e){return this._assertValid(),this._textModel.getLineLength(e)}get length(){this._assertValid();let e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Au(e-1,t)}getEOL(){return this._assertValid(),this._textModel.getEOL()}getPositionAt(e){return this._assertValid(),this._textModel.getPositionAt(e)}getValueInRange(e){return this._assertValid(),this._textModel.getValueInRange(e)}getVersionId(){return this._version}dangerouslyGetUnderlyingModel(){return this._textModel}},rk,ik;(function(e){function t(e,t,n=!0){return!e.isInlineEdit&&!e.action?.uri&&e.action?.kind===`edit`?lk.create(e,t,e.action):uk.create(e,t,n)}e.create=t})(ik||={});function ak(e){let t=e?.kind===`edit`?{...e,alternativeAction:tk.toString(e.alternativeAction),target:e?.target.uri.toString()}:{...e,target:e?.target.uri.toString()};return JSON.stringify(t)}var ok=class{constructor(e,t,n,r){this._data=e,this.identity=t,this.hint=n,this.originalTextRef=r}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===vn.Explicit}get forwardStable(){return this.source.inlineSuggestions.enableForwardStability??!1}get targetRange(){if(this.hint)return this.hint.range;if(this.action?.kind===`edit`)return this.action.textReplacement.range;if(this.action?.kind===`jumpTo`)return S.fromPositions(this.action.position);throw new lc(`InlineSuggestionItem: Either hint or action must be set`)}get semanticId(){return this.hash}get gutterMenuLinkAction(){return this._sourceInlineCompletion.gutterMenuLinkAction}get command(){return this._sourceInlineCompletion.command}get supportsRename(){return this._data.supportsRename}get warning(){return this._sourceInlineCompletion.warning}get showInlineEditMenu(){return!!this._sourceInlineCompletion.showInlineEditMenu}get hash(){return ak(this.action)}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,n,r,i){let a=this.action?.kind===`edit`?this.action.textReplacement.text:``;this._data.reportInlineEditShown(e,a,t,n,this.computeEditKind(r),i)}reportPartialAccept(e,t,n){this._data.reportPartialAccept(e,t,n)}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}setRenameProcessingInfo(e){this._data.setRenameProcessingInfo(e)}withAction(e){return this._data.withAction(e)}addPerformanceMarker(e){this._data.addPerformanceMarker(e)}},sk=class e{constructor(){this._onDispose=Nr(this),this.onDispose=this._onDispose,this._jumpedTo=Dt(this,!1),this._refCount=0,this.id=`InlineCompletionIdentity`+e.idCounter++}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)}};rk=sk,rk.idCounter=0;var ck=class e{static create(t){return new e(S.lift(t.range),t.content,t.style)}constructor(e,t,n){this.range=e,this.content=t,this.style=n}withEdit(t,n){let r=new co(n.getOffset(this.range.getStartPosition()),n.getOffset(this.range.getEndPosition())),i=vu([r],t)[0];if(!i)return;let a=n.getRange(i);return new e(a,this.content,this.style)}},lk=class e extends ok{static create(t,n,r){let i=new sk,a=n.getTransformer(),o=r.insertText.replace(/\r\n|\r|\n/g,n.getEOL()),s=mk(new pc(a.getOffsetRange(r.range),o),n),c=s.removeCommonSuffixAndPrefix(n.getValue()),l=a.getTextReplacement(s),u=t.hint?ck.create(t.hint):void 0;return new e(s,c,l,l.range,r.snippetInfo,t.additionalTextEdits,t,i,u,n)}constructor(e,t,n,r,i,a,o,s,c,l){super(o,s,c,l),this._edit=e,this._trimmedEdit=t,this._textEdit=n,this._originalRange=r,this.snippetInfo=i,this.additionalTextEdits=a,this.isInlineEdit=!1}get action(){return{kind:`edit`,textReplacement:this.getSingleTextEdit(),snippetInfo:this.snippetInfo,stringEdit:new oo([this._trimmedEdit]),alternativeAction:void 0,target:this.originalTextRef}}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(t){return new e(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,t,this.hint,this.originalTextRef)}withEdit(t,n){if(!this.originalTextRef.targets(n))return this;let r=vu([this._edit.replaceRange],t);if(r.length===0)return;let i=new pc(r[0],this._textEdit.text),a=rO(n),o=a.getTextReplacement(i),s=this.hint;if(s&&(s=s.withEdit(t,a),!s))return;let c=i.removeCommonSuffixAndPrefix(n.getValue());return new e(i,c,o,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,s,this.originalTextRef)}canBeReused(e,t){let n=this._textEdit.range;return!!n&&n.containsPosition(t)&&this.isVisible(e,t)&&Au.ofRange(n).isGreaterThanOrEqualTo(Au.ofRange(this._originalRange))}isVisible(e,t){return ek(this.getSingleTextEdit(),this._originalRange,e,t)}computeEditKind(e){return JO(new oo([this._edit]),e)}get editRange(){return this.getSingleTextEdit().range}},uk=class e extends ok{static create(t,n,r=!0){let i,a=[];if(t.action?.kind===`edit`){let e=r?dk(n,t.action.range,t.action.insertText):fk(n,t.action.range,t.action.insertText),o=cl.fromStringEdit(e,n),s=e.isEmpty()?new Tc(new S(1,1,1,1),``):o.toReplacement(n);a=e.replacements.map(e=>{let t=S.fromPositions(n.getPositionAt(e.replaceRange.start),n.getTransformer().getPosition(e.replaceRange.endExclusive)),r=n.getValueInRange(t);return pk.create(e,r)}),i={kind:`edit`,snippetInfo:t.action.snippetInfo,stringEdit:e,textReplacement:s,alternativeAction:t.action.alternativeAction,target:n}}else if(t.action?.kind===`jumpTo`)i={kind:`jumpTo`,position:t.action.position,offset:n.getTransformer().getOffset(t.action.position),target:n};else if(i=void 0,!t.hint)throw new lc(`InlineEditItem: action is undefined and no hint is provided`);let o=new sk,s=t.hint?ck.create(t.hint):void 0;return new e(i,t,o,a,s,!1,n.getVersionId(),n)}constructor(e,t,n,r,i,a=!1,o,s){super(t,n,i,s),this._action=e,this._edits=r,this._lastChangePartOfInlineEdit=a,this._inlineEditModelVersion=o,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get action(){return this._action}withIdentity(t){return new e(this._action,this._data,t,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion,this.originalTextRef)}canBeReused(e,t){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===e.getVersionId()}withEdit(e,t){return this.originalTextRef.targets(t)?this._applyTextModelChanges(e,this._edits,t):this}_applyTextModelChanges(t,n,r){let i=rO(r),a=!1,o=this._inlineEditModelVersion,s,c=nk.snapshot(r);if(this.action?.kind===`edit`){if(n=n.map(e=>e.applyTextModelChanges(t)),n.some(e=>e.edit===void 0))return;let e=r.getVersionId();if(a=n.some(e=>e.lastChangeUpdatedEdit),a&&(o=e??-1),e===null||o+20<e||(n=n.filter(e=>!e.edit.isEmpty),n.length===0))return;let l=new oo(n.map(e=>e.edit));s={kind:`edit`,textReplacement:i.getTextEdit(l).toReplacement(new Zi(r)),snippetInfo:this.snippetInfo,stringEdit:l,alternativeAction:this.action.alternativeAction,target:c}}else if(this.action?.kind===`jumpTo`){let e=this.action.offset,n=t.applyToOffsetOrUndefined(e);if(n===void 0)return;s={kind:`jumpTo`,position:i.getPosition(n),offset:n,target:c}}else s=void 0;let l=this.hint;if(!(l&&(l=l.withEdit(t,i),!l)))return new e(s,this._data,this.identity,n,l,a,o,c)}computeEditKind(e){let t=this.action?.kind===`edit`?this.action.stringEdit:void 0;if(t)return JO(t,e)}};function dk(e,t,n){let r=e.getEOL(),i=e.getValueOfRange(t),a=n.replace(/\r\n|\r|\n/g,r),o=Kl.getDefault().computeDiff(Do(i),Do(a),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:50}).changes.flatMap(e=>e.innerChanges??[]);function s(e,t){let n=Au.fromPosition(t.getStartPosition());return Au.ofRange(t).createRange(n.addToPosition(e))}let c=new is(a);return new oo(o.map(n=>{let r=s(t.getStartPosition(),n.originalRange),i=e.getTransformer().getOffsetRange(r),a=c.getValueOfRange(n.modifiedRange);return hk(new pc(i,a),e.getValueOfRange(r),o.length,e)}))}function fk(e,t,n){return new oo([new pc(e.getTransformer().getOffsetRange(t),n)])}var pk=class e{static create(t,n){let r=Sn(t.newText,n),i=zr(t.newText,n),a=t.newText.substring(r,t.newText.length-i);return new e(t,a,r,i)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(e,t,n,r,i=!1){this._edit=e,this._trimmedNewText=t,this._prefixLength=n,this._suffixLength=r,this._lastChangeUpdatedEdit=i}applyTextModelChanges(e){let t=this._clone();return t._applyTextModelChanges(e),t}_clone(){return new e(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(e){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new lc(`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 n=e.replaceRange.start,r=e.replaceRange.endExclusive,i=e.newText,a=!1,o=this._prefixLength>0||this._suffixLength>0;for(let s=t.replacements.length-1;s>=0;s--){let c=t.replacements[s],l=c.newText.length>0&&c.replaceRange.isEmpty;if(l&&!o&&c.replaceRange.start===n&&i.startsWith(c.newText)){n+=c.newText.length,i=i.substring(c.newText.length),r+=c.newText.length,a=!0;continue}if(l&&o&&c.replaceRange.start===n+this._prefixLength&&this._trimmedNewText.startsWith(c.newText)){r+=c.newText.length,a=!0,this._prefixLength+=c.newText.length,this._trimmedNewText=this._trimmedNewText.substring(c.newText.length);continue}if(c.newText.length===0&&c.replaceRange.length>0&&c.replaceRange.start>=n+this._prefixLength&&c.replaceRange.endExclusive<=r-this._suffixLength){r-=c.replaceRange.length,a=!0;continue}if(c.equals(e)){a=!0,n=c.replaceRange.endExclusive,i=``;continue}if(!(c.replaceRange.start>r)){if(c.replaceRange.endExclusive<n){n+=c.newText.length-c.replaceRange.length,r+=c.newText.length-c.replaceRange.length;continue}return}}return this._trimmedNewText.length===0&&n+this._prefixLength===r-this._suffixLength?{edit:new pc(new co(n+this._prefixLength,n+this._prefixLength),``),editHasChanged:!0}:{edit:new pc(new co(n,r),i),editHasChanged:a}}};function mk(e,t){let n=t.getEOL();return e.replaceRange.isEmpty&&e.newText.includes(n)&&(e=gk(e,t)),e}function hk(e,t,n,r){let i=r.getEOL();if(e.newText.endsWith(i)&&t.endsWith(i)&&(e=new pc(e.replaceRange.deltaEnd(-i.length),e.newText.slice(0,-i.length))),n===1&&e.replaceRange.isEmpty&&e.newText.includes(i)){let t=r.getTransformer().getPosition(e.replaceRange.start);r.getLineLength(t.lineNumber)!==0&&(e=gk(e,r))}if(n===1){let n=Sn(t,e.newText),r=zr(t.slice(n),e.newText.slice(n));if(n+r===t.length)return new pc(e.replaceRange.deltaStart(n).deltaEnd(-r),e.newText.substring(n,e.newText.length-r));if(n+r===e.newText.length)return new pc(e.replaceRange.deltaStart(n).deltaEnd(-r),``)}return e}function gk(e,t){if(!e.replaceRange.isEmpty)throw new lc(`Unexpected original range`);if(e.replaceRange.start===0)return e;let n=t.getEOL(),r=t.getTransformer().getPosition(e.replaceRange.start),i=r.column,a=r.lineNumber;return i===1&&a>1&&e.newText.endsWith(n)&&!e.newText.startsWith(n)?new pc(e.replaceRange.delta(-1),n+e.newText.slice(0,-n.length)):e}function _k(e,t){let n=new tc,r=new Re(n,e=>t.getLanguageConfiguration(e)),i=new er(new vk([e]),r),a=Ye(i,[],void 0,!0),o=``,s=e.getLineContent();function c(e,t){if(e.kind===2){if(c(e.openingBracket,t),t=ne(t,e.openingBracket.length),e.child&&(c(e.child,t),t=ne(t,e.child.length)),e.closingBracket)c(e.closingBracket,t),t=ne(t,e.closingBracket.length);else{let t=r.getSingleLanguageBracketTokens(e.openingBracket.languageId).findClosingTokenText(e.openingBracket.bracketIds);o+=t}}else if(e.kind!==3){if(e.kind===0||e.kind===1)o+=s.substring(Us(t),Us(ne(t,e.length)));else if(e.kind===4)for(let n of e.children)c(n,t),t=ne(t,n.length)}}return c(a,0),o}var vk=class{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}},yk;(function(e){e.Jump=`jump`,e.Accept=`accept`,e.Inactive=`inactive`})(yk||={});var bk=class e{static create(t,n=!1){return new e(new nt(Sa(t),t),n)}constructor(e,t=!1){this.event=e,this.alternativeAction=t}},Y;(function(e){e.GhostText=`ghostText`,e.Custom=`custom`,e.SideBySide=`sideBySide`,e.Deletion=`deletion`,e.InsertionInline=`insertionInline`,e.InsertionMultiLine=`insertionMultiLine`,e.WordReplacements=`wordReplacements`,e.LineReplacement=`lineReplacement`,e.Collapsed=`collapsed`,e.JumpTo=`jumpTo`})(Y||={});var xk=class{constructor(e,t,n,r,i,a,o,s){this.cursorColumnDistance=e,this.cursorLineDistance=t,this.lineCountOriginal=n,this.lineCountModified=r,this.characterCountOriginal=i,this.characterCountModified=a,this.disjointReplacements=o,this.sameShapeReplacements=s,this.longDistanceHintVisible=void 0,this.longDistanceHintDistance=void 0}setLongDistanceViewData(e,t){this.longDistanceHintVisible=!0,this.longDistanceHintDistance=Math.abs(t-e)}getData(){return{cursorColumnDistance:this.cursorColumnDistance,cursorLineDistance:this.cursorLineDistance,lineCountOriginal:this.lineCountOriginal,lineCountModified:this.lineCountModified,characterCountOriginal:this.characterCountOriginal,characterCountModified:this.characterCountModified,disjointReplacements:this.disjointReplacements,sameShapeReplacements:this.sameShapeReplacements,longDistanceHintVisible:this.longDistanceHintVisible,longDistanceHintDistance:this.longDistanceHintDistance}}},Sk=class e{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(t,n){let r=new e;for(let e of t)r._nodes.add(e);for(let e of t){let t=n(e);if(t.length>0){let n=new Set;for(let e of t)n.add(e);r._outgoingEdges.set(e,n)}}return r}removeCycles(){let e=[],t=new Set,n=new Set,r=[],i=a=>{t.add(a),n.add(a);let o=this._outgoingEdges.get(a);if(o)for(let s of o)t.has(s)?n.has(s)&&(e.push(s),r.push({from:a,to:s})):i(s);n.delete(a)};for(let e of this._nodes)t.has(e)||i(e);for(let{from:e,to:t}of r){let n=this._outgoingEdges.get(e);n&&n.delete(t)}return{foundCycles:e}}getOutgoing(e){let t=this._outgoingEdges.get(e);return t?Array.from(t):[]}};function Ck(e,t,n,r,i,a){let o=ts(`icr`),s=new Eu,c,l={...r,requestUuid:o},u=Ak(t,n),d=st(e,e=>e.groupId),f=Sk.from(e,e=>e.yieldsToGroupIds?.flatMap(e=>d.get(e)??[])??[]),{foundCycles:p}=f.removeCycles();p.length>0&&xc(Error(`Inline completions: cyclic yield-to dependency detected. Path: ${p.map(e=>e.toString?e.toString():``+e).join(` -> `)}`));let m=0,h=new Ol(async e=>{try{if(m++,s.token.isCancellationRequested)return;let r=f.getOutgoing(e);for(let e of r){let r=await h.get(e);if(r){for(let e of r.inlineSuggestions.items)if(e.isInlineEdit||typeof e.insertText!=`string`&&e.insertText!==void 0||e.insertText!==void 0&&ek(new Tc(S.lift(e.range)??u,e.insertText),void 0,n,t))return}}let o,d=Date.now();try{o=await e.provideInlineCompletions(n,t,l,s.token)}catch(e){xc(e);return}let p=Date.now();if(!o)return;let g=[],_=new kk(o,g,e);if(_.addRef(),wk(s.token,()=>_.removeRef(c)),s.token.isCancellationRequested)return;for(let e of o.items){let t=Tk(e,_,u,n,a,l,i,{startTime:d,endTime:p});if(pO.is(t)){t.logError();continue}g.push(t)}return _}finally{m--}});return{contextWithUuid:l,get didAllProvidersReturn(){return m===0},lists:Ts.fromPromisesResolveOrder(e.map(e=>h.get(e))).filter(yr),cancelAndDispose:e=>{c===void 0&&(c=e,s.dispose(!0))}}}function wk(e,t){if(e.isCancellationRequested)return t(),O.None;{let n=e.onCancellationRequested(()=>{n.dispose(),t()});return{dispose:()=>n.dispose()}}}function Tk(e,t,n,r,i,a,o,s){let c,l=e.uri?Nn.revive(e.uri):void 0;if(e.jumpToPosition!==void 0)c={kind:`jumpTo`,position:k.lift(e.jumpToPosition),uri:l};else if(e.insertText!==void 0){let t,a,o=e.range?S.lift(e.range):n;if(typeof e.insertText==`string`){if(t=e.insertText,i&&e.completeBracketPairs){t=jk(t,o.getStartPosition(),r,i);let n=t.length-e.insertText.length;n!==0&&(o=new S(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+n))}a=void 0}else if(`snippet`in e.insertText){let n=e.insertText.snippet.length;if(i&&e.completeBracketPairs){e.insertText.snippet=jk(e.insertText.snippet,o.getStartPosition(),r,i);let t=e.insertText.snippet.length-n;t!==0&&(o=new S(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+t))}let s=new Yf().parse(e.insertText.snippet);s.children.length===1&&s.children[0]instanceof Bf?(t=s.children[0].value,a=void 0):(t=s.toString(),a={snippet:e.insertText.snippet,range:o})}else Hl(e.insertText);c={kind:`edit`,range:o,insertText:t,snippetInfo:a,uri:l,alternativeAction:void 0}}else if(c=void 0,!e.hint)return pO.message(`Inline completion has no insertText, jumpToPosition nor hint.`);return new Ek(c,e.hint,e.additionalTextEdits||oO(),e,t,a,e.isInlineEdit??!1,e.supportsRename??!1,o,s,e.correlationId)}var Ek=class{get action(){return this._action}constructor(e,t,n,r,i,a,o,s,c,l,u){this._action=e,this.hint=t,this.additionalTextEdits=n,this.sourceInlineCompletion=r,this.source=i,this.context=a,this.isInlineEdit=o,this.supportsRename=s,this._requestInfo=c,this._providerRequestInfo=l,this._correlationId=u,this._didShow=!1,this._timeUntilShown=void 0,this._timeUntilActuallyShown=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._renameInfo=void 0,this._editKind=void 0,this.performance=new Dk,this._viewData={editorType:c.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(e,t,n,r,i,a){if(this.updateShownDuration(n),this._didShow||this._didReportEndOfLife)return;this.addPerformanceMarker(`shown`),this._didShow=!0,this._editKind=i,this._viewData.viewKind=n,this._viewData.renderData=r,this._timeUntilShown=a-this._requestInfo.startTime,this._timeUntilActuallyShown=Date.now()-this._requestInfo.startTime;let o=new An(r.lineCountModified,r.lineCountOriginal,r.characterCountModified,r.characterCountOriginal);this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,t,o),this.sourceInlineCompletion.shownCommand&&await e.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(e,t,n){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=n.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*n.ratio,1),this._partiallyAcceptedSinceOriginal.count+=n.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}reportEndOfLife(e){if(!this._didReportEndOfLife&&(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),e||=this._lastSetEndOfLifeReason??{kind:ot.Ignored,userTypingDisagreed:!1,supersededBy:void 0},e.kind===ot.Rejected&&!this._didShow&&(e={kind:ot.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),e.kind===ot.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,editKind:this._editKind?.toString(),preceeded:this._isPreceeded,timeUntilShown:this._timeUntilShown,timeUntilActuallyShown:this._timeUntilActuallyShown,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,performanceMarkers:this.performance.toString(),renameCreated:this._renameInfo?.createdRename,renameDuration:this._renameInfo?.duration,renameTimedOut:this._renameInfo?.timedOut,renameDroppedOtherEdits:this._renameInfo?.droppedOtherEdits,renameDroppedRenameEdits:this._renameInfo?.droppedRenameEdits,typingInterval:this._requestInfo.typingInterval,typingIntervalCharacterCount:this._requestInfo.typingIntervalCharacterCount,skuPlan:this._requestInfo.sku?.plan,skuType:this._requestInfo.sku?.type,availableProviders:this._requestInfo.availableProviders.map(e=>e.toString()).join(`,`),...this._viewData.renderData?.getData()};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||=t;let n=e===Y.Collapsed;!n&&this._showUncollapsedStartTime===void 0&&(this._showUncollapsedStartTime=t),n&&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)}setRenameProcessingInfo(e){if(this._renameInfo)throw new lc(`Rename info has already been set.`);this._renameInfo=e}withAction(e){return this._action=e,this}addPerformanceMarker(e){this.performance.mark(e)}},Dk=class{constructor(){this.markers=[],this.markers.push({name:`start`,timeStamp:Date.now()})}mark(e){this.markers.push({name:e,timeStamp:Date.now()})}toString(){let e=[];for(let t=1;t<this.markers.length;t++){let n=this.markers[t].timeStamp-this.markers[t-1].timeStamp;e.push({[this.markers[t].name]:n})}return JSON.stringify(e)}},Ok;(function(e){e.TextEditor=`textEditor`,e.DiffEditor=`diffEditor`,e.Notebook=`notebook`})(Ok||={});var kk=class{constructor(e,t,n){this.inlineSuggestions=e,this.inlineSuggestionsData=t,this.provider=n,this.refCount=0}addRef(){this.refCount++}removeRef(e={kind:`other`}){if(this.refCount--,this.refCount===0){for(let e of this.inlineSuggestionsData)e.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,e)}else this.refCount<0&&il(new lc(`InlineSuggestionList (provider=${this.provider.providerId?.toString()}) refCount went negative (${this.refCount}) — more removeRef than addRef calls.`))}};function Ak(e,t){let n=t.getWordAtPosition(e),r=t.getLineMaxColumn(e.lineNumber);return n?new S(e.lineNumber,n.startColumn,e.lineNumber,r):S.fromPositions(e,e.with(void 0,r))}function jk(e,t,n,r){let i=n.getLineContent(t.lineNumber),a=pc.replace(new co(t.column-1,i.length),e),o=n.tokenization.tokenizeLinesAt(t.lineNumber,[a.replace(i)])?.[0].sliceZeroCopy(a.getRangeAfterReplace());return o?_k(o,r):e}var Mk,Nk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Pk=function(e,t){return function(n,r){t(n,r,e)}},Fk=new D(`renameInputVisible`,!1,R(1440,`Whether the rename input widget is visible`));new D(`renameInputFocused`,!1,R(1441,`Whether the rename input widget is focused`));var Ik=class{constructor(e,t,n,r,i,a){this._editor=e,this._acceptKeybindings=t,this._themeService=n,this._keybindingService=r,this._logService=a,this.allowEditorOverflow=!0,this._disposables=new b,this._visibleContextKey=Fk.bindTo(i),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new xe,this._inputWithButton=new Rk,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._updateFont()})),this._disposables.add(n.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return`__renameInputWidget`}getDomNode(){return this._domNode||(this._domNode=document.createElement(`div`),this._domNode.className=`monaco-editor rename-box`,this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new Lk(this._domNode,{fontInfo:this._editor.getOption(59),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{this._renameCandidateListView?.focusedCandidate!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()})),this._label=document.createElement(`div`),this._label.className=`rename-label`,this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;let t=e.getColor(Ue),n=e.getColor($r);this._domNode.style.backgroundColor=String(e.getColor(Ku)??``),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:``,this._domNode.style.border=n?`1px solid ${n}`:``,this._domNode.style.color=String(e.getColor(Ci)??``);let r=e.getColor(ue);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(vd)??``),this._inputWithButton.input.style.backgroundColor=String(e.getColor(vd)??``),this._inputWithButton.domNode.style.borderWidth=r?`1px`:`0px`,this._inputWithButton.domNode.style.borderStyle=r?`solid`:`none`,this._inputWithButton.domNode.style.borderColor=r?.toString()??`none`}_updateFont(){if(this._domNode===void 0)return;Gi(this._label!==void 0,`RenameWidget#_updateFont: _label must not be undefined given _domNode is defined`),this._editor.applyFontInfo(this._inputWithButton.input);let e=this._editor.getOption(59);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;let e=gu(this.getDomNode().ownerDocument.body),t=Uo(this._editor.getDomNode()),n=this._getTopForPosition();this._nPxAvailableAbove=n+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;let r=this._editor.getOption(75),{totalHeight:i}=zk.getLayoutInfo({lineHeight:r}),a=this._nPxAvailableBelow>i*6?[2,1]:[1,2];return{position:this._position,preference:a}}beforeRender(){let[e,t]=this._acceptKeybindings;return this._label.innerText=R(1442,`{0} to Rename, {1} to Preview`,this._keybindingService.lookupKeybinding(e)?.getLabel(),this._keybindingService.lookupKeybinding(t)?.getLabel()),this._domNode.style.minWidth=`200px`,null}afterRender(e){if(e===null){this.cancelInput(!0,`afterRender (because position is null)`);return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;Gi(this._renameCandidateListView),Gi(this._nPxAvailableAbove!==void 0),Gi(this._nPxAvailableBelow!==void 0);let t=hs(this._inputWithButton.domNode),n=hs(this._label),r;r=e===2?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-n-t,width:ns(this._inputWithButton.domNode)})}acceptInput(e){this._trace(`invoking acceptInput`),this._currentAcceptInput?.(e)}cancelInput(e,t){this._currentCancelInput?.(e)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,n,r,i){let{start:a,end:o}=this._getSelection(e,t);this._renameCts=i;let s=new b;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,r===void 0?this._inputWithButton.button.style.display=`none`:(this._inputWithButton.button.style.display=`flex`,this._requestRenameCandidatesOnce=r,this._requestRenameCandidates(t,!1),s.add(H(this._inputWithButton.button,`click`,()=>this._requestRenameCandidates(t,!0))),s.add(H(this._inputWithButton.button,vr.KEY_DOWN,e=>{let n=new Pt(e);(n.equals(3)||n.equals(10))&&(n.stopPropagation(),n.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle(`preview`,n),this._position=new k(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute(`selectionStart`,a.toString()),this._inputWithButton.input.setAttribute(`selectionEnd`,o.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),s.add(Tn(()=>{this._renameCts=void 0,i.dispose(!0)})),s.add(Tn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),s.add(Tn(()=>this._candidates.clear()));let c=new Ma;return c.p.finally(()=>{s.dispose(),this._hide()}),this._currentCancelInput=e=>(this._trace(`invoking _currentCancelInput`),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),c.complete(e),!0),this._currentAcceptInput=e=>{this._trace(`invoking _currentAcceptInput`),Gi(this._renameCandidateListView!==void 0);let r=this._renameCandidateListView.nCandidates,i,a,o=this._renameCandidateListView.focusedCandidate;if(o===void 0?(this._trace(`using new name from inputField`),i=this._inputWithButton.input.value,a=this._isEditingRenameCandidate?{k:`userEditedRenameSuggestion`}:{k:`inputField`}):(this._trace(`using new name from renameSuggestion`),i=o,a={k:`renameSuggestion`}),i===t||i.trim().length===0){this.cancelInput(!0,`_currentAcceptInput (because newName === value || newName.trim().length === 0)`);return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),c.complete({newName:i,wantsPreview:n&&e,stats:{source:a,nRenameSuggestions:r,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},s.add(i.token.onCancellationRequested(()=>this.cancelInput(!0,`cts.token.onCancellationRequested`))),s.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),`editor.onDidBlurEditorWidget`))),this._show(),c.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),Gi(this._renameCts),this._inputWithButton.buttonState!==`stop`)){this._renameCandidateProvidersCts=new Eu;let n=t?xd.Invoke:xd.Automatic,r=this._requestRenameCandidatesOnce(n,this._renameCandidateProvidersCts.token);if(r.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(r,e,this._renameCts.token)}}_getSelection(e,t){Gi(this._editor.hasModel());let n=this._editor.getSelection(),r=0,i=t.length;return!S.isEmpty(n)&&!S.spansMultipleLines(n)&&S.containsRange(e,n)&&(r=Math.max(0,n.startColumn-e.startColumn),i=Math.min(e.endColumn,n.endColumn)-e.startColumn),{start:r,end:i}}_show(){this._trace(`invoking _show`),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute(`selectionStart`)),parseInt(this._inputWithButton.input.getAttribute(`selectionEnd`)))},100)}async _updateRenameCandidates(e,t,n){let r=(...e)=>this._trace(`_updateRenameCandidates`,...e);r(`start`);let i=await rl(Promise.allSettled(e),n);if(this._inputWithButton.setSparkleButton(),i===void 0){r(`returning early - received updateRenameCandidates results - undefined`);return}let a=i.flatMap(e=>e.status===`fulfilled`&&yr(e.value)?e.value:[]);r(`received updateRenameCandidates results - total (unfiltered) ${a.length} candidates.`);let o=Oa(a,e=>e.newSymbolName);r(`distinct candidates - ${o.length} candidates.`);let s=o.filter(({newSymbolName:e})=>e.trim().length>0&&e!==this._inputWithButton.input.value&&e!==t&&!this._candidates.has(e));if(r(`valid distinct candidates - ${a.length} candidates.`),s.forEach(e=>this._candidates.add(e.newSymbolName)),s.length<1){r(`returning early - no valid distinct candidates`);return}r(`setting candidates`),this._renameCandidateListView.setCandidates(s),r(`asking editor to re-layout`),this._editor.layoutContentWidget(this)}_hide(){this._trace(`invoked _hide`),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){let e=this._editor.getVisibleRanges(),t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn(`RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty`),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace(`RenameWidget`,...e)}};Ik=Nk([Pk(2,nu),Pk(3,Ir),Pk(4,Ls),Pk(5,$l)],Ik);var Lk=class e{constructor(t,n){this._disposables=new b,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=n.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=n.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement(`div`),this._listContainer.className=`rename-box rename-candidate-list-container`,t.appendChild(this._listContainer),this._listWidget=e._createListWidget(this._listContainer,this._candidateViewHeight,n.fontInfo),this._disposables.add(this._listWidget.onDidChangeFocus(e=>{e.elements.length===1&&n.onFocusChange(e.elements[0].newSymbolName)},this._disposables)),this._disposables.add(this._listWidget.onDidChangeSelection(e=>{e.elements.length===1&&n.onSelectionChange()},this._disposables)),this._disposables.add(this._listWidget.onDidBlur(e=>{this._listWidget.setFocus([])})),this._listWidget.style(Wo({listInactiveFocusForeground:En,listInactiveFocusBackground:zs}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);let t=this._pickListHeight(this._listWidget.length),n=this._pickListWidth(e);this._listWidget.layout(t,n),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${n}px`,Wt(R(1443,`Received {0} rename suggestions`,e.length))}clearCandidates(){this._listContainer.style.height=`0px`,this._listContainer.style.width=`0px`,this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;let e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;let t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;let e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;let e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){let{totalHeight:e}=zk.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){let t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){let t=Math.ceil(Math.max(...e.map(e=>e.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,n){let r=new class{getTemplateId(e){return`candidate`}getHeight(e){return t}},i=new class{constructor(){this.templateId=`candidate`}renderTemplate(e){return new zk(e,n)}renderElement(e,t,n){n.populate(e)}disposeTemplate(e){e.dispose()}};return new at(`NewSymbolNameCandidates`,e,r,[i],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}},Rk=class{constructor(){this._buttonHoverContent=``,this._disposables=new b,this._onDidInputChange=this._disposables.add(new B),this.onDidInputChange=this._onDidInputChange.event}get domNode(){return this._domNode||(this._domNode=document.createElement(`div`),this._domNode.className=`rename-input-with-button`,this._domNode.style.display=`flex`,this._domNode.style.flexDirection=`row`,this._domNode.style.alignItems=`center`,this._inputNode=document.createElement(`input`),this._inputNode.className=`rename-input`,this._inputNode.type=`text`,this._inputNode.style.border=`none`,this._inputNode.setAttribute(`aria-label`,R(1444,`Rename input. Type new name and press Enter to commit.`)),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement(`div`),this._buttonNode.className=`rename-suggestions-button`,this._buttonNode.setAttribute(`tabindex`,`0`),this._buttonGenHoverText=R(1445,`Generate New Name Suggestions`),this._buttonCancelHoverText=R(1446,`Cancel`),this._buttonHoverContent=this._buttonGenHoverText,this._disposables.add(_n().setupDelayedHover(this._buttonNode,()=>({content:this._buttonHoverContent,style:1}))),this._domNode.appendChild(this._buttonNode),this._disposables.add(H(this.input,vr.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(H(this.input,vr.KEY_DOWN,e=>{let t=new Pt(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(H(this.input,vr.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(H(this.input,vr.FOCUS,()=>{this.domNode.style.outlineWidth=`1px`,this.domNode.style.outlineStyle=`solid`,this.domNode.style.outlineOffset=`-1px`,this.domNode.style.outlineColor=`var(--vscode-focusBorder)`})),this._disposables.add(H(this.input,vr.BLUR,()=>{this.domNode.style.outline=`none`}))),this._domNode}get input(){return Gi(this._inputNode),this._inputNode}get button(){return Gi(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState=`sparkle`,this._sparkleIcon??=bd(w.sparkle),qc(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute(`aria-label`,`Generating new name suggestions`),this._buttonHoverContent=this._buttonGenHoverText,this.input.focus()}setStopButton(){this._buttonState=`stop`,this._stopIcon??=bd(w.stopCircle),qc(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute(`aria-label`,`Cancel generating new name suggestions`),this._buttonHoverContent=this._buttonCancelHoverText,this.input.focus()}dispose(){this._disposables.dispose()}},zk=class e{constructor(t,n){this._domNode=document.createElement(`div`),this._domNode.className=`rename-box rename-candidate`,this._domNode.style.display=`flex`,this._domNode.style.columnGap=`5px`,this._domNode.style.alignItems=`center`,this._domNode.style.height=`${n.lineHeight}px`,this._domNode.style.padding=`${e._PADDING}px`;let i=document.createElement(`div`);i.style.display=`flex`,i.style.alignItems=`center`,i.style.width=i.style.height=`${n.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=bd(w.sparkle),this._icon.style.display=`none`,i.appendChild(this._icon),this._label=document.createElement(`div`),r(this._label,n),this._domNode.appendChild(this._label),t.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){let t=!!e.tags?.includes(Fr.AIGenerated);this._icon.style.display=t?`inherit`:`none`}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:t}){return{totalHeight:t+e._PADDING*2}}dispose(){}};Mk=zk,Mk._PADDING=2;var Bk,Vk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Hk=function(e,t){return function(n,r){t(n,r,e)}},Uk,Wk=class{constructor(e,t,n){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=n.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){let t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){let n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;let r=await n.resolveRenameLocation(this.model,this.position,e);if(r){if(r.rejectReason){t.push(r.rejectReason);continue}return r}}this._providerRenameIdx=0;let n=this.model.getWordAtPosition(this.position);return n?{range:new S(this.position.lineNumber,n.startColumn,this.position.lineNumber,n.endColumn),text:n.word,rejectReason:t.length>0?t.join(`
|
|
36
|
-
`):void 0}:{range:S.fromPositions(this.position),text:``,rejectReason:t.length>0?t.join(`
|
|
37
|
-
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,n,r){let i=this._providers[t];if(!i)return{edits:[],rejectReason:n.join(`
|
|
38
|
-
`)};let a=await i.provideRenameEdits(this.model,this.position,e,r);return a?a.rejectReason?this._provideRenameEdits(e,t+1,n.concat(a.rejectReason),r):a:this._provideRenameEdits(e,t+1,n.concat(R(1429,`No result.`)),r)}};function Gk(e,t){return e.ordered(t).length>0}async function Kk(e,t,n,r,i){return new Wk(t,n,e).provideRenameEdits(r,i??L.None)}async function qk(e,t,n,r){let i=new Wk(t,n,e),a=await i.resolveRenameLocation(L.None);return a?.rejectReason?{edits:[],rejectReason:a.rejectReason}:i.provideRenameEdits(r,L.None)}var Jk=(Bk=class{static get(e){return e.getContribution(Uk.ID)}constructor(e,t,n,r,i,a,o,s){this.editor=e,this._instaService=t,this._notificationService=n,this._bulkEditService=r,this._progressService=i,this._logService=a,this._configService=o,this._languageFeaturesService=s,this._disposableStore=new b,this._cts=new Eu,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ik,this.editor,[`acceptRenameInput`,`acceptRenameInputWithPreview`]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){let e=this._logService.trace.bind(this._logService,`[rename]`);if(this._cts.dispose(!0),this._cts=new Eu,!this.editor.hasModel()){e(`editor has no model`);return}let t=this.editor.getPosition(),n=new Wk(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!n.hasProvider()){e(`skeleton has no provider`);return}let r=new ge(this.editor,5,void 0,this._cts.token),i;try{e(`resolving rename location`);let t=n.resolveRenameLocation(r.token);this._progressService.showWhile(t,250),i=await t,e(`resolved rename location`)}catch(n){n instanceof mu?e(`resolve rename location cancelled`,JSON.stringify(n,null,` `)):(e(`resolve rename location failed`,n instanceof Error?n:JSON.stringify(n,null,` `)),(typeof n==`string`||an(n))&&Sf.get(this.editor)?.showMessage(n||R(1430,`An unknown error occurred while resolving rename location`),t));return}finally{r.dispose()}if(!i){e(`returning early - no loc`);return}if(i.rejectReason){e(`returning early - rejected with reason: ${i.rejectReason}`,i.rejectReason),Sf.get(this.editor)?.showMessage(i.rejectReason,t);return}if(r.token.isCancellationRequested){e(`returning early - cts1 cancelled`);return}let a=new ge(this.editor,5,i.range,this._cts.token),o=this.editor.getModel(),s=this._languageFeaturesService.newSymbolNamesProvider.all(o),c=await Promise.all(s.map(async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1])),l=(e,t)=>{let n=c.slice();return e===xd.Automatic&&(n=n.filter(([e,t])=>t)),n.map(([n])=>n.provideNewSymbolNames(o,i.range,e,t))};e(`creating rename input field and awaiting its result`);let u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,`editor.rename.enablePreview`),d=await this._renameWidget.getInput(i.range,i.text,u,s.length>0?l:void 0,a);if(e(`received response from rename input field`),typeof d==`boolean`){e(`returning early - rename input field response - ${d}`),d&&this.editor.focus(),a.dispose();return}this.editor.focus(),e(`requesting rename edits`);let f=rl(n.provideRenameEdits(d.newName,a.token),a.token).then(async t=>{if(!t){e(`returning early - no rename edits result`);return}if(!this.editor.hasModel()){e(`returning early - no model after rename edits are provided`);return}if(t.rejectReason){e(`returning early - rejected with reason: ${t.rejectReason}`),this._notificationService.info(t.rejectReason);return}this.editor.setSelection(S.fromPositions(this.editor.getSelection().getPosition())),e(`applying edits`),this._bulkEditService.apply(t,{editor:this.editor,showPreview:d.wantsPreview,label:R(1431,`Renaming '{0}' to '{1}'`,i?.text,d.newName),code:`undoredo.rename`,quotableLabel:R(1432,`Renaming {0} to {1}`,i?.text,d.newName),respectAutoSaveConfig:!0,reason:Hn.rename(i?.text,d.newName)}).then(t=>{e(`edits applied`),t.ariaSummary&&hl(R(1433,`Successfully renamed '{0}' to '{1}'. Summary: {2}`,i.text,d.newName,t.ariaSummary))}).catch(t=>{e(`error when applying edits ${JSON.stringify(t,null,` `)}`),this._notificationService.error(R(1434,`Rename failed to apply edits`)),this._logService.error(t)})},t=>{e(`error when providing rename edits`,JSON.stringify(t,null,` `)),this._notificationService.error(R(1435,`Rename failed to compute edits`)),this._logService.error(t)}).finally(()=>{a.dispose()});return e(`returning rename operation`),this._progressService.showWhile(f,250),f}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,`cancelRenameInput command`)}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}},Uk=Bk,Bk.ID=`editor.contrib.renameController`,Bk);Jk=Uk=Vk([Hk(1,x),Hk(2,gi),Hk(3,jt),Hk(4,Xc),Hk(5,$l),Hk(6,Nl),Hk(7,U)],Jk);var Yk=class extends A{constructor(){super({id:`editor.action.rename`,label:W(1437,`Rename Symbol`),precondition:g.and(I.writable,I.hasRenameProvider),kbOpts:{kbExpr:I.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:`1_modification`,order:1.1},canTriggerInlineEdits:!0})}runCommand(e,t){let n=e.get(Mi),[r,i]=Array.isArray(t)&&t||[void 0,void 0];return Nn.isUri(r)&&k.isIPosition(i)?n.openCodeEditor({resource:r},n.getActiveCodeEditor()).then(e=>{e&&(e.setPosition(i),e.invokeWithinContext(t=>(this.reportTelemetry(t,e),this.run(t,e))))},il):super.runCommand(e,t)}run(e,t){let n=e.get($l),r=Jk.get(t);return r?(n.trace(`[RenameAction] got controller, running...`),r.run()):(n.trace(`[RenameAction] returning early - controller missing`),Promise.resolve())}};M(Jk.ID,Jk,4),T(Yk);var Xk=yt.bindToContribution(Jk.get);F(new Xk({id:`acceptRenameInput`,precondition:Fk,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:g.and(I.focus,g.not(`isComposing`)),primary:3}})),F(new Xk({id:`acceptRenameInputWithPreview`,precondition:g.and(Fk,g.has(`config.editor.rename.enablePreview`)),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:g.and(I.focus,g.not(`isComposing`)),primary:2051}})),F(new Xk({id:`cancelRenameInput`,precondition:Fk,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:I.focus,primary:9,secondary:[1033]}})),We(class extends id{constructor(){super({id:`focusNextRenameSuggestion`,title:{...W(1438,`Focus Next Rename Suggestion`)},precondition:Fk,keybinding:[{primary:18,weight:199}]})}run(e){let t=e.get(Mi).getFocusedCodeEditor();if(!t)return;let n=Jk.get(t);n&&n.focusNextRenameSuggestion()}}),We(class extends id{constructor(){super({id:`focusPreviousRenameSuggestion`,title:{...W(1439,`Focus Previous Rename Suggestion`)},precondition:Fk,keybinding:[{primary:16,weight:199}]})}run(e){let t=e.get(Mi).getFocusedCodeEditor();if(!t)return;let n=Jk.get(t);n&&n.focusPreviousRenameSuggestion()}}),Tr(`_executeDocumentRenameProvider`,function(e,t,n,...r){let[i]=r;Gi(typeof i==`string`);let{renameProvider:a}=e.get(U);return qk(a,t,n,i)}),Tr(`_executePrepareRename`,async function(e,t,n){let{renameProvider:r}=e.get(U),i=await new Wk(t,n,r).resolveRenameLocation(L.None);if(i?.rejectReason)throw Error(i.rejectReason);return i}),Jn.as(qo.Configuration).registerConfiguration({id:`editor`,properties:{"editor.rename.enablePreview":{scope:6,description:R(1436,`Enable/disable the ability to preview changes before renaming`),default:!0,type:`boolean`}}});var Zk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Qk=function(e,t){return function(n,r){t(n,r,e)}},$k;(function(e){e.no=`no`,e.yes=`yes`,e.maybe=`maybe`})($k||={}),(function(e){function t(t){switch(t){case`no`:return e.no;case`yes`:return e.yes;case`maybe`:return e.maybe;default:return e.no}}e.fromString=t})($k||={});var eA=class{constructor(){}inferRename(e,t,n,r){let i=new S(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),a=t.startColumn-i.startColumn,o=i.endColumn-t.endColumn,s=e.getValueInRange(i),c=e.getValueInRange(new S(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn+a))+n+e.getValueInRange(new S(i.endLineNumber,i.endColumn-o,i.endLineNumber,i.endColumn)),l=[],u=[],d,f,p,m=e.getOffsetAt(i.getStartPosition()),{changes:h}=new bl(new Yt(s),new Yt(c)).ComputeDiff(!0);if(h.length===0)return;let g=[];for(let t of h){if(g.length===0){g.push(t);continue}let n=g[g.length-1],r=t.originalStart-(n.originalStart+n.originalLength);if(r>0){let i=m+n.originalStart+n.originalLength,a=e.getPositionAt(i),o=e.getWordAtPosition(a);if(o){let s=e.getOffsetAt(new k(a.lineNumber,o.startColumn)),c=e.getOffsetAt(new k(a.lineNumber,o.endColumn)),l=i+r;if(s<=i&&l<=c&&s<=l&&l<=c){n.originalLength=t.originalStart+t.originalLength-n.originalStart,n.modifiedLength=t.modifiedStart+t.modifiedLength-n.modifiedStart;continue}}}g.push(t)}let _=0;for(let t of g){let n=s.substring(t.originalStart,t.originalStart+t.originalLength),i=c.substring(t.modifiedStart,t.modifiedStart+t.modifiedLength),a=m+t.originalStart,o=e.getPositionAt(a),h=a+t.originalLength,g=e.getPositionAt(h),v=S.fromPositions(o,g),y=i.length-t.originalLength;if(/\s/.test(n)){l.push(new Tc(v,i)),_+=y;continue}if(n.length>0){r.lastIndex=0;let e=r.exec(n);if(e===null||e.index!==0||e[0].length!==n.length){l.push(new Tc(v,i)),_+=y;continue}}if(/\s/.test(i)){l.push(new Tc(v,i)),_+=y;continue}if(i.length>0){r.lastIndex=0;let e=r.exec(i);if(e===null||e.index!==0||e[0].length!==i.length){l.push(new Tc(v,i)),_+=y;continue}}let ee=e.getWordAtPosition(o);if(ee===null){l.push(new Tc(v,i)),_+=y;continue}let te=t.originalStart+1,ne=t.originalLength===0&&t.modifiedLength>0,re;if(re=ne&&te===ee.endColumn&&ee.endColumn>ee.startColumn?this.getTokenAtPosition(e,new k(o.lineNumber,ee.startColumn)):this.getTokenAtPosition(e,o),ee.startColumn!==re.range.startColumn||ee.endColumn!==re.range.endColumn){l.push(new Tc(v,i)),_+=y;continue}if(re.type===0){let t=e.getValueInRange(re.range);if(t.length===0){l.push(new Tc(v,i)),_+=y;continue}if(d===void 0)d=t;else if(d!==t){l.push(new Tc(v,i)),_+=y;continue}let n=e.getOffsetAt(re.range.getStartPosition())-m+_,r=e.getOffsetAt(re.range.getEndPosition())-m+_;if(t=c.substring(n,r+y),t.length===0){l.push(new Tc(v,i)),_+=y;continue}if(f===void 0)f=t;else if(f!==t){l.push(new Tc(v,i)),_+=y;continue}p===void 0&&(p=re.range.getStartPosition()),d!==void 0&&f!==void 0&&d.length>0&&f.length>0&&d!==f?u.push(new Tc(re.range,f)):u.push(new Tc(v,i)),_+=y}else l.push(new Tc(v,i)),_+=i.length-t.originalLength}if(d===void 0||f===void 0||p===void 0||d.length===0||f.length===0||d===f)return;r.lastIndex=0;let v=r.exec(d);if(v!==null&&v.index===0&&v[0].length===d.length&&(r.lastIndex=0,v=r.exec(f),v!==null&&v.index===0&&v[0].length===f.length))return{renames:{edits:u,position:p,oldName:d,newName:f},others:{edits:l}}}getTokenAtPosition(e,t){e.tokenization.tokenizeIfCheap(t.lineNumber);let n=e.tokenization.getLineTokens(t.lineNumber),r=n.findTokenIndexAtOffset(t.column-1);return{type:n.getStandardTokenType(r),range:new S(t.lineNumber,1+n.getStartOffset(r),t.lineNumber,1+n.getEndOffset(r))}}},tA=class e{static create(t,n){let r=t.getFocusedCodeEditor();if(r!==null&&r.getModel()===n)return new e(r,n.getVersionId())}constructor(e,t){this.editor=e,this.versionId=t}equals(e){return e!==void 0&&this.editor===e.editor&&this.versionId===e.versionId}},nA=class{constructor(e,t,n,r,i,a,o,s,c){if(this._result=void 0,this._commandService=t,this._textModel=r,this._state=i,this._requestUuid=n,this._cancellationTokenSource=new Eu,s===void 0||c===void 0){this._promise=Kk(e.renameProvider,r,a,o,this._cancellationTokenSource.token);return}this._promise=this.sendNesRenameRequest(r,a,c,o,s)}get requestUuid(){return this._requestUuid}isValid(e){return this._state.equals(tA.create(e,this._textModel))}cancel(){this._cancellationTokenSource.cancel()}async getCount(){if(this._cancellationTokenSource.token.isCancellationRequested)return 0;let e=await this.getResult();return e===void 0||this._cancellationTokenSource.token.isCancellationRequested?0:e.edits.length}async getWorkspaceEdit(){return this.getResult()}async getResult(){if(!this._cancellationTokenSource.token.isCancellationRequested&&(this._result===void 0&&(this._result=await this._promise),!(this._result.rejectReason||this._cancellationTokenSource.token.isCancellationRequested)))return this._result}async sendNesRenameRequest(e,t,n,r,i){try{let a=await this._commandService.executeCommand(`github.copilot.nes.postRename`,e.uri,t,n,r,i);if(a===void 0)return{rejectReason:`Rename failed`,edits:[]};let o=[];for(let e of a)for(let t of e.changes){let n=new S(t.range.start.line+1,t.range.start.character+1,t.range.end.line+1,t.range.end.character+1),i=new _i(e.file,new Tc(n,t.newText??r));o.push(i)}return{edits:o}}catch{return{rejectReason:`Rename failed`,edits:[]}}}},rA=class extends O{constructor(e,t,n,r,i,a){super(),this._commandService=e,this._languageFeaturesService=t,this._languageConfigurationService=n,this._renameSymbolTrackerService=i,this._codeEditorService=a,this._renameInferenceEngine=new eA,this._renameRunnable=void 0,this._register(In.registerCommand(mg,async(e,t,n)=>{if(!(n===void 0||!n.isValid(this._codeEditorService)))try{let e=await n.getWorkspaceEdit();if(e===void 0)return;r.apply(e,{reason:t})}finally{this._renameRunnable===n&&(this._renameRunnable=void 0)}}))}async proposeRenameRefactoring(e,t,n){if(!t.supportsRename||t.action?.kind!==`edit`||n.selectedSuggestionInfo||!Gk(this._languageFeaturesService.renameProvider,e))return t;let r=tA.create(this._codeEditorService,e);if(r===void 0)return t;let i=Date.now(),a=t.action.textReplacement,o=this._languageConfigurationService.getLanguageConfiguration(e.getLanguageId()),s=this._renameInferenceEngine.inferRename(e,a.range,a.text,o.wordDefinition);if(s===void 0||s.renames.edits.length===0)return t;let{oldName:c,newName:l,position:u,edits:d}=s.renames,f=this._renameSymbolTrackerService.trackedWord.get(),p;f!==void 0&&f.model===e&&f.originalWord===c&&f.currentWord===l&&(p=f.currentRange);let m=!1,h=await fs(this.checkRenamePrecondition(t,e,u,c,l,p),100,()=>{m=!0}),g=this.isRenamePossible(t,h,r,e);if(t.setRenameProcessingInfo({createdRename:g,duration:Date.now()-i,timedOut:m,droppedOtherEdits:g?s.others.edits.length:void 0,droppedRenameEdits:g?d.length-1:void 0}),!g)return t;this._renameRunnable===void 0&&(this._renameRunnable=new nA(this._languageFeaturesService,this._commandService,t.requestUuid,e,r,u,l,p,p===void 0?void 0:c));let _=Hn.inlineCompletionAccept({nes:t.isInlineEdit,requestUuid:t.requestUuid,providerId:t.source.provider.providerId,languageId:e.getLanguageId(),correlationId:t.getSourceCompletion().correlationId}),v={id:mg,title:R(1254,`Rename`),arguments:[_,this._renameRunnable]},y={label:R(1255,`Rename`),icon:w.replaceAll,command:v,count:this._renameRunnable.getCount()},ee={kind:`edit`,range:d[0].range,insertText:d[0].text,snippetInfo:t.snippetInfo,alternativeAction:y,uri:e.uri},te=nk.snapshot(e);return ik.create(t.withAction(ee),te,!1)}async checkRenamePrecondition(e,t,n,r,i,a){let o={canRename:$k.no,timedOut:!1};try{let s=await this._commandService.executeCommand(`github.copilot.nes.prepareRename`,t.uri,n,r,i,e.requestUuid,a);if(s===void 0)return o;if(typeof s==`string`){let e=$k.fromString(s);return e===$k.yes||e===$k.maybe?{canRename:e,oldName:r,onOldState:!1}:{canRename:e,timedOut:!1}}return s}catch{return o}}isRenamePossible(e,t,n,r){return t===void 0||t.canRename===$k.no||!n.equals(tA.create(this._codeEditorService,r))?!1:this._renameRunnable===void 0||this._renameRunnable.requestUuid!==e.requestUuid&&(this._renameRunnable.cancel(),this._renameRunnable=void 0,!0)}};rA=Zk([Qk(0,or),Qk(1,U),Qk(2,bu),Qk(3,jt),Qk(4,$e),Qk(5,Mi)],rA);var iA,aA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oA=function(e,t){return function(n,r){t(n,r,e)}},sA,cA=(iA=class extends O{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._textModel=e,this._versionId=t,this._debounceValue=n,this._cursorPosition=r,this._languageConfigurationService=i,this._logService=a,this._configurationService=o,this._instantiationService=s,this._contextKeyService=c,this._textModelService=l,this._updateOperation=this._register(new Ne),this._state=NO(this,{initial:()=>({inlineCompletions:pA.createEmpty(),suggestWidgetInlineCompletions:pA.createEmpty()}),disposeFinal:e=>{e.inlineCompletions.dispose(),e.suggestWidgetInlineCompletions.dispose()},changeTracker:Qu(()=>({versionId:this._versionId})),update:(e,t,n)=>{let r=oo.compose(n.changes.map(e=>e.change?ai(e.change.changes):oo.empty).filter(yr));if(r.isEmpty())return t;try{return{inlineCompletions:t.inlineCompletions.createStateWithAppliedEdit(r,this._textModel),suggestWidgetInlineCompletions:t.suggestWidgetInlineCompletions.createStateWithAppliedEdit(r,this._textModel)}}finally{t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,e=>e.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,e=>e.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=P(this,e=>{this._versionId.read(e),this._updateOperation.clear()}),this._loadingCount=Dt(this,0),this.loading=this._loadingCount.map(this,e=>e>0),this._loggingEnabled=yu(`editor.inlineSuggest.logFetch`,!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=yu(`editor.inlineSuggest.emptyResponseInformation`,!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(ED.cast(),`editor.inlineSuggest.logFetch.commandId`)),this._renameProcessor=this._store.add(this._instantiationService.createInstance(rA)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store);let u=ul.defaultChatAgent?.completionsEnablementSetting??void 0;u&&(this._updateCompletionsEnablement(u),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(u)&&this._updateCompletionsEnablement(u)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(e){let t=this._configurationService.getValue(e);this._completionsEnabled=tu(t)?t:void 0}_log(e){this._loggingEnabled.get()&&this._logService.info(TD(e)),this._structuredFetchLogger.log(e)}fetch(e,t,n,r,i,a,o){let s=new lA(this._cursorPosition.get(),n,this._textModel.getVersionId(),new Set(e)),c=n.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(s))return this._updateOperation.value.promise;if(c?.request?.satisfies(s))return Promise.resolve(!0);let l=!!this._updateOperation.value;this._updateOperation.clear();let u=new Eu,d=(async()=>{let c=new b;this._loadingCount.set(this._loadingCount.get()+1,void 0);let d=!1,f=()=>{d||(d=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};c.add(new Vl(()=>f(),1e4)).schedule();let p=new uA(n,o,e.filter(e=>e.providerId));try{let d=this._debounceValue.get(this._textModel),f=Bu(e.map(e=>e.debounceDelayMs),cs(ke))??d;if((l||i&&n.triggerKind===vn.Automatic)&&await fO(f,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId)return p.setNoSuggestionReasonIfNotSet(`canceled:beforeFetch`),!1;let m=sA._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:`InlineCompletions.fetch`,kind:`start`,requestId:m,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:n.triggerKind,suggestInfo:n.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:t});let h=new Date,g=Ck(e,this._cursorPosition.get(),this._textModel,n,o,this._languageConfigurationService);wk(u.token,()=>g.cancelAndDispose({kind:`tokenCancellation`}));let _=!1,v=!1,y=[];for await(let e of g.lists)if(e){e.addRef(),c.add(Tn(()=>e.removeRef(e.inlineSuggestionsData.length===0?{kind:`empty`}:{kind:`notTaken`})));for(let t of e.inlineSuggestionsData){if(v=!0,!n.includeInlineEdits&&(t.isInlineEdit||t.showInlineEditMenu)){t.setNotShownReason(`notInlineEditRequested`);continue}if(!n.includeInlineCompletions&&!(t.isInlineEdit||t.showInlineEditMenu)){t.setNotShownReason(`notInlineCompletionRequested`);continue}t.addPerformanceMarker(`providerReturned`);let e=t.action?.uri,r,i;if(e&&e.toString()!==this._textModel.uri.toString()){let t=await this._textModelService.createModelReference(e);r=t.object.textEditorModel,i=t}else r=this._textModel,i=void 0;let a=nk.snapshot(r),o=ik.create(t,a);if(i){let e=me(o.identity.onDispose,()=>{i?.dispose(),e.dispose()})}t.addPerformanceMarker(`itemCreated`),y.push(o),!o.isInlineEdit&&!o.showInlineEditMenu&&n.triggerKind===vn.Automatic&&o.isVisible(this._textModel,this._cursorPosition.get())&&(_=!0)}if(_)break}y.forEach(e=>e.addPerformanceMarker(`providersResolved`));let ee=await Promise.all(y.map(async e=>this._renameProcessor.proposeRenameRefactoring(this._textModel,e,n)));if(ee.forEach(e=>e.addPerformanceMarker(`renameProcessed`)),g.cancelAndDispose({kind:`lostRace`}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let e=g.didAllProvidersReturn,t;(u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId)&&(t=`canceled`);let n=ee.map(e=>{let t=e.getSourceCompletion();if(t.doNotLog)return;let n={insertText:t.insertText,range:t.range,additionalTextEdits:t.additionalTextEdits,uri:t.uri,command:t.command,gutterMenuLinkAction:t.gutterMenuLinkAction,shownCommand:t.shownCommand,completeBracketPairs:t.completeBracketPairs,isInlineEdit:t.isInlineEdit,showInlineEditMenu:t.showInlineEditMenu,showRange:t.showRange,warning:t.warning,hint:t.hint,supportsRename:t.supportsRename,correlationId:t.correlationId,jumpToPosition:t.jumpToPosition};return{...Xe(n,e=>S.isIRange(e)?S.lift(e).toString():k.isIPosition(e)?k.lift(e).toString():$n.is(e)?{$commandId:e.id}:e),$providerId:e.source.provider.providerId?.toString()}}).filter(e=>e!==void 0);this._log({sourceId:`InlineCompletions.fetch`,kind:`end`,requestId:m,durationMs:Date.now()-h.getTime(),error:t,result:n,time:Date.now(),didAllProvidersReturn:e})}if(p.setRequestUuid(g.contextWithUuid.requestUuid),v)p.setHasProducedSuggestion(),ee.length>0&&u.token.isCancellationRequested&&ee.forEach(e=>e.setNotShownReasonIfNotSet(`canceled:whileAwaitingOtherProviders`));else if(u.token.isCancellationRequested)p.setNoSuggestionReasonIfNotSet(`canceled:whileFetching`);else{let e=this._contextKeyService.getContextKeyValue(`completionsQuotaExceeded`);p.setNoSuggestionReasonIfNotSet(e?`completionsQuotaExceeded`:`noSuggestion`)}let te=n.earliestShownDateTime-Date.now();if(te>0&&await fO(te,u.token),ee.forEach(e=>e.addPerformanceMarker(`minShowDelayPassed`)),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId||a.get()){let e=u.token.isCancellationRequested?`canceled:afterMinShowDelay`:this._store.isDisposed?`canceled:disposed`:this._textModel.getVersionId()===s.versionId?a.get()?`canceled:userJumped`:`unknown`:`canceled:documentChanged`;return ee.forEach(t=>t.setNotShownReasonIfNotSet(e)),!1}let ne=new Date;this._debounceValue.update(this._textModel,ne.getTime()-h.getTime());let re=this._cursorPosition.get();this._updateOperation.clear(),ht(e=>{let t=this._state.get();n.selectedSuggestionInfo?this._state.set({inlineCompletions:pA.createEmpty(),suggestWidgetInlineCompletions:t.suggestWidgetInlineCompletions.createStateWithAppliedResults(ee,s,this._textModel,re,r)},e):this._state.set({inlineCompletions:t.inlineCompletions.createStateWithAppliedResults(ee,s,this._textModel,re,r),suggestWidgetInlineCompletions:pA.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()})}finally{c.dispose(),f(),this._sendInlineCompletionsRequestTelemetry(p)}return!0})(),f=new fA(s,u,d);return this._updateOperation.value=f,d}clear(e){if(this._store.isDisposed)return;this._updateOperation.clear();let t=this._state.get();this._state.set({inlineCompletions:pA.createEmpty(),suggestWidgetInlineCompletions:pA.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let e=this.inlineCompletions.get(),t=this.suggestWidgetInlineCompletions.get();t&&ht(n=>{if(!e||(t.request?.versionId??-1)>(e.request?.versionId??-1)){e?.dispose();let r=this._state.get();this._state.set({inlineCompletions:t.clone(),suggestWidgetInlineCompletions:pA.createEmpty()},n),r.inlineCompletions.dispose(),r.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(n)})}seedWithCompletion(e,t){let n=this._state.get();this._state.set({inlineCompletions:new pA([e],void 0),suggestWidgetInlineCompletions:pA.createEmpty()},t),n.inlineCompletions.dispose(),n.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(e){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue(`isRunningUnificationExperiment`)||e.requestUuid===void 0||e.hasProducedSuggestion||!au(this._completionsEnabled,this._textModel.getLanguageId())||!e.providers.some(e=>BO(e.providerId?.extensionId)))return;let t={opportunityId:e.requestUuid,noSuggestionReason:e.noSuggestionReason??`unknown`,extensionId:`vscode-core`,extensionVersion:`0.0.0`,groupId:`empty`,shown:!1,skuPlan:e.requestInfo.sku?.plan,skuType:e.requestInfo.sku?.type,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(e=>e.providerId?.toString()).filter(yr).join(`,`),...zO(e.providers.some(e=>BO(e.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,acceptedAlternativeAction: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,longDistanceHintVisible:void 0,longDistanceHintDistance:void 0,notShownReason:void 0,renameCreated:!1,renameDuration:void 0,renameTimedOut:!1,renameDroppedOtherEdits:void 0,renameDroppedRenameEdits:void 0,performanceMarkers:void 0,editKind:void 0};VO(this._instantiationService.createInstance(LO),t)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}},sA=iA,iA._requestId=0,iA);cA=sA=aA([oA(4,bu),oA(5,$l),oA(6,Ea),oA(7,x),oA(8,Ls),oA(9,xi)],cA);var lA=class{constructor(e,t,n,r){this.position=e,this.context=t,this.versionId=n,this.providers=r}satisfies(e){return this.position.equals(e.position)&&Ps(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,uo())&&(e.context.triggerKind===vn.Automatic||this.context.triggerKind===vn.Explicit)&&this.versionId===e.versionId&&dA(e.providers,this.providers)}},uA=class{constructor(e,t,n){this.context=e,this.requestInfo=t,this.providers=n,this.hasProducedSuggestion=!1}setRequestUuid(e){this.requestUuid=e}setNoSuggestionReasonIfNotSet(e){this.noSuggestionReason??=e}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}};function dA(e,t){return[...e].every(e=>t.has(e))}var fA=class{constructor(e,t,n){this.request=e,this.cancellationTokenSource=t,this.promise=n}dispose(){this.cancellationTokenSource.cancel()}},pA=class e extends O{static createEmpty(){return new e([],void 0)}constructor(e,t){super(),this.inlineCompletions=e,this.request=t;for(let e of this.inlineCompletions)e.addRef();this._register({dispose:()=>{for(let e of this.inlineCompletions)e.removeRef()}})}_findById(e){return this.inlineCompletions.find(t=>t.identity===e)}_findByHash(e){return this.inlineCompletions.find(t=>t.hash===e)}createStateWithAppliedEdit(t,n){let r=this.inlineCompletions.map(e=>e.withEdit(t,n)).filter(yr);return new e(r,this.request)}createStateWithAppliedResults(t,n,r,i,a){let o;if(a){let e=this._findById(a);if(e&&e.canBeReused(r,n.position)){o=e;let n=t.find(t=>t.hash===e.hash);t=n?hA(n,t):[e,...t]}}let s=o?!o.isInlineEdit:t.some(e=>!e.isInlineEdit&&e.isVisible(r,i)),c=[];for(let e of t){let t=this._findByHash(e.hash),n;t&&t!==e?(n=e.withIdentity(t.identity),e.setIsPreceeded(t),t.setEndOfLifeReason({kind:ot.Ignored,userTypingDisagreed:!1,supersededBy:e.getSourceCompletion()})):n=e,s!==n.isInlineEdit&&c.push(n)}return c.sort(xs(e=>e.showInlineEditMenu,fl)),c=mA(c,e=>e.semanticId),new e(c,n)}clone(){return new e(this.inlineCompletions,this.request)}};function mA(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return!n.has(r)&&(n.add(r),!0)})}function hA(e,t){let n=t.indexOf(e);return n>-1?[e,...t.slice(0,n),...t.slice(n+1)]:t}var gA,_A=class e extends O{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(e=>this._updateTypingSpeed(e)))}_updateTypingSpeed(t){let n=Date.now();if(!this._isUserTyping(t)){this._finalizeCurrentSession();return}this._currentSession&&n-this._lastChangeTime>e.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||={startTime:n,endTime:n,characterCount:0},this._currentSession.endTime=n,this._currentSession.characterCount+=this._getActualCharacterCount(t),this._lastChangeTime=n,this._cacheInvalidated=!0}_getActualCharacterCount(e){let t=0;for(let n of e.changes)t+=Math.max(n.text.length,n.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(){this._currentSession&&=(this._currentSession.endTime-this._currentSession.startTime>=e.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>e.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),null)}_calculateTypingInterval(){if(this._currentSession){let t={...this._currentSession};if(t.endTime-t.startTime>=e.MIN_SESSION_DURATION_MS&&t.characterCount>0){let e=[...this._typingSessions,t];return this._calculateSpeedFromSessions(e)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(t){if(t.length===0)return{averageInterval:0,characterCount:0};let n=[...t].sort((e,t)=>t.endTime-e.endTime),r=Date.now()-e.TYPING_SPEED_WINDOW_MS,i=n.filter(e=>e.endTime>r),a=n.splice(i.length),o=Qe(i.map(e=>e.characterCount));for(let t=0;t<a.length&&o<e.MIN_CHARS_FOR_RELIABLE_SPEED;t++)i.push(a[t]),o+=a[t].characterCount;let s=Qe(i.map(e=>e.endTime-e.startTime));if(s===0||o<=1)return{averageInterval:0,characterCount:o};let c=s/Math.max(1,o-1);return{averageInterval:Math.round(c),characterCount:o}}dispose(){this._finalizeCurrentSession(),super.dispose()}};gA=_A,gA.MAX_SESSION_GAP_MS=3e3,gA.MIN_SESSION_DURATION_MS=1e3,gA.SESSION_HISTORY_LIMIT=50,gA.TYPING_SPEED_WINDOW_MS=3e5,gA.MIN_CHARS_FOR_RELIABLE_SPEED=20;var vA;function yA(e){return vA?.(e)??null}function bA(e){vA=e}var xA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},SA=function(e,t){return function(n,r){t(n,r,e)}},CA=class extends O{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){super(),this.textModel=e,this._selectedSuggestItem=t,this._textModelVersionId=n,this._positions=r,this._debounceValue=i,this._enabled=a,this._editor=o,this._instantiationService=s,this._commandService=c,this._languageConfigurationService=l,this._accessibilityService=u,this._languageFeaturesService=d,this._codeEditorService=f,this._inlineCompletionsService=p,this._isActive=Dt(this,!1),this._onlyRequestInlineEditsSignal=Nr(this),this._forceUpdateExplicitlySignal=Nr(this),this._noDelaySignal=Nr(this),this._fetchSpecificProviderSignal=Nr(this),this._selectedInlineCompletionId=Dt(this,void 0),this.primaryPosition=P(this,e=>this._positions.read(e)[0]??new k(1,1)),this.allPositions=P(this,e=>this._positions.read(e)),this.sku=Dt(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=P(this,e=>{let t=this.state.read(e);return!t||!t.inlineSuggestion?!1:DA(this._editor,t.inlineSuggestion,e)}),this._onDidAccept=this._register(new B),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=pa({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(e,t)=>(t.didUndo=e.didChange(this._textModelVersionId)&&!!e.change?.isUndoing,!0)}},(e,t)=>{let n=this._textModelVersionId.read(e);return n!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===n-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&t.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([wA.Redo,wA.Undo,wA.AcceptWord]),this.dontRefetchSignal=Nr(this),this._fetchInlineCompletionsPromise=pa({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:vn.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:``}),handleChange:(e,t)=>{if(e.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(e.change))&&(t.preserveCurrentCompletion=!0);let n=e.change?.detailedReasons??[];t.changeReason=n.length>0?n[0].getType():``,t.textChange=!0}else e.didChange(this._forceUpdateExplicitlySignal)?(t.preserveCurrentCompletion=!0,t.inlineCompletionTriggerKind=vn.Explicit):e.didChange(this.dontRefetchSignal)?t.dontRefetch=!0:e.didChange(this._onlyRequestInlineEditsSignal)?t.onlyRequestInlineEdits=!0:e.didChange(this._fetchSpecificProviderSignal)&&(t.provider=e.change?.provider,t.changeHint=e.change?.changeHint);return!0}}},(e,t)=>{if(this._source.clearOperationOnTextModelChange.read(e),this._noDelaySignal.read(e),this.dontRefetchSignal.read(e),this._onlyRequestInlineEditsSignal.read(e),this._forceUpdateExplicitlySignal.read(e),this._fetchSpecificProviderSignal.read(e),!((this._enabled.read(e)&&this._selectedSuggestItem.read(e)||this._isActive.read(e))&&(!this._inlineCompletionsService.isSnoozing()||t.inlineCompletionTriggerKind===vn.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(e);let n=this._source.suggestWidgetInlineCompletions.read(void 0),r=this._selectedSuggestItem.read(e);if(this._shouldShowOnSuggestConflict.read(void 0)&&(r=void 0),n&&!r&&this._source.seedInlineCompletionsWithSuggestWidget(),t.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(e)&&t.inlineCompletionTriggerKind!==vn.Explicit){ht(e=>{this._source.clear(e)});return}let i=``;t.provider?i+=`providerOnDidChange`:t.inlineCompletionTriggerKind===vn.Explicit&&(i+=`explicit`),t.changeReason&&(i+=i.length>0?`:${t.changeReason}`:t.changeReason);let a=this._typing.getTypingInterval(),o={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:i,typingInterval:a.averageInterval,typingIntervalCharacterCount:a.characterCount,availableProviders:[],sku:this.sku.read(void 0)},s={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:r?.toSelectedSuggestionInfo(),includeInlineCompletions:!t.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(e),requestIssuedDateTime:o.startTime,earliestShownDateTime:o.startTime+(t.inlineCompletionTriggerKind===vn.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:t.changeHint};s.triggerKind===vn.Automatic&&t.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(s={...s,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});let c=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,l=t.preserveCurrentCompletion||c?.forwardStable?c:void 0,u=this._jumpedToId.map(e=>!!e&&e===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),d=t.provider?{providers:[t.provider],label:`single:`+t.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},f=this.getAvailableProviders(d.providers);return o.availableProviders=f.map(e=>e.providerId).filter(yr),this._source.fetch(f,d.label,s,l?.identity,t.shouldDebounce,u,o)}),this._inlineSuggestionItems=xr({owner:this},e=>{let t=this._source.inlineCompletions.read(e);if(!t)return;let n=this.primaryPosition.read(e),r,i=[];for(let e of t.inlineCompletions)e.isInlineEdit?r=e:e.isVisible(this.textModel,n)&&i.push(e);return i.length!==0&&(r=void 0),{inlineCompletions:i,inlineEdit:r}}),this._inlineCompletionItems=xr({owner:this,equalsFn:Bc()},e=>this._inlineSuggestionItems.read(e)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=P(this,e=>{let t=this._selectedInlineCompletionId.read(e),n=this._inlineCompletionItems.read(e),r=this._selectedInlineCompletionId===void 0?-1:n.findIndex(e=>e.semanticId===t);return r===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):r}),this.selectedInlineCompletion=P(this,e=>this._inlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)]),this.activeCommands=xr({owner:this,equalsFn:Bc()},e=>this.selectedInlineCompletion.read(e)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=P(this,e=>{if(this.lastTriggerKind.read(e)===vn.Explicit)return this._inlineCompletionItems.read(e).length}),this._hasVisiblePeekWidgets=P(this,e=>this._editorObs.openedPeekWidgets.read(e)>0),this._shouldShowOnSuggestConflict=P(this,e=>{let t=this._showOnSuggestConflict.read(e);if(t!==`never`&&this.selectedInlineCompletion.read(e)){let n=this._selectedSuggestItem.read(e);return n?t!==`whenSuggestListIsIncomplete`||n.listIncomplete:!1}return!1}),this.state=xr({owner:this,equalsFn:(e,t)=>!e||!t?e===t:e.kind===`ghostText`&&t.kind===`ghostText`?CO(e.ghostTexts,t.ghostTexts)&&e.inlineSuggestion===t.inlineSuggestion&&e.suggestItem===t.suggestItem:e.kind===`inlineEdit`&&t.kind===`inlineEdit`&&e.inlineSuggestion===t.inlineSuggestion},e=>{let t=this.textModel;if(this._suppressInSnippetMode.read(e)&&this._isInSnippetMode.read(e))return;let n=this._inlineSuggestionItems.read(e),r=n?.inlineEdit;if(r){if(this._hasVisiblePeekWidgets.read(e))return;let t=this.primaryPosition.map(e=>ld.fromRangeInclusive(r.targetRange).addMargin(1,1).contains(e.lineNumber)),i=r.action?.kind===`edit`?r.action.stringEdit:void 0,a=i?cl.fromStringEdit(i,new Zi(this.textModel)).replacements:[],o=(n.inlineEdit?.command?.id===`vscode.open`||n.inlineEdit?.command?.id===`_workbench.open`)&&n.inlineEdit?.command.arguments?.length?Nn.from(n.inlineEdit?.command.arguments[0]):void 0;return r.originalTextRef.targets(this.textModel)||(o=r.originalTextRef.uri),{kind:`inlineEdit`,inlineSuggestion:r,edits:a,cursorAtInlineEdit:t,nextEditUri:o}}let i=this._selectedSuggestItem.read(e);if(!this._shouldShowOnSuggestConflict.read(e)&&i){let n=TO(i.getSingleTextEdit(),t),r=this._computeAugmentation(n,e);if(!this._suggestPreviewEnabled.read(e)&&!r)return;let a=r?.edit??n,o=r?r.edit.text.length-n.text.length:0,s=this._suggestPreviewMode.read(e),c=this._positions.read(e),l=[a,...TA(this.textModel,c,a)].map((e,n)=>({edit:e,ghostText:e?OO(e,t,s,c[n],o):void 0})).filter(({edit:e,ghostText:t})=>e!==void 0&&t!==void 0),u=l.map(({edit:e})=>e),d=l.map(({ghostText:e})=>e);return{kind:`ghostText`,edits:u,primaryGhostText:d[0]??new bO(a.range.endLineNumber,[]),ghostTexts:d,inlineSuggestion:r?.completion,suggestItem:i}}{if(!this._isActive.read(e))return;let n=this.selectedInlineCompletion.read(e);if(!n)return;let r=n.getSingleTextEdit(),i=this._inlineSuggestMode.read(e),a=this._positions.read(e),o=[r,...TA(this.textModel,a,r)].map((e,n)=>({edit:e,ghostText:e?OO(e,t,i,a[n],0):void 0})).filter(({edit:e,ghostText:t})=>e!==void 0&&t!==void 0),s=o.map(({edit:e})=>e),c=o.map(({ghostText:e})=>e);return c[0]?{kind:`ghostText`,edits:s,primaryGhostText:c[0],ghostTexts:c,inlineSuggestion:n,suggestItem:void 0}:void 0}}),this.status=P(this,e=>{if(this._source.loading.read(e))return`loading`;let t=this.state.read(e);return t?.kind===`ghostText`?`ghostText`:t?.kind===`inlineEdit`?`inlineEdit`:`noSuggestion`}),this.inlineCompletionState=P(this,e=>{let t=this.state.read(e);if(!(!t||t.kind!==`ghostText`)&&!this._editorObs.inComposition.read(e))return t}),this.inlineEditState=P(this,e=>{let t=this.state.read(e);if(!(!t||t.kind!==`inlineEdit`))return t}),this.inlineEditAvailable=P(this,e=>!!this.inlineEditState.read(e)),this.warning=P(this,e=>this.inlineCompletionState.read(e)?.inlineSuggestion?.warning),this.ghostTexts=xr({owner:this,equalsFn:CO},e=>{let t=this.inlineCompletionState.read(e);if(t)return t.ghostTexts}),this.primaryGhostText=xr({owner:this,equalsFn:wO},e=>{let t=this.inlineCompletionState.read(e);if(t)return t?.primaryGhostText}),this.showCollapsed=P(this,e=>{let t=this.state.read(e);if(!t||t.kind!==`inlineEdit`||t.inlineSuggestion.hint||t.inlineSuggestion.action?.kind===`jumpTo`)return!1;let n=t.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(e);return(this._inlineEditsShowCollapsedEnabled.read(e)||!n)&&this._jumpedToId.read(e)!==t.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(e)}),this._tabShouldIndent=P(this,e=>{if(this._inAcceptFlow.read(e))return!1;function t(e){return e.startLineNumber!==e.endLineNumber}function n(e,t){let n=e.getLineIndentColumn(t),r=e.getLineLastNonWhitespaceColumn(t);return new S(t,n,t,Math.max(r,n))}return this._editorObs.selections.read(e)?.some(e=>e.isEmpty()?this.textModel.getLineLength(e.startLineNumber)===0:t(e)||e.containsRange(n(this.textModel,e.startLineNumber)))}),this.tabShouldJumpToInlineEdit=P(this,e=>{if(this._tabShouldIndent.read(e))return!1;let t=this.inlineEditState.read(e);return t?t.inlineSuggestion.action?.kind===`jumpTo`||this.showCollapsed.read(e)?!0:this._inAcceptFlow.read(e)&&this._appearedInsideViewport.read(e)?!1:!t.cursorAtInlineEdit.read(e):!1}),this.tabShouldAcceptInlineEdit=P(this,e=>{let t=this.inlineEditState.read(e);return!t||t.inlineSuggestion.action?.kind===`jumpTo`||this.showCollapsed.read(e)||this._tabShouldIndent.read(e)?!1:this._inAcceptFlow.read(e)&&this._appearedInsideViewport.read(e)||t.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(e)||this._jumpedToId.read(e)===t.inlineSuggestion.semanticId?!0:t.cursorAtInlineEdit.read(e)}),this._jumpedToId=Dt(this,void 0),this._inAcceptFlow=Dt(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(cA,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition)),this.lastTriggerKind=this._source.inlineCompletions.map(this,e=>e?.request?.context.triggerKind),this._editorObs=ku(this._editor);let h=this._editorObs.getOption(134);this._suggestPreviewEnabled=h.map(e=>e.preview),this._suggestPreviewMode=h.map(e=>e.previewMode);let g=this._editorObs.getOption(71);this._inlineSuggestMode=g.map(e=>e.mode),this._suppressedInlineCompletionGroupIds=g.map(e=>new Set(e.experimental.suppressInlineSuggestions.split(`,`))),this._inlineEditsEnabled=g.map(e=>!!e.edits.enabled),this._inlineEditsShowCollapsedEnabled=g.map(e=>e.edits.showCollapsed),this._triggerCommandOnProviderChange=g.map(e=>e.triggerCommandOnProviderChange),this._minShowDelay=g.map(e=>e.minShowDelay),this._showOnSuggestConflict=g.map(e=>e.experimental.showOnSuggestConflict),this._suppressInSnippetMode=g.map(e=>e.suppressInSnippetMode);let _=tO.get(this._editor);this._isInSnippetMode=_?.isInSnippetObservable??Ec(!1),m.getDefaultAccount().then(AA(e=>this.sku.set(OA(e),void 0),this._store)),this._register(m.onDidChangeDefaultAccount(e=>this.sku.set(OA(e),void 0))),this._typing=this._register(new _A(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(e=>{e&&this.stop()}));{let e=this.textModel.uri.scheme===ic.vscodeNotebookCell,[t]=this._codeEditorService.listDiffEditors().filter(e=>e.getOriginalEditor().getId()===this._editor.getId()||e.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!t,this.editorType=e?Ok.Notebook:this.isInDiffEditor?Ok.DiffEditor:Ok.TextEditor}this._register(gn(this.state,e=>{e&&e.inlineSuggestion&&this._inlineCompletionsService.reportNewCompletion(e.inlineSuggestion.requestUuid)})),this._register(gn(this._fetchInlineCompletionsPromise)),this._register(E(e=>{this._editorObs.versionId.read(e),this._inAcceptFlow.set(!1,void 0)})),this._register(E(e=>{this.state.map((e,t)=>!e||e.kind===`inlineEdit`&&!e.cursorAtInlineEdit.read(t)).read(e)&&this._jumpedToId.set(void 0,void 0)})),this._register(E(e=>{let t=this.state.map(e=>e?.inlineSuggestion).read(e);t&&t.addPerformanceMarker(`activeSuggestion`)}));let v=this.inlineEditState.map(e=>e?.inlineSuggestion.semanticId);this._register(E(e=>{v.read(e)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion})}));let y=yd(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(e));it(this,y,(e,t)=>{e.onDidChangeInlineCompletions&&t.add(e.onDidChangeInlineCompletions(t=>{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.inlineSuggestion||n.edits)&&n.inlineSuggestion?.source.provider!==e||ht(n=>{this._fetchSpecificProviderSignal.trigger(n,{provider:e,changeHint:t??void 0}),this.trigger(n)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(e){let t=!1,n=!0,r=this?.primaryGhostText.read(e);if(this?._selectedSuggestItem&&r&&r.parts.length>0){let{column:e,lines:i}=r.parts[0],a=i[0].line;if(e<=this.textModel.getLineIndentColumn(r.lineNumber)){let e=Vi(a);e===-1&&(e=a.length-1),t=e>0;let r=this.textModel.getOptions().tabSize;n=he.visibleColumnFromColumn(a,e+1,r)<r}}return{startsWithIndentation:t,startsWithIndentationLessThanTabSize:n}}_getReason(e){return e?.isUndoing?wA.Undo:e?.isRedoing?wA.Redo:this.isAcceptingPartially?wA.AcceptWord:wA.Other}getAvailableProviders(e){let t=this._suppressedInlineCompletionGroupIds.get(),n=e.filter(e=>!(e.groupId&&t.has(e.groupId))),r=new Set;for(let e of n)e.excludesGroupIds?.forEach(e=>r.add(e));let i=[];for(let e of n)e.groupId&&r.has(e.groupId)||i.push(e);return i}async trigger(e,t={}){Fi(e,e=>{t.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(e),t.noDelay&&this._noDelaySignal.trigger(e),this._isActive.set(!0,e),t.explicit&&(this._inAcceptFlow.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)),t.provider&&this._fetchSpecificProviderSignal.trigger(e,{provider:t.provider,changeHint:t.changeHint})}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e,t=!1){return this.trigger(e,{onlyFetchInlineEdits:t,explicit:!0})}stop(e=`automatic`,t){Fi(t,t=>{if(e===`explicitCancel`){let e=this.state.get()?.inlineSuggestion;e&&e.reportEndOfLife({kind:ot.Rejected})}this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){let n=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),i=r?r.inlineCompletions.filter(e=>!e.isInlineEdit):[this.selectedInlineCompletion.read(t)].filter(yr);return ii(i,t=>{let r=t.getSingleTextEdit();return r=TO(r,n,S.fromPositions(r.range.getStartPosition(),e.range.getEndPosition())),EO(r,e)?{completion:t,edit:r}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._inlineCompletionItems.get()||[];if(t.length>0){let n=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[n].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,n=void 0){return n?Hn.inlineCompletionPartialAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t,type:n,correlationId:e.getSourceCompletion().correlationId}):Hn.inlineCompletionAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,correlationId:e.getSourceCompletion().correlationId,providerId:e.source.provider.providerId,languageId:t})}async accept(e=this._editor,t=!1){if(e.getModel()!==this.textModel)throw new lc;let n,r=!1,i=this.state.get();if(i?.kind===`ghostText`){if(!i||i.primaryGhostText.isEmpty()||!i.inlineSuggestion)return;n=i.inlineSuggestion}else if(i?.kind===`inlineEdit`)n=i.inlineSuggestion,r=!!i.nextEditUri;else return;n.addRef();try{let a=!1;if(e.pushUndoStop(),!n.originalTextRef.targets(this.textModel)){let e=await this._codeEditorService.openCodeEditor({resource:n.originalTextRef.uri},this._editor);if(e){let t=yA(e)?.model.get();e.focus(),t?.transplantCompletion(n),e.revealLineInCenter(n.targetRange.startLineNumber)}}else if(!r&&n.action?.kind===`edit`){let r=n.action;if(t&&r.alternativeAction){a=!0;let e=r.alternativeAction.command;await this._commandService.executeCommand(e.id,...e.arguments||[]).then(void 0,xc)}else if(r.snippetInfo){let t=Tc.delete(r.textReplacement.range),i=n.additionalTextEdits.map(e=>new Tc(S.lift(e.range),e.text??``)),a=cl.fromParallelReplacementsUnsorted([t,...i]);e.edit(a,this._getMetadata(n,this.textModel.getLanguageId())),e.setPosition(r.snippetInfo.range.getStartPosition(),`inlineCompletionAccept`),tO.get(e)?.insert(r.snippetInfo.snippet,{undoStopBefore:!1})}else{let t=i.edits,r=t;i.kind===`ghostText`&&(r=lO(t,this.textModel));let a=sO(r).map(e=>j.fromPositions(e)),o=n.additionalTextEdits.map(e=>new Tc(S.lift(e.range),e.text??``)),s=cl.fromParallelReplacementsUnsorted([...t,...o]);if(e.edit(s,this._getMetadata(n,this.textModel.getLanguageId())),n.hint===void 0&&e.setSelections(i.kind===`inlineEdit`?a.slice(-1):a,`inlineCompletionAccept`),i.kind===`inlineEdit`&&!this._accessibilityService.isMotionReduced()){let t=s.getNewRanges(),n=this._store.add(new EA(e,t,()=>{this._store.delete(n)}))}}}this._onDidAccept.fire(),this.stop(),n.command&&await this._commandService.executeCommand(n.command.id,...n.command.arguments||[]).then(void 0,xc),a&&this.trigger(void 0),n.reportEndOfLife({kind:ot.Accepted,alternativeAction:t})}finally{n.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:n}}}async acceptNextWord(){await this._acceptNext(this._editor,`word`,(e,t)=>{let n=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),r=this._languageConfigurationService.getLanguageConfiguration(n),i=new RegExp(r.wordDefinition.source,r.wordDefinition.flags.replace(`g`,``)),a=t.match(i),o=0;o=a&&a.index!==void 0?a.index===0?a[0].length:a.index:t.length;let s=/\s+/g.exec(t);return s&&s.index!==void 0&&s.index+s[0].length<o&&(o=s.index+s[0].length),o},0)}async acceptNextLine(){await this._acceptNext(this._editor,`line`,(e,t)=>{let n=t.match(/\n/);return n&&n.index!==void 0?n.index+1:t.length},1)}async _acceptNext(e,t,n,r){if(e.getModel()!==this.textModel)throw new lc;let i=this.inlineCompletionState.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineSuggestion)return;let a=i.primaryGhostText,o=i.inlineSuggestion;if(o.snippetInfo){await this.accept(e);return}let s=a.parts[0],c=new k(a.lineNumber,s.column),l=s.text,u=n(c,l);if(u===l.length&&a.parts.length===1){this.accept(e);return}let d=l.substring(0,u),f=this._positions.get(),p=f[0];o.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let n=S.fromPositions(p,c),r=e.getModel().getValueInRange(n)+d,i=new Tc(n,r),a=[i,...TA(this.textModel,f,i)].filter(yr),s=sO(a).map(e=>j.fromPositions(e));e.edit(cl.fromParallelReplacementsUnsorted(a),this._getMetadata(o,t)),e.setSelections(s,`inlineCompletionPartialAccept`),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),0)}finally{this._isAcceptingPartially=!1}let n=S.fromPositions(o.editRange.getStartPosition(),Au.ofText(d).addToPosition(c)),i=e.getModel().getValueInRange(n,1).length;o.reportPartialAccept(i,{kind:r,acceptedLength:i},{characters:u,ratio:u/l.length,count:1})}finally{o.removeRef()}}handleSuggestAccepted(e){let t=TO(e.getSingleTextEdit(),this.textModel),n=this._computeAugmentation(t,void 0);if(!n)return;let r=this.textModel.getValueInRange(n.completion.editRange,1).length+t.text.length;n.completion.reportPartialAccept(t.text.length,{kind:2,acceptedLength:r},{characters:t.text.length,count:1,ratio:1})}extractReproSample(){return{documentValue:this.textModel.getValue(),inlineCompletion:(this.state.get()?.inlineSuggestion)?.getSourceCompletion()}}jump(){let e=this.inlineEditState.get();if(!e)return;let t=e.inlineSuggestion;if(!t.originalTextRef.targets(this.textModel)){this.accept(this._editor);return}t.addRef();try{ht(n=>{t.action?.kind===`jumpTo`&&(this.stop(void 0,n),t.reportEndOfLife({kind:ot.Accepted,alternativeAction:!1})),this._jumpedToId.set(e.inlineSuggestion.semanticId,n),this.dontRefetchSignal.trigger(n);let r=e.inlineSuggestion.targetRange,i=r.getStartPosition();if(this._editor.setPosition(i,`inlineCompletions.jump`),r.isSingleLine()&&(e.inlineSuggestion.hint||e.inlineSuggestion.action?.kind===`edit`&&!e.inlineSuggestion.action.textReplacement.text.includes(`
|
|
39
|
-
`))||e.inlineSuggestion.action?.kind===`jumpTo`)this._editor.revealPosition(i,0);else{let e=new S(r.startLineNumber-1,1,r.endLineNumber+1,1);this._editor.revealRange(e,0)}e.inlineSuggestion.identity.setJumpTo(n),this._editor.focus()})}finally{t.removeRef()}}async handleInlineSuggestionShown(e,t,n,r){await e.reportInlineEditShown(this._commandService,t,n,this.textModel,r)}transplantCompletion(e){ht(t=>{this._source.seedWithCompletion(e,t),this._isActive.set(!0,t),this._inAcceptFlow.set(!0,t),this.dontRefetchSignal.trigger(t)})}};CA=xA([SA(7,x),SA(8,or),SA(9,bu),SA(10,ui),SA(11,U),SA(12,Mi),SA(13,Pn),SA(14,Fs)],CA);var wA;(function(e){e[e.Undo=0]=`Undo`,e[e.Redo=1]=`Redo`,e[e.AcceptWord=2]=`AcceptWord`,e[e.Other=3]=`Other`})(wA||={});function TA(e,t,n){if(t.length===1)return[];let r=new Zi(e),i=r.getTransformer(),a=i.getOffset(t[0]),o=t.slice(1).map(e=>i.getOffset(e));n=n.removeCommonPrefixAndSuffix(r);let s=i.getStringReplacement(n),c=s.replaceRange.start-a,l=s.replaceRange.join(co.emptyAt(a)),u=r.getValueOfOffsetRange(l);return o.map(e=>{let t=e+c,n=t+s.replaceRange.length,a=new co(t,n),o=a.join(co.emptyAt(e));if(r.getValueOfOffsetRange(o)!==u)return;let l=new pc(a,s.newText);return i.getTextReplacement(l)}).filter(yr)}var EA=class extends O{constructor(e,t,n){super(),n&&this._register({dispose:()=>n()}),this._register(ku(e).setDecorations(Ec(t.map(e=>({range:e,options:{description:`animation`,className:`edits-fadeout-decoration`,zIndex:1}})))));let r=new vO(hO.startNow(1,0,1e3,_O));this._register(E(t=>{let n=r.getValue(t);e.getContainerDomNode().style.setProperty(`--animation-opacity`,n.toString()),r.isFinished(t)&&this.dispose()}))}};function DA(e,t,n=void 0){let r=t.targetRange;ku(e).scrollTop.read(n);let i=e.getVisibleRanges();return i.length<1?!1:new S(i[0].startLineNumber,i[0].startColumn,i[i.length-1].endLineNumber,i[i.length-1].endColumn).containsRange(r)}function OA(e){if(e?.entitlementsData?.access_type_sku&&e?.entitlementsData?.copilot_plan)return{type:e.entitlementsData.access_type_sku,plan:e.entitlementsData.copilot_plan}}var kA=class{constructor(e){this.handler=e=>this._cb?.(e),this._cb=e}dispose(){this._cb=void 0}};function AA(e,t){let n=new kA(e);return t.add(n),n.handler}var jA,MA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},NA=function(e,t){return function(n,r){t(n,r,e)}},PA,FA=class{constructor(e){this.name=e}select(e,t,n){if(n.length===0)return 0;let r=n[0].score[0];for(let e=0;e<n.length;e++){let{score:t,completion:i}=n[e];if(t[0]!==r)break;if(i.preselect)return e}return 0}},IA=class extends FA{constructor(){super(`first`)}memorize(e,t,n){}toJSON(){}fromJSON(){}},LA=class extends FA{constructor(){super(`recentlyUsed`),this._cache=new Qo(300,.66),this._seq=0}memorize(e,t,n){let r=`${e.getLanguageId()}/${n.textLabel}`;this._cache.set(r,{touch:this._seq++,type:n.completion.kind,insertText:n.completion.insertText})}select(e,t,n){if(n.length===0)return 0;let r=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(r))return super.select(e,t,n);let i=n[0].score[0],a=-1,o=-1,s=-1;for(let t=0;t<n.length&&n[t].score[0]===i;t++){let r=`${e.getLanguageId()}/${n[t].textLabel}`,i=this._cache.peek(r);if(i&&i.touch>s&&i.type===n[t].completion.kind&&i.insertText===n[t].completion.insertText&&(s=i.touch,o=t),n[t].completion.preselect&&a===-1)return a=t}return o===-1?a===-1?0:a:o}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(let[t,n]of e)n.touch=0,n.type=typeof n.type==`number`?n.type:ec.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}},RA=class extends FA{constructor(){super(`recentlyUsedByPrefix`),this._trie=mr.forStrings(),this._seq=0}memorize(e,t,n){let{word:r}=e.getWordUntilPosition(t),i=`${e.getLanguageId()}/${r}`;this._trie.set(i,{type:n.completion.kind,insertText:n.completion.insertText,touch:this._seq++})}select(e,t,n){let{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,n);let i=`${e.getLanguageId()}/${r}`,a=this._trie.get(i);if(a||=this._trie.findSubstr(i),a)for(let e=0;e<n.length;e++){let{kind:t,insertText:r}=n[e].completion;if(t===a.type&&r===a.insertText)return e}return super.select(e,t,n)}toJSON(){let e=[];return this._trie.forEach((t,n)=>e.push([n,t])),e.sort((e,t)=>-(e[1].touch-t[1].touch)).forEach((e,t)=>e[1].touch=t),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(let[t,n]of e)n.type=typeof n.type==`number`?n.type:ec.fromString(n.type),this._trie.set(t,n)}}},zA=(jA=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new b,this._persistSoon=new Vl(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===wc.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,n){this._withStrategy(e,t).memorize(e,t,n),this._persistSoon.schedule()}select(e,t,n){return this._withStrategy(e,t).select(e,t,n)}_withStrategy(e,t){let n=this._configService.getValue(`editor.suggestSelection`,{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==n){this._saveState();let e=PA._strategyCtors.get(n)||IA;this._strategy=new e;try{let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=this._storageService.get(`${PA._storagePrefix}/${n}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch{}}return this._strategy}_saveState(){if(this._strategy){let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=JSON.stringify(this._strategy);this._storageService.store(`${PA._storagePrefix}/${this._strategy.name}`,t,e,1)}}},PA=jA,jA._strategyCtors=new Map([[`recentlyUsedByPrefix`,RA],[`recentlyUsed`,LA],[`first`,IA]]),jA._storagePrefix=`suggest/memories`,jA);zA=PA=MA([NA(0,sl),NA(1,Ea)],zA);var BA=tn(`ISuggestMemories`);ys(BA,zA,1);var VA,HA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},UA=function(e,t){return function(n,r){t(n,r,e)}},WA,GA=(VA=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=WA.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){let e=this._editor.getOption(139)===`on`;if(this._enabled!==e){if(this._enabled=e,this._enabled){let e=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());if(!n){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(n.endColumn===t.getStartPosition().column&&t.getStartPosition().lineNumber===t.getEndPosition().lineNumber)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&=(this._ckAtEnd.reset(),this._selectionListener.dispose(),void 0)}}},WA=VA,VA.AtEnd=new D(`atEndOfWord`,!1,{type:`boolean`,description:R(1546,`A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled`)}),VA);GA=WA=HA([UA(1,Ls)],GA);var KA,qA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},JA=function(e,t){return function(n,r){t(n,r,e)}},YA,XA=(KA=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=YA.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){if(e.items.length===0){this.reset();return}if(YA._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,n){let r=n;for(let i=t.items.length;i>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,!(r===n||!t.items[r].completion.additionalTextEdits));i--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=YA._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},YA=KA,KA.OtherSuggestions=new D(`hasOtherSuggestions`,!1),KA);XA=YA=qA([JA(1,Ls)],XA);var ZA=class{constructor(e,t,n,r){this._disposables=new b,this._disposables.add(n.onDidSuggest(e=>{e.completionModel.items.length===0&&this.reset()})),this._disposables.add(n.onDidCancel(e=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(i=>{if(this._active&&!t.isFrozen()&&n.state!==0){let t=i.charCodeAt(i.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!td(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;let t=new jn;for(let n of e.item.completion.commitCharacters)n.length>0&&t.add(n.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}},QA=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}},$A=class e{constructor(t,n,r,i,a,o,s=ra.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=i,this._options=a,this._refilterKind=1,this._lineContext=r,this._fuzzyScoreOptions=s,o===`top`?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:o===`bottom`&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();let e=new Set;for(let[t,n]of this.getItemsByProvider())n.length>0&&n[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;let e=[],{leadingLineContent:t,characterCountDelta:n}=this._lineContext,r=``,i=``,a=this._refilterKind===1?this._items:this._filteredItems,o=[],s=!this._options.filterGraceful||a.length>2e3?Sr:c;for(let c=0;c<a.length;c++){let l=a[c];if(l.isInvalid)continue;let u=this._itemsByProvider.get(l.provider);u?u.push(l):this._itemsByProvider.set(l.provider,[l]);let d=l.position.column-l.editStart.column,f=d+n-(l.position.column-this._column);if(r.length!==f&&(r=f===0?``:t.slice(-f),i=r.toLowerCase()),l.word=r,f===0)l.score=Jt.Default;else{let e=0;for(;e<d;){let t=r.charCodeAt(e);if(t===32||t===9)e+=1;else break}if(e>=f)l.score=Jt.Default;else if(typeof l.completion.filterText==`string`){let t=s(r,i,e,l.completion.filterText,l.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;_e(l.completion.filterText,l.textLabel)===0?l.score=t:(l.score=Ji(r,i,e,l.textLabel,l.labelLow,0),l.score[0]=t[0])}else{let t=s(r,i,e,l.textLabel,l.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;l.score=t}}l.idx=c,l.distance=this._wordDistance.distance(l.position,l.completion),o.push(l),e.push(l.textLabel.length)}this._filteredItems=o.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Wu(e.length-.85,e,(e,t)=>e-t):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:+(e.idx>t.idx)}static _compareCompletionItemsSnippetsDown(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return 1;if(n.completion.kind===28)return-1}return e._compareCompletionItems(t,n)}static _compareCompletionItemsSnippetsUp(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return-1;if(n.completion.kind===28)return 1}return e._compareCompletionItems(t,n)}},ej,tj=class e{async provideSelectionRanges(t,n){let r=[];for(let i of n){let n=[];r.push(n);let a=new Map;await new Promise(n=>e._bracketsRightYield(n,0,t,i,a)),await new Promise(r=>e._bracketsLeftYield(r,0,t,i,a,n))}return r}static _bracketsRightYield(t,n,r,i,a){let o=new Map,s=Date.now();for(;;){if(n>=e._maxRounds){t();break}if(!i){t();break}let c=r.bracketPairs.findNextBracket(i);if(!c){t();break}if(Date.now()-s>e._maxDuration){setTimeout(()=>e._bracketsRightYield(t,n+1,r,i,a));break}if(c.bracketInfo.isOpeningBracket){let e=c.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{let e=c.bracketInfo.getOpeningBrackets()[0].bracketText,t=o.has(e)?o.get(e):0;if(--t,o.set(e,Math.max(0,t)),t<0){let t=a.get(e);t||(t=new Lu,a.set(e,t)),t.push(c.range)}}i=c.range.getEndPosition()}}static _bracketsLeftYield(t,n,r,i,a,o){let s=new Map,c=Date.now();for(;;){if(n>=e._maxRounds&&a.size===0){t();break}if(!i){t();break}let l=r.bracketPairs.findPrevBracket(i);if(!l){t();break}if(Date.now()-c>e._maxDuration){setTimeout(()=>e._bracketsLeftYield(t,n+1,r,i,a,o));break}if(l.bracketInfo.isOpeningBracket){let t=l.bracketInfo.bracketText,n=s.has(t)?s.get(t):0;if(--n,s.set(t,Math.max(0,n)),n<0){let n=a.get(t);if(n){let i=n.shift();n.size===0&&a.delete(t);let s=S.fromPositions(l.range.getEndPosition(),i.getStartPosition()),c=S.fromPositions(l.range.getStartPosition(),i.getEndPosition());o.push({range:s}),o.push({range:c}),e._addBracketLeading(r,c,o)}}}else{let e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}i=l.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;let r=t.startLineNumber,i=e.getLineFirstNonWhitespaceColumn(r);i!==0&&i!==t.startColumn&&(n.push({range:S.fromPositions(new k(r,i),t.getEndPosition())}),n.push({range:S.fromPositions(new k(r,1),t.getEndPosition())}));let a=r-1;if(a>0){let r=e.getLineFirstNonWhitespaceColumn(a);r===t.startColumn&&r!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:S.fromPositions(new k(a,r),t.getEndPosition())}),n.push({range:S.fromPositions(new k(a,1),t.getEndPosition())}))}}};ej=tj,ej._maxDuration=30,ej._maxRounds=2;var nj,rj=class e{static async create(t,n){if(!n.getOption(134).localityBonus||!n.hasModel())return e.None;let r=n.getModel(),i=n.getPosition();if(!t.canComputeWordRanges(r.uri))return e.None;let[a]=await new tj().provideSelectionRanges(r,[i]);if(a.length===0)return e.None;let o=await t.computeWordRanges(r.uri,a[0].range);if(!o)return e.None;let s=r.getWordUntilPosition(i);return delete o[s.word],new class extends e{distance(e,t){if(!i.equals(n.getPosition()))return 0;if(t.kind===17)return 2<<20;let r=typeof t.label==`string`?t.label:t.label.label,s=o[r];if(Za(s))return 2<<20;let c=wo(s,S.fromPositions(e),S.compareRangesUsingStarts),l=c>=0?s[c]:s[Math.max(0,~c-1)],u=a.length;for(let e of a){if(!S.containsRange(e.range,l))break;--u}return u}}}};nj=rj,nj.None=new class extends nj{distance(){return 0}};var ij=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},aj=function(e,t){return function(n,r){t(n,r,e)}},oj,sj=class{static shouldAutoTrigger(e){if(!e.hasModel())return!1;let t=e.getModel(),n=e.getPosition();t.tokenization.tokenizeIfCheap(n.lineNumber);let r=t.getWordAtPosition(n);return!(!r||r.endColumn!==n.column&&r.startColumn+1!==n.column||!isNaN(Number(r.word)))}constructor(e,t,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=n}};function cj(e,t,n){if(!t.getContextKeyValue(zT.inlineSuggestionVisible.key))return!0;let r=t.getContextKeyValue(zT.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}function lj(e,t,n){if(!t.getContextKeyValue(`inlineSuggestionVisible`))return!0;let r=t.getContextKeyValue(zT.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}var uj=oj=class{constructor(e,t,n,r,i,a,o,s,c){this._editor=e,this._editorWorkerService=t,this._clipboardService=n,this._telemetryService=r,this._logService=i,this._contextKeyService=a,this._configurationService=o,this._languageFeaturesService=s,this._envService=c,this._toDispose=new b,this._triggerCharacterListener=new b,this._triggerQuickSuggest=new to,this._triggerState=void 0,this._completionDisposables=new b,this._onDidCancel=new B,this._onDidTrigger=new B,this._onDidSuggest=new B,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new j(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let l=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{l=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{l=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{l||this._onCursorChange(e)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!l&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){_(this._triggerCharacterListener),_([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._waitForInlineCompletions?.dispose(),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(104)||!this._editor.hasModel()||!this._editor.getOption(137))return;let e=new Map;for(let t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let n of t.triggerCharacters||[]){let r=e.get(n);r||(r=new Set,e.set(n,r)),r.add(t)}let t=t=>{if(!lj(this._editor,this._contextKeyService,this._configurationService)||sj.shouldAutoTrigger(this._editor))return;if(!t){let e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let n=``;Qi(t.charCodeAt(t.length-1))?sa(t.charCodeAt(t.length-2))&&(n=t.substr(t.length-2)):n=t.charAt(t.length-1);let r=e.get(n);if(r){let e=new Map;if(this._completionModel)for(let[t,n]of this._completionModel.getItemsByProvider())r.has(t)||e.set(t,n);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:r,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){this._triggerQuickSuggest.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerState!==void 0&&(this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;let t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!==`keyboard`&&e.source!==`deleteLeft`){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){LT.isAllOff(this._editor.getOption(102))||this._editor.getOption(134).snippetsPreventQuickSuggestions&&tO.get(this._editor)?.isInSnippet()||(this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!sj.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(102);if(LT.isAllOff(n))return;let r=!1;if(!LT.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);let i=e.tokenization.getLineTokens(t.lineNumber),a=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(t.column-1-1,0))),o=LT.valueFor(n,a);if(o===`off`||o===`inline`)return;o===`offWhenInlineCompletions`&&(r=this._languageFeaturesService.inlineCompletionsProvider.has(e)&&this._editor.getOption(71).enabled)}cj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&(r?this._waitForInlineCompletionsAndTrigger(e,t):this.trigger({auto:!0}))},this._editor.getOption(103)))}_waitForInlineCompletionsAndTrigger(e,t){let n=e.getVersionId(),r=yA(this._editor),i=r?.model.get();if(!r||!i){this.trigger({auto:!0});return}if(i.state.get()?.inlineSuggestion)return;let a=new b;this._waitForInlineCompletions=a;let o=r=>{if(a.dispose(),this._waitForInlineCompletions===a&&(this._waitForInlineCompletions=void 0),this._triggerState!==void 0||!r)return;let i=this._editor.getModel(),o=this._editor.getPosition();i===e&&i.getVersionId()===n&&o?.equals(t)&&this._editor.hasWidgetFocus()&&this.trigger({auto:!0})};ho(()=>{o(!0),i.stop(`automatic`)},750,a),a.add(E(e=>{if(r.model.read(e)!==i){o(!1);return}let t=i.status.read(e),n=i.state.read(e);!n&&t===`loading`||o(!n)}))}_refilterCompletionItems(){Gi(this._editor.hasModel()),Gi(this._triggerState!==void 0);let e=new sj(this._editor.getModel(),this._editor.getPosition(),{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=new sj(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=n;let r={triggerKind:e.triggerKind??0};e.triggerCharacter&&(r={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Eu;let i=this._editor.getOption(128),a=1;switch(i){case`top`:a=0;break;case`bottom`:a=2}let{itemKind:o,showDeprecated:s}=oj.createSuggestFilter(this._editor),c=new OT(a,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,s),l=rj.create(this._editorWorkerService,this._editor),u=AT(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),c,r,this._requestToken.token);Promise.all([u,l]).then(async([t,n])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){t.disposable.dispose();return}let r=e?.clipboardText;if(!r&&t.needsClipboard&&(r=await this._clipboardService.readText()),this._triggerState===void 0){t.disposable.dispose();return}let i=new sj(this._editor.getModel(),this._editor.getPosition(),e),a={...ra.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new $A(t.items,this._context.column,{leadingLineContent:i.leadingLineContent,characterCountDelta:i.column-this._context.column},n,this._editor.getOption(134),this._editor.getOption(128),a,r),this._completionDisposables.add(t.disposable),this._onNewContext(i),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(let e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)}).catch(il)}_reportDurationsTelemetry(e){Math.random()>1e-4||setTimeout(()=>{this._telemetryService.publicLog2(`suggest.durations.json`,{data:JSON.stringify(e)}),this._logService.debug(`suggest.durations.json`,e)})}static createSuggestFilter(e){let t=new Set;e.getOption(128)===`none`&&t.add(28);let n=e.getOption(134);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(28),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(un(e.leadingLineContent)!==un(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(sj.shouldAutoTrigger(this._editor)&&this._context){let e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){let e=new Map,t=new Set;for(let[n,r]of this._completionModel.getItemsByProvider())r.length>0&&r[0].container.incomplete?t.add(n):e.set(n,r);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{let t=this._completionModel.lineContext,n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){let r=sj.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}if(this._completionModel.lineContext=t,n=this._completionModel.items.length>0,n&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}}}};uj=oj=ij([aj(1,ia),aj(2,we),aj(3,Tu),aj(4,$l),aj(5,Ls),aj(6,Ea),aj(7,U),aj(8,Mu)],uj);var dj,fj=class e{constructor(t,n){this._disposables=new b,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType(()=>{if(this._locked||!t.hasModel())return;let n=t.getSelections(),r=n.length,i=!1;for(let e=0;e<r;e++)if(!n[e].isEmpty()){i=!0;break}if(!i){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];let a=t.getModel();for(let t=0;t<r;t++){let r=n[t];if(a.getValueLengthInRange(r)>e._maxSelectionLength)return;this._lastOvertyped[t]={value:a.getValueInRange(r),multiline:r.startLineNumber!==r.endLineNumber}}})),this._disposables.add(n.onDidTrigger(e=>{this._locked=!0})),this._disposables.add(n.onDidCancel(e=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};dj=fj,dj._maxSelectionLength=51200;var pj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},mj=function(e,t){return function(n,r){t(n,r,e)}},hj=class{constructor(e,t,n,r,i,a){this._menuId=t,this._menuService=i,this._contextKeyService=a,this._menuDisposables=new b,this.element=z(e,N(`.suggest-status-bar`));let o=(e=>n?.showIconsNoKeybindings?e instanceof Hr?r.createInstance(Ic,e,void 0):void 0:e instanceof Hr?r.createInstance(Ml,e,{useComma:!1}):void 0);this._leftActions=new Bn(this.element,{actionViewItemProvider:o}),this._rightActions=new Bn(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add(`left`),this._rightActions.domNode.classList.add(`right`)}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){let e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{let t=[],n=[];for(let[r,i]of e.getActions())r===`left`?t.push(...i):n.push(...i);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};hj=pj([mj(3,x),mj(4,Ua),mj(5,Ls)],hj);var gj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_j=function(e,t){return function(n,r){t(n,r,e)}};function vj(e){return!!e&&!!(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}var yj=class{constructor(e,t,n){this._editor=e,this._themeService=t,this._markdownRendererService=n,this._onDidClose=new B,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new B,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new b,this._renderDisposeable=new b,this._size=new Wi(330,0),this.domNode=N(`.suggest-details`),this.domNode.classList.add(`no-docs`),this._body=N(`.body`),this._scrollbar=new Du(this._body,{alwaysConsumeMouseWheel:!0}),z(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=z(this._body,N(`.header`)),this._close=z(this._header,N(`span`+tt.asCSSSelector(w.close))),this._close.title=R(1542,`Close`),this._close.role=`button`,this._close.tabIndex=-1,this._type=z(this._header,N(`p.type`)),this._docs=z(this._body,N(`p.docs`)),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){let e=this._editor.getOptions(),t=e.get(59),n=t.getMassagedFontFamily(),r=e.get(135)||t.fontSize,i=e.get(136)||t.lineHeight,a=t.fontWeight,o=`${r}px`,s=`${i}px`;this.domNode.style.fontSize=o,this.domNode.style.lineHeight=`${i/r}`,this.domNode.style.fontWeight=a,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=s,this._close.style.width=s}getLayoutInfo(){let e=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,t=ti(this._themeService.getColorTheme().type)?2:1;return{lineHeight:e,borderWidth:t,borderHeight:t*2,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=R(1543,`Loading...`),this._docs.textContent=``,this.domNode.classList.remove(`no-docs`,`no-type`),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:n,documentation:r}=e.completion;if(t){let t=``;t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??`(no prefix)`}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+` (filterText)`:e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||`label`}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join(``)}\n`,r=new mi().appendCodeblock(`empty`,t),n=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!vj(e)){this.clearContents();return}if(this.domNode.classList.remove(`no-docs`,`no-type`),n){let e=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=e,this._type.title=e,Qs(this._type),this._type.classList.toggle(`auto-wrap`,!/\r?\n^\s+/gim.test(e))}else qc(this._type),this._type.title=``,sd(this._type),this.domNode.classList.add(`no-type`);if(qc(this._docs),typeof r==`string`)this._docs.classList.remove(`markdown-docs`),this._docs.textContent=r;else if(r){this._docs.classList.add(`markdown-docs`),qc(this._docs);let e=this._markdownRendererService.render(r,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(e.element),this._renderDisposeable.add(e)}this.domNode.classList.toggle(`detail-and-doc`,!!n&&!!r),this.domNode.style.userSelect=`text`,this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add(`no-docs`),this._type.textContent=``,this._docs.textContent=``}get isEmpty(){return this.domNode.classList.contains(`no-docs`)}get size(){return this._size}layout(e,t){let n=new Wi(e,t);Wi.equals(n,this._size)||(this._size=n,y(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};yj=gj([_j(1,nu),_j(2,lt)],yj);var bj=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new b,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new Mg,this._resizable.domNode.classList.add(`suggest-details-container`),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n,r,i=0,a=0;this._disposables.add(this._resizable.onDidWillResize(()=>{n=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(e=>{if(n&&r){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(a=r.width-e.dimension.width,t=!0),e.north&&(i=r.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:n.top+i,left:n.left+a})}e.done&&(n=void 0,r=void 0,i=0,a=0,this._userSize=e.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return`suggest.details`}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||=(this._editor.addOverlayWidget(this),!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){let n=e.getBoundingClientRect();this._anchorBox=n,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,n){let r=gu(this.getDomNode().ownerDocument.body),i=this.widget.getLayoutInfo(),a=new Wi(220,2*i.lineHeight),o=e.top,s=(function(){let n=r.width-(e.left+e.width+i.borderWidth+i.horizontalPadding),s=-i.borderWidth+e.left+e.width,c=new Wi(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),c=(function(){let n=e.left-i.borderWidth-i.horizontalPadding,s=Math.max(i.horizontalPadding,e.left-t.width-i.borderWidth),c=new Wi(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),l=(function(){let n=e.left,o=-i.borderWidth+e.top+e.height,s=new Wi(e.width-i.borderHeight,r.height-e.top-e.height-i.verticalPadding);return{top:o,left:n,fit:s.height-t.height,maxSizeBottom:s,maxSizeTop:s,minSize:a.with(s.width)}})(),u=(function(){let n=e.left,r=new Wi(e.width-i.borderHeight,e.top-i.verticalPadding);return{top:Math.max(i.verticalPadding,e.top-t.height),left:n,fit:r.height-t.height,maxSizeTop:r,maxSizeBottom:r,minSize:a.with(r.width)}})(),d=[s,c,n?l:u],f=d.find(e=>e.fit>=0)??d.sort((e,t)=>t.fit-e.fit)[0],p=e.top+e.height-i.borderHeight,m,h=t.height,g=Math.max(f.maxSizeTop.height,f.maxSizeBottom.height);h>g&&(h=g);let _;n?h<=f.maxSizeTop.height?(m=!0,_=f.maxSizeTop):(m=!1,_=f.maxSizeBottom):h<=f.maxSizeBottom.height?(m=!1,_=f.maxSizeBottom):(m=!0,_=f.maxSizeTop);let{top:v,left:y}=f;f===u?v=e.top-h+i.borderWidth:!m&&h>e.height&&(v=p-h);let ee=this._editor.getDomNode();if(ee){let e=ee.getBoundingClientRect();v-=e.top,y-=e.left}this._applyTopLeft({left:y,top:v}),f===u?this._resizable.enableSashes(!0,!1,!1,!0):this._resizable.enableSashes(!m,f===s,m,f!==s),this._resizable.minSize=f.minSize,this._resizable.maxSize=_,this._resizable.layout(h,Math.min(_.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}},xj=tn(`fileService`),Sj;(function(e){e[e.FILE=0]=`FILE`,e[e.FOLDER=1]=`FOLDER`,e[e.ROOT_FOLDER=2]=`ROOT_FOLDER`})(Sj||={});var Cj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function wj(e,t,n,r,i){if(tt.isThemeIcon(i))return[`codicon-${i.id}`,`predefined-file-icon`];if(Nn.isUri(i))return[];let a=r===Sj.ROOT_FOLDER?[`rootfolder-icon`]:r===Sj.FOLDER?[`folder-icon`]:[`file-icon`];if(n){let i;if(n.scheme===ic.data)i=ja.parseMetaData(n).get(ja.META_DATA_LABEL);else{let e=n.path.match(Cj);e?(i=Ej(e[2].toLowerCase()),e[1]&&a.push(`${Ej(e[1].toLowerCase())}-name-dir-icon`)):i=Ej(n.authority.toLowerCase())}if(r===Sj.ROOT_FOLDER)a.push(`${i}-root-name-folder-icon`);else if(r===Sj.FOLDER)a.push(`${i}-name-folder-icon`);else{if(i){if(a.push(`${i}-name-file-icon`),a.push(`name-file-icon`),i.length<=255){let e=i.split(`.`);for(let t=1;t<e.length;t++)a.push(`${e.slice(t).join(`.`)}-ext-file-icon`)}a.push(`ext-file-icon`)}let r=Tj(e,t,n);r&&a.push(`${Ej(r)}-lang-file-icon`)}}return a}function Tj(e,t,n){if(!n)return null;let r=null;if(n.scheme===ic.data){let e=ja.parseMetaData(n).get(ja.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{let t=e.getModel(n);t&&(r=t.getLanguageId())}return r&&r!==`plaintext`?r:t.guessLanguageIdByFilepathOrFirstLine(n)}function Ej(e){return e.replace(/[\s]/g,`/`)}var Dj,Oj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kj=function(e,t){return function(n,r){t(n,r,e)}},Aj=$s(`suggest-more-info`,w.chevronRight,R(1544,`Icon for more information in the suggest widget.`)),jj=new(Dj=class e{extract(t,n){if(t.textLabel.match(e._regexStrict))return n[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return n[0]=t.completion.detail,!0;if(t.completion.documentation){let r=typeof t.completion.documentation==`string`?t.completion.documentation:t.completion.documentation.value,i=e._regexRelaxed.exec(r);if(i&&(i.index===0||i.index+i[0].length===r.length))return n[0]=i[0],!0}return!1}},Dj._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Dj._regexStrict=RegExp(`^${Dj._regexRelaxed.source}$`,`i`),Dj),Mj=class{constructor(e,t,n,r){this._editor=e,this._modelService=t,this._languageService=n,this._themeService=r,this._onDidToggleDetails=new B,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId=`suggestion`}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){let t=new b,n=e;n.classList.add(`show-file-icons`);let r=z(e,N(`.icon`)),i=z(r,N(`span.colorspan`)),a=z(e,N(`.contents`)),o=z(a,N(`.main`)),s=z(o,N(`.icon-label.codicon`)),c=z(o,N(`span.left`)),l=z(o,N(`span.right`)),u=new St(c,{supportHighlights:!0,supportIcons:!0});t.add(u);let d=z(c,N(`span.signature-label`)),f=z(c,N(`span.qualifier-label`)),p=z(l,N(`span.details-label`)),m=z(l,N(`span.readMore`+tt.asCSSSelector(Aj)));return m.title=R(1545,`Read More`),{root:n,left:c,right:l,icon:r,colorspan:i,iconLabel:u,iconContainer:s,parametersLabel:d,qualifierLabel:f,detailsLabel:p,readMore:m,disposables:t,configureFont:()=>{let e=this._editor.getOptions(),t=e.get(59),i=t.getMassagedFontFamily(),a=t.fontFeatureSettings,s=t.fontVariationSettings,c=e.get(135)||t.fontSize,l=e.get(136)||t.lineHeight,u=t.fontWeight,d=t.letterSpacing,f=`${c}px`,p=`${l}px`,h=`${d}px`;n.style.fontSize=f,n.style.fontWeight=u,n.style.letterSpacing=h,o.style.fontFamily=i,o.style.fontFeatureSettings=a,o.style.fontVariationSettings=s,o.style.lineHeight=p,r.style.height=p,r.style.width=p,m.style.height=p,m.style.width=p}}}renderElement(e,t,n){n.configureFont();let{completion:r}=e;n.colorspan.style.backgroundColor=``;let i={labelEscapeNewLines:!0,matches:ma(e.score)},a=[];if(r.kind===19&&jj.extract(e,a))n.icon.className=`icon customcolor`,n.iconContainer.className=`icon hide`,n.colorspan.style.backgroundColor=a[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`;let t=wj(this._modelService,this._languageService,Nn.from({scheme:`fake`,path:e.textLabel}),Sj.FILE),a=wj(this._modelService,this._languageService,Nn.from({scheme:`fake`,path:r.detail}),Sj.FILE);i.extraClasses=t.length>a.length?t:a}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`,i.extraClasses=[wj(this._modelService,this._languageService,Nn.from({scheme:`fake`,path:e.textLabel}),Sj.FOLDER),wj(this._modelService,this._languageService,Nn.from({scheme:`fake`,path:r.detail}),Sj.FOLDER)].flat()):(n.icon.className=`icon hide`,n.iconContainer.className=``,n.iconContainer.classList.add(`suggest-icon`,...tt.asClassNameArray(ec.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(i.extraClasses=(i.extraClasses||[]).concat([`deprecated`]),i.matches=[]),n.iconLabel.setLabel(e.textLabel,void 0,i),typeof r.label==`string`?(n.parametersLabel.textContent=``,n.detailsLabel.textContent=Nj(r.detail||``),n.root.classList.add(`string-label`)):(n.parametersLabel.textContent=Nj(r.label.detail||``),n.detailsLabel.textContent=Nj(r.label.description||``),n.root.classList.remove(`string-label`)),this._editor.getOption(134).showInlineDetails?Qs(n.detailsLabel):sd(n.detailsLabel),vj(e)?(n.right.classList.add(`can-expand-details`),Qs(n.readMore),n.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},n.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(n.right.classList.remove(`can-expand-details`),sd(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};Mj=Oj([kj(1,wt),kj(2,os),kj(3,nu)],Mj);function Nj(e){return e.replace(/\r\n|\r|\n/g,``)}var Pj,Fj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ij=function(e,t){return function(n,r){t(n,r,e)}},Lj;C(`editorSuggestWidget.background`,Ku,R(1525,`Background color of the suggest widget.`)),C(`editorSuggestWidget.border`,Vr,R(1526,`Border color of the suggest widget.`));var Rj=C(`editorSuggestWidget.foreground`,Aa,R(1527,`Foreground color of the suggest widget.`));C(`editorSuggestWidget.selectedForeground`,En,R(1528,`Foreground color of the selected entry in the suggest widget.`)),C(`editorSuggestWidget.selectedIconForeground`,Rn,R(1529,`Icon foreground color of the selected entry in the suggest widget.`));var zj=C(`editorSuggestWidget.selectedBackground`,zs,R(1530,`Background color of the selected entry in the suggest widget.`));C(`editorSuggestWidget.highlightForeground`,Pi,R(1531,`Color of the match highlights in the suggest widget.`)),C(`editorSuggestWidget.focusHighlightForeground`,fi,R(1532,`Color of the match highlights in the suggest widget when an item is focused.`)),C(`editorSuggestWidgetStatus.foreground`,fn(Rj,.5),R(1533,`Foreground color of the suggest widget status.`));var Bj=class{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof yy}`}restore(){let e=this._service.get(this._key,0)??``;try{let t=JSON.parse(e);if(Wi.is(t))return Wi.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}},Vj=(Pj=class{constructor(e,t,n,r,i){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._loadingTimeout=new Ne,this._pendingLayout=new Ne,this._pendingShowDetails=new Ne,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new to,this._disposables=new b,this._onDidSelect=new Ur,this._onDidFocus=new Ur,this._onDidHide=new B,this._onDidShow=new B,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new B,this.element=new Mg,this.element.domNode.classList.add(`editor-widget`,`suggest-widget`),this._contentWidget=new Hj(this,e),this._persistedSize=new Bj(t,e);class a{constructor(e,t,n=!1,r=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=n,this.persistWidth=r}}let o;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),o=new a(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(e=>{if(this._resize(e.dimension.width,e.dimension.height),o&&(o.persistHeight=o.persistHeight||!!e.north||!!e.south,o.persistWidth=o.persistWidth||!!e.east||!!e.west),e.done){if(o){let{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),n=Math.round(e/2),{width:r,height:i}=this.element.size;(!o.persistHeight||Math.abs(o.currentSize.height-i)<=n)&&(i=o.persistedSize?.height??t.height),(!o.persistWidth||Math.abs(o.currentSize.width-r)<=n)&&(r=o.persistedSize?.width??t.width),this._persistedSize.store(new Wi(r,i))}this._contentWidget.unlockPreference(),o=void 0}})),this._messageElement=z(this.element.domNode,N(`.message`)),this._listElement=z(this.element.domNode,N(`.tree`));let s=this._disposables.add(i.createInstance(yj,this.editor));s.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new bj(s,this.editor);let c=()=>this.element.domNode.classList.toggle(`no-icons`,!this.editor.getOption(134).showIcons);c();let l=i.createInstance(Mj,this.editor);this._disposables.add(l),this._disposables.add(l.onDidToggleDetails(()=>this.toggleDetails())),this._list=new at(`SuggestWidget`,this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>`suggestion`},[l],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>nn?`listitem`:`option`,getWidgetAriaLabel:()=>R(1536,`Suggest`),getWidgetRole:()=>`listbox`,getAriaLabel:e=>{let t=e.textLabel,n=ec.toLabel(e.completion.kind);if(typeof e.completion.label!=`string`){let{detail:r,description:i}=e.completion.label;r&&i?t=R(1537,`{0} {1}, {2}, {3}`,t,r,i,n):r?t=R(1538,`{0} {1}, {2}`,t,r,n):i&&(t=R(1539,`{0}, {1}, {2}`,t,i,n))}else t=R(1540,`{0}, {1}`,t,n);if(!e.isResolved||!this._isDetailsVisible())return t;let{documentation:r,detail:i}=e.completion,a=xt(`{0}{1}`,i||``,r?typeof r==`string`?r:r.value:``);return R(1541,`{0}, docs: {1}`,t,a)}}}),this._list.style(Wo({listInactiveFocusBackground:zj,listInactiveFocusOutline:qn})),this._status=i.createInstance(hj,this.element.domNode,ET,void 0);let u=()=>this.element.domNode.classList.toggle(`with-status-bar`,this.editor.getOption(134).showStatusBar);u(),this._disposables.add(this._list.onMouseDown(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onTap(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onDidChangeSelection(e=>this._onListSelection(e))),this._disposables.add(this._list.onDidChangeFocus(e=>this._onListFocus(e))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(e=>{e.hasChanged(134)&&(u(),c()),this._completionModel&&(e.hasChanged(59)||e.hasChanged(135)||e.hasChanged(136))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=J.Visible.bindTo(n),this._ctxSuggestWidgetDetailsVisible=J.DetailsVisible.bindTo(n),this._ctxSuggestWidgetMultipleSuggestions=J.MultipleSuggestions.bindTo(n),this._ctxSuggestWidgetHasFocusedSuggestion=J.HasFocusedSuggestion.bindTo(n),this._ctxSuggestWidgetDetailsFocused=J.DetailsFocused.bindTo(n);let d=Bs(this._details.widget.domNode);this._disposables.add(d),this._disposables.add(d.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(d.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(Os(this._details.widget.domNode,`keydown`,e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidHide.dispose(),this._onDidShow.dispose(),this._onDetailsKeydown.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){e.element!==void 0&&e.index!==void 0&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){let n=this._completionModel;n&&(this._onDidSelect.fire({item:e,index:t,model:n}),this.editor.focus())}_onListFocus(e){if(this._ignoreFocusEvents)return;if(this._state===5&&this._setState(3),!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);let t=e.elements[0],n=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(n),this._currentSuggestionDetails=pu(async e=>{let n=ho(()=>{this._isDetailsVisible()&&this._showDetails(!0,!1)},250),r=e.onCancellationRequested(()=>n.dispose());try{return await t.resolve(e)}finally{n.dispose(),r.dispose()}}),this._currentSuggestionDetails.then(()=>{n>=this._list.length||t!==this._list.element(n)||(this._ignoreFocusEvents=!0,this._list.splice(n,1,[t]),this._list.setFocus([n]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this._showDetails(!1,!1):this.element.domNode.classList.remove(`docs-side`),this.editor.setAriaOptions({activeDescendant:this._list.getElementID(n)}))}).catch(il)),this._onDidFocus.fire({item:t,index:n,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle(`frozen`,e===4),this.element.domNode.classList.remove(`message`),e){case 0:sd(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove(`visible`),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add(`message`),this._messageElement.textContent=Lj.LOADING_MESSAGE,sd(this._listElement,this._status.element),Qs(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Wt(Lj.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add(`message`),this._messageElement.textContent=Lj.NO_SUGGESTIONS_MESSAGE,sd(this._listElement,this._status.element),Qs(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Wt(Lj.NO_SUGGESTIONS_MESSAGE);break;case 3:sd(this._messageElement),Qs(this._listElement,this._status.element),this._show();break;case 4:sd(this._messageElement),Qs(this._listElement,this._status.element),this._show();break;case 5:sd(this._messageElement),Qs(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add(`visible`),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout.value=ho(()=>this._setState(1),t)))}showSuggestions(e,t,n,r,i){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&this._state!==2&&this._state!==0){this._setState(4);return}let a=this._completionModel.items.length,o=a===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(a>1),o){this._setState(r?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0,t===0?0:this.getLayoutInfo().itemHeight*.33),this._list.setFocus(i?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Ke(Sa(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove(`focused`)})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._list.setFocus(this._list.getFocus()),this._setState(3)):this._state===3&&(this._setState(5),this._isDetailsVisible()?this._details.widget.focus():this.toggleDetails(!0))}toggleDetails(e=!1){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove(`shows-details`)):(vj(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this._showDetails(!1,e))}_showDetails(e,t){this._pendingShowDetails.value=Ke(Sa(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let n=!1;e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add(`shows-details`),t&&(this._details.widget.focus(),n=!0)),n||this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this._showDetails(!1,!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout.clear(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();let e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state!==2&&this._state!==1&&(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){if(!this.editor.hasModel()||!this.editor.getDomNode())return;let t=gu(this.element.domNode.ownerDocument.body),n=this.getLayoutInfo();e||=n.defaultSize;let r=e.height,i=e.width;if(this._status.element.style.height=`${n.itemHeight}px`,this._state===2||this._state===1)r=n.itemHeight+n.borderHeight,i=n.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Wi(i,r),this._contentWidget.setPreference(2);else{let a=t.width-n.borderHeight-2*n.horizontalPadding;i>a&&(i=a);let o=this._completionModel?this._completionModel.stats.pLabelLen*n.typicalHalfwidthCharacterWidth:i,s=n.statusBarHeight+this._list.contentHeight+n.borderHeight,c=n.itemHeight+n.statusBarHeight,l=Uo(this.editor.getDomNode()),u=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),d=l.top+u.top+u.height,f=Math.min(t.height-d-n.verticalPadding,s),p=l.top+u.top-n.verticalPadding,m=Math.min(p,s),h=Math.min(Math.max(m,f)+n.borderHeight,s);r===this._cappedHeight?.capped&&(r=this._cappedHeight.wanted),r<c&&(r=c),r>h&&(r=h),r>f&&m>f||this._forceRenderingAbove&&p>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),h=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),h=f),this.element.preferredSize=new Wi(o,n.defaultSize.height),this.element.maxSize=new Wi(a,h),this.element.minSize=new Wi(220,c),this._cappedHeight=r===s?{wanted:this._cappedHeight?.wanted??e.height,capped:r}:void 0}this._resize(i,r)}_resize(e,t){let{width:n,height:r}=this.element.maxSize;e=Math.min(n,e),t=Math.min(r,t);let{statusBarHeight:i}=this.getLayoutInfo();this._list.layout(t-i,e),this._listElement.style.height=`${t-i}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}getLayoutInfo(){let e=this.editor.getOption(59),t=Lt(this.editor.getOption(136)||e.lineHeight,8,1e3),n=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.getLayoutInfo().borderWidth;return{itemHeight:t,statusBarHeight:n,borderWidth:r,borderHeight:2*r,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Wi(430,n+12*t)}}_isDetailsVisible(){return this._storageService.getBoolean(`expandSuggestionDocs`,0,!1)}_setDetailsVisible(e){this._storageService.store(`expandSuggestionDocs`,e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},Lj=Pj,Pj.LOADING_MESSAGE=R(1534,`Loading...`),Pj.NO_SUGGESTIONS_MESSAGE=R(1535,`No suggestions.`),Pj);Vj=Lj=Fj([Ij(1,sl),Ij(2,Ls),Ij(3,nu),Ij(4,x)],Vj);var Hj=class{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return`editor.widget.suggestWidget`}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){let{height:e,width:t}=this._widget.element.size,{borderWidth:n,horizontalPadding:r}=this._widget.getLayoutInfo();return new Wi(t+2*n+r,e+2*n)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}},Uj,Wj,Gj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kj=function(e,t){return function(n,r){t(n,r,e)}},qj,Jj=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=G.register({description:`suggest-line-suffix`,stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){let n=e.getOffsetAt(t),r=e.getPositionAt(n+1);e.changeDecorations(e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(S.fromPositions(t,r),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){let t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}},Yj=(Uj=class{static get(e){return e.getContribution(qj.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(e,t,n,r,i,a,o){this._memoryService=t,this._commandService=n,this._contextKeyService=r,this._instantiationService=i,this._logService=a,this._telemetryService=o,this._lineSuffix=new Ne,this._toDispose=new b,this._selectors=new Xj(e=>e.priority),this._onWillInsertSuggestItem=new B,this._wantsForceRenderingAbove=!1,this.editor=e,this.model=i.createInstance(uj,this.editor),this._selectors.register({priority:0,select:(e,t,n)=>this._memoryService.select(e,t,n)});let s=J.InsertMode.bindTo(r);s.set(e.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>s.set(e.getOption(134).insertMode))),this.widget=this._toDispose.add(new Ao(Sa(e.getDomNode()),()=>{let e=this._instantiationService.createInstance(Vj,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));let t=new ZA(this.editor,e,this.model,e=>this._insertSuggestion(e,2));this._toDispose.add(t);let n=J.MakesTextEdit.bindTo(this._contextKeyService),r=J.HasInsertAndReplaceRange.bindTo(this._contextKeyService),i=J.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Tn(()=>{n.reset(),r.reset(),i.reset()})),this._toDispose.add(e.onDidFocus(({item:e})=>{let t=this.editor.getPosition(),a=e.editStart.column,o=t.column,s=!0;this.editor.getOption(1)===`smart`&&this.model.state===2&&!e.completion.additionalTextEdits&&!(e.completion.insertTextRules&4)&&o-a===e.completion.insertText.length&&(s=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:a,endLineNumber:t.lineNumber,endColumn:o})!==e.completion.insertText),n.set(s),r.set(!k.equals(e.editInsertEnd,e.editReplaceEnd)),i.set(!!e.provider.resolveCompletionItem||!!e.completion.documentation||e.completion.detail!==e.completion.label)})),this._wantsForceRenderingAbove&&e.forceRenderingAbove(),e})),this._overtypingCapturer=this._toDispose.add(new Ao(Sa(e.getDomNode()),()=>this._toDispose.add(new fj(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Ao(Sa(e.getDomNode()),()=>this._toDispose.add(new XA(this.editor,this._contextKeyService)))),this._toDispose.add(i.createInstance(GA,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new Jj(this.editor.getModel(),e.position)})),this._toDispose.add(this.model.onDidSuggest(e=>{if(e.triggerOptions.shy)return;let t=-1;for(let n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),t!==-1)break;if(t===-1&&(t=0),this.model.state===0)return;let n=!1;if(e.triggerOptions.auto){let t=this.editor.getOption(134);t.selectionMode===`never`||t.selectionMode===`always`?n=t.selectionMode===`never`:t.selectionMode===`whenTriggerCharacter`?n=e.triggerOptions.triggerKind!==1:t.selectionMode===`whenQuickSuggestion`&&(n=e.triggerOptions.triggerKind===1&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,n)})),this._toDispose.add(this.model.onDidCancel(e=>{e.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let c=J.AcceptSuggestionsOnEnter.bindTo(r),l=()=>{let e=this.editor.getOption(1);c.set(e===`on`||e===`smart`)};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>l())),l()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;let n=tO.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});let r=this.editor.getModel(),i=r.getAlternativeVersionId(),{item:a}=e,o=[],s=new Eu;t&1||this.editor.pushUndoStop();let c=this.getOverwriteInfo(a,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),a);let l=a.isResolved,u=-1,d=-1;if(Array.isArray(a.completion.additionalTextEdits)){this.model.cancel();let e=La.capture(this.editor);this.editor.executeEdits(`suggestController.additionalTextEdits.sync`,a.completion.additionalTextEdits.map(e=>{let t=S.lift(e.range);if(t.startLineNumber===a.position.lineNumber&&t.startColumn>a.position.column){let e=this.editor.getPosition().column-a.position.column,n=e,r=S.spansMultipleLines(t)?0:e;t=new S(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+r)}return Ns.replaceMove(t,e.text)})),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!l){let e=new xe,n,i=r.onDidChangeContent(e=>{if(e.isFlush){s.cancel(),i.dispose();return}for(let t of e.changes){let e=S.getEndPosition(t.range);(!n||k.isBefore(e,n))&&(n=e)}}),c=t;t|=2;let l=!1,u=this.editor.onWillType(()=>{u.dispose(),l=!0,c&2||this.editor.pushUndoStop()});o.push(a.resolve(s.token).then(()=>{if(!a.completion.additionalTextEdits||s.token.isCancellationRequested)return;if(n&&a.completion.additionalTextEdits.some(e=>k.isBefore(n,S.getStartPosition(e.range))))return!1;l&&this.editor.pushUndoStop();let e=La.capture(this.editor);return this.editor.executeEdits(`suggestController.additionalTextEdits.async`,a.completion.additionalTextEdits.map(e=>Ns.replaceMove(S.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),(l||!(c&2))&&this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace(`[suggest] async resolving of edits DONE (ms, applied?)`,e.elapsed(),t),d=t===!0?1:t===!1?0:-2}).finally(()=>{i.dispose(),u.dispose()}))}let{insertText:f}=a.completion;if(a.completion.insertTextRules&4||(f=Yf.escape(f)),this.model.cancel(),n.insert(f,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(a.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:Hn.suggest({providerId:pe.fromExtensionId(a.extensionId?.value)})}),t&2||this.editor.pushUndoStop(),a.completion.command){if(a.completion.command.id===Zj.id)this.model.trigger({auto:!0,retrigger:!0});else{let e=new xe;o.push(this._commandService.executeCommand(a.completion.command.id,...a.completion.command.arguments?[...a.completion.command.arguments]:[]).catch(e=>{a.completion.extensionId?xc(e):il(e)}).finally(()=>{u=e.elapsed()}))}}t&4&&this._alternatives.value.set(e,e=>{for(s.cancel();r.canUndo();){i!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(e,3|(t&8?8:0));break}}),this._alertCompletionItem(a),Promise.all(o).finally(()=>{this._reportSuggestionAcceptedTelemetry(a,r,l,u,d,e.index,e.model.items),this.model.clear(),s.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,n,r,i,a,o){if(Math.random()>1e-4)return;let s=new Map;for(let e=0;e<Math.min(30,o.length);e++){let t=o[e].textLabel;s.has(t)?s.get(t).push(e):s.set(t,[e])}let c=s.get(e.textLabel),l=c&&c.length>1?c[0]:-1;this._telemetryService.publicLog2(`suggest.acceptedSuggestion`,{extensionId:e.extensionId?.value??`unknown`,providerId:e.provider._debugDisplayName??`unknown`,kind:e.completion.kind,basenameHash:Ve(Uc(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:fu(t.uri),resolveInfo:e.provider.resolveCompletionItem?+!!n:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:i,index:a,firstIndex:l})}getOverwriteInfo(e,t){Gi(this.editor.hasModel());let n=this.editor.getOption(134).insertMode===`replace`;t&&(n=!n);let r=e.position.column-e.editStart.column,i=(n?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,a=this.editor.getPosition().column-e.position.column,o=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+a,overwriteAfter:i+o}}_alertCompletionItem(e){if(td(e.completion.additionalTextEdits)){let t=R(1514,`Accepting '{0}' made {1} additional edits`,e.textLabel,e.completion.additionalTextEdits.length);hl(t)}}triggerSuggest(e,t,n){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:n?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;let t=this.editor.getPosition(),n=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=e=>{if(e.completion.insertTextRules&4||e.completion.additionalTextEdits)return!0;let t=this.editor.getPosition(),n=e.editStart.column,r=t.column;return r-n!==e.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText};qu.once(this.model.onDidTrigger)(e=>{let t=[];qu.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{_(t),n()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(_(t),e.items.length===0){n();return}let i=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),a=e.items[i];if(!r(a)){n();return}this.editor.pushUndoStop(),this._insertSuggestion({index:i,item:a,model:e},7)},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){let n=this.widget.value.getFocusedItem(),r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(n,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.isInitialized?this.widget.value.forceRenderingAbove():this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){this.widget.isInitialized?this.widget.value.stopForceRenderingAbove():this._wantsForceRenderingAbove=!1}registerSelector(e){return this._selectors.register(e)}},qj=Uj,Uj.ID=`editor.contrib.suggestController`,Uj);Yj=qj=Gj([Kj(1,BA),Kj(2,or),Kj(3,Ls),Kj(4,x),Kj(5,$l),Kj(6,Tu)],Yj);var Xj=class{constructor(e){this.prioritySelector=e,this._items=[]}register(e){if(this._items.indexOf(e)!==-1)throw Error(`Value is already registered`);return this._items.push(e),this._items.sort((e,t)=>this.prioritySelector(t)-this.prioritySelector(e)),{dispose:()=>{let t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}},Zj=class e extends A{constructor(){super({id:e.id,label:W(1523,`Trigger Suggest`),precondition:g.and(I.writable,I.hasCompletionItemProvider,J.Visible.toNegated()),kbOpts:{kbExpr:I.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){let r=Yj.get(t);if(!r)return;let i;n&&typeof n==`object`&&n.auto===!0&&(i=!0),r.triggerSuggest(void 0,i,void 0)}};Wj=Zj,Wj.id=`editor.action.triggerSuggest`,M(Yj.ID,Yj,2),T(Zj);var Qj=190,$j=yt.bindToContribution(Yj.get);F(new $j({id:`acceptSelectedSuggestion`,precondition:g.and(J.Visible,J.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:g.and(J.Visible,I.textInputFocus),weight:Qj},{primary:3,kbExpr:g.and(J.Visible,I.textInputFocus,J.AcceptSuggestionsOnEnter,J.MakesTextEdit),weight:Qj}],menuOpts:[{menuId:ET,title:R(1515,`Insert`),group:`left`,order:1,when:g.and(J.HasFocusedSuggestion,J.HasInsertAndReplaceRange.toNegated())},{menuId:ET,title:R(1516,`Insert`),group:`left`,order:1,when:g.and(J.HasFocusedSuggestion,J.HasInsertAndReplaceRange,J.InsertMode.isEqualTo(`insert`))},{menuId:ET,title:R(1517,`Replace`),group:`left`,order:1,when:g.and(J.HasFocusedSuggestion,J.HasInsertAndReplaceRange,J.InsertMode.isEqualTo(`replace`))}]})),F(new $j({id:`acceptAlternativeSelectedSuggestion`,precondition:g.and(J.Visible,I.textInputFocus,J.HasFocusedSuggestion),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:ET,group:`left`,order:2,when:g.and(J.HasFocusedSuggestion,J.HasInsertAndReplaceRange,J.InsertMode.isEqualTo(`insert`)),title:R(1518,`Replace`)},{menuId:ET,group:`left`,order:2,when:g.and(J.HasFocusedSuggestion,J.HasInsertAndReplaceRange,J.InsertMode.isEqualTo(`replace`)),title:R(1519,`Insert`)}]})),In.registerCommandAlias(`acceptSelectedSuggestionOnEnter`,`acceptSelectedSuggestion`),F(new $j({id:`hideSuggestWidget`,precondition:J.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:9,secondary:[1033]}})),F(new $j({id:`selectNextSuggestion`,precondition:g.and(J.Visible,g.or(J.MultipleSuggestions,J.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:ET,group:`left`,order:0,when:J.HasFocusedSuggestion.toNegated(),title:R(1520,`Select`)}})),F(new $j({id:`selectNextPageSuggestion`,precondition:g.and(J.Visible,g.or(J.MultipleSuggestions,J.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:12,secondary:[2060]}})),F(new $j({id:`selectLastSuggestion`,precondition:g.and(J.Visible,g.or(J.MultipleSuggestions,J.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),F(new $j({id:`selectPrevSuggestion`,precondition:g.and(J.Visible,g.or(J.MultipleSuggestions,J.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),F(new $j({id:`selectPrevPageSuggestion`,precondition:g.and(J.Visible,g.or(J.MultipleSuggestions,J.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:11,secondary:[2059]}})),F(new $j({id:`selectFirstSuggestion`,precondition:g.and(J.Visible,g.or(J.MultipleSuggestions,J.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),F(new $j({id:`focusSuggestion`,precondition:g.and(J.Visible,J.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),F(new $j({id:`focusAndAcceptSuggestion`,precondition:g.and(J.Visible,J.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),F(new $j({id:`toggleSuggestionDetails`,precondition:g.and(J.Visible,J.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:ET,group:`right`,order:1,when:g.and(J.DetailsVisible,J.CanResolve),title:R(1521,`Show Less`)},{menuId:ET,group:`right`,order:1,when:g.and(J.DetailsVisible.toNegated(),J.CanResolve),title:R(1522,`Show More`)}]})),F(new $j({id:`toggleExplainMode`,precondition:J.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),F(new $j({id:`toggleSuggestionFocus`,precondition:J.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:2570,mac:{primary:778}}})),F(new $j({id:`insertBestCompletion`,precondition:g.and(I.textInputFocus,g.equals(`config.editor.tabCompletion`,`on`),GA.AtEnd,J.Visible.toNegated(),XA.OtherSuggestions.toNegated(),tO.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(tu(t)?{fallback:`tab`,...t}:{fallback:`tab`})},kbOpts:{weight:Qj,primary:2}})),F(new $j({id:`insertNextSuggestion`,precondition:g.and(I.textInputFocus,g.equals(`config.editor.tabCompletion`,`on`),XA.OtherSuggestions,J.Visible.toNegated(),tO.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:2}})),F(new $j({id:`insertPrevSuggestion`,precondition:g.and(I.textInputFocus,g.equals(`config.editor.tabCompletion`,`on`),XA.OtherSuggestions,J.Visible.toNegated(),tO.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:Qj,kbExpr:I.textInputFocus,primary:1026}})),F(new class extends yt{constructor(){super({id:`suggestWidgetCopy`,precondition:J.DetailsFocused,kbOpts:{weight:200,kbExpr:J.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(e,t){Sa(t.getDomNode()).document.execCommand(`copy`)}}),T(class extends A{constructor(){super({id:`editor.action.resetSuggestSize`,label:W(1524,`Reset Suggest Widget Size`),precondition:void 0})}run(e,t){Yj.get(t)?.resetWidgetSize()}});var eM=class extends O{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,n){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=n,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new B),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));let r=Yj.get(this.editor);if(r){this._register(r.registerSelector({priority:100,select:(e,t,n)=>{let i=this.editor.getModel();if(!i)return-1;let a=this.suggestControllerPreselector(),o=a?TO(a,i):void 0;if(!o)return-1;let s=k.lift(t),c=n.map((e,t)=>{let n=TO(tM.fromSuggestion(r,i,s,e,this.isShiftKeyPressed).getSingleTextEdit(),i);return{index:t,valid:EO(o,n),prefixLength:n.text.length,suggestItem:e}}).filter(e=>e&&e.valid&&e.prefixLength>0),l=Zu(c,xs(e=>e.prefixLength,ke));return l?l.index:-1}}));let e=!1,t=()=>{e||(e=!0,this._register(r.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(r.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(r.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(qu.once(r.model.onDidTrigger)(e=>{t()})),this._register(r.onWillInsertSuggestItem(e=>{let t=this.editor.getPosition(),n=this.editor.getModel();if(!t||!n)return;let i=tM.fromSuggestion(r,n,t,e.item,this.isShiftKeyPressed);this.onWillAccept(i)}))}this.update(this._isActive)}update(e){let t=this.getSuggestItemInfo();(this._isActive!==e||!nM(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){let e=Yj.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;let t=e.widget.value.getFocusedItem(),n=this.editor.getPosition(),r=this.editor.getModel();if(!(!t||!n||!r))return tM.fromSuggestion(e,r,n,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){Yj.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){Yj.get(this.editor)?.forceRenderingAbove()}},tM=class e{static fromSuggestion(t,n,r,i,a){let{insertText:o}=i.completion,s=!1;if(i.completion.insertTextRules&4){let e=new Yf().parse(o);e.children.length<100&&YD.adjustWhitespace(n,r,!0,e),o=e.toString(),s=!0}let c=t.getOverwriteInfo(i,a);return new e(S.fromPositions(r.delta(0,-c.overwriteBefore),r.delta(0,Math.max(c.overwriteAfter,0))),o,i.completion.kind,s,i.container.incomplete??!1)}constructor(e,t,n,r,i){this.range=e,this.insertText=t,this.completionItemKind=n,this.isSnippetText=r,this.listIncomplete=i}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new Ei(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new Tc(this.range,this.insertText)}};function nM(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}var rM=class extends O{constructor(e,t,n){super(),this._editorObs=e,this._handleSuggestAccepted=t,this._suggestControllerPreselector=n,this._suggestWidgetAdaptor=this._register(new eM(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),e=>this._editorObs.forceUpdate(t=>{this._handleSuggestAccepted(e)}))),this.selectedItem=yd(this,e=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(t=>e(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}},iM=class{constructor(e,t){this.lineNumber=e,this.columnRange=t}},aM=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new lc(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new S(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}toZeroBasedOffsetRange(){return new co(this.startColumn-1,this.endColumnExclusive-1)}},oM=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new sM(t.getTokenText(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e){return Ra.createFromTextAndMetadata(this.map((e,t)=>({text:t.text,metadata:t.metadata})),e)}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new co(n,n+r.text.length);t.push(e(i,r)),n+=r.text.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.text.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new sM(e.text.slice(r,e.text.length-o),e.metadata))}r+=e.text.length}return e.create(n)}append(t){let n=this._tokenInfo.concat(t._tokenInfo);return e.create(n)}},sM=class{constructor(e,t){this.text=e,this.metadata=t}},cM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},lM=function(e,t){return function(n,r){t(n,r,e)}},uM=class e{static from(t){if(t)return new e(t.icon)}constructor(e=w.warning){this.icon=e}},dM=`ghost-text`,fM=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._data=t,this._languageService=r,this._isDisposed=Dt(this,!1),this._warningState=P(e=>{let t=this._data.read(e),n=t?.warning;if(!t||!n)return;let r=t.ghostText;return{lineNumber:r.lineNumber,position:new k(r.lineNumber,r.parts[0].column),icon:n.icon}}),this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=P(this,e=>{let t=this._data.read(e);if(t)return t.ghostText.parts.map(e=>e.lines.map(e=>e.line).join(``)).join(``).replace(/\s/g,``).length}),this._extraClassNames=P(this,e=>{let t=this._extraClasses.slice();this._warningState.read(e)&&t.push(`warning`);let n=this._nonWhitespaceCount.read(e);return this._highlightShortText&&n&&n<3?t.push(`short-text`):this._useSyntaxHighlighting.read(e)&&t.push(`syntax-highlighted`),t.map(e=>` ${e}`).join(``)}),this._state=P(this,e=>{if(this._isDisposed.read(e))return;let t=this._data.read(e);if(!t)return;let n=this._editorObs.model.read(e);if(!n)return;let r=t.ghostText,i=r instanceof SO?r.columnRange:void 0,a=this._useSyntaxHighlighting.read(e),{inlineTexts:o,additionalLines:s,hiddenRange:c,additionalLinesOriginalSuffix:l}=mM(r,n,dM+this._extraClassNames.read(e)),u=n.getLineContent(r.lineNumber),d=new oo(o.map(e=>pc.insert(e.column-1,e.text))),f=a?n.tokenization.tokenizeLinesAt(r.lineNumber,[d.apply(u),...s.map(e=>e.content)]):void 0,p=d.getNewRanges(),m=o.map((e,t)=>({...e,tokens:f?.[0]?.getTokensInRange(p[t])})),h=s.map((e,t)=>{let r=f?.[t+1]??Ra.createEmpty(e.content,this._languageService.languageIdCodec);if(t===s.length-1&&l){let e=oM.fromLineTokens(n.tokenization.getLineTokens(l.lineNumber)).slice(l.columnRange.toZeroBasedOffsetRange());r=oM.fromLineTokens(r).append(e).toLineTokens(r.languageIdCodec)}return new vM(r,e.decorations)}),g=this._editor.getSelection()?.getStartPosition().column,_=m.filter(e=>e.text!==``),v=_.length!==0,y=new xk((v?_[0].column:1)-g,v?0:s.findIndex(e=>e.content!==``)+1,+!!v,s.length+ +!!v,0,Qe(_.map(e=>e.text.length))+Qe(h.map(e=>e.content.getTextLength())),_.length+ +(s.length>0),_.length>1&&h.length===0?_.every(e=>e.text===_[0].text):void 0);return{replacedRange:i,inlineTexts:m,additionalLines:h,hiddenRange:c,lineNumber:r.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(e),targetTextModel:n,syntaxHighlightingEnabled:a,telemetryViewData:y,handleInlineCompletionShown:t.handleInlineCompletionShown}}),this._decorations=P(this,e=>{let t=this._state.read(e);if(!t)return[];let n=[],r=this._extraClassNames.read(e);t.replacedRange&&n.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:`inline-completion-text-to-replace`+r,description:`GhostTextReplacement`}}),t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:`ghost-text-hidden`,description:`ghost-text-hidden`}});for(let e of t.inlineTexts){let i=``;this._highlightShortText&&e.text.length<5&&(i+=` short-text`),n.push({range:S.fromPositions(new k(t.lineNumber,e.column)),options:{description:`ghost-text-decoration`,after:{content:e.text,tokens:e.tokens,inlineClassName:(e.preview?`ghost-text-decoration-preview`:`ghost-text-decoration`)+(this._isClickable?` clickable`:``)+r+i+e.lineDecorations.map(e=>` `+e.className).join(` `),cursorStops:De.Left,attachedData:new pM(this)},showIfCollapsed:!0}})}return n}),this.isHovered=P(this,e=>this._isDisposed.read(e)?!1:this._isInlineTextHovered.read(e)||this._additionalLinesWidget.isHovered.read(e)),this.height=P(this,e=>this._editorObs.getOption(75).read(e)+(this._additionalLinesWidget.viewZoneHeight.read(e)??0)),this._extraClasses=n.extraClasses??[],this._isClickable=n.isClickable??!1,this._shouldKeepCursorStable=n.shouldKeepCursorStable??!1,this._minReservedLineCount=n.minReservedLineCount??Ec(0),this._useSyntaxHighlighting=n.useSyntaxHighlighting??Ec(!0),this._highlightShortText=n.highlightShortSuggestions??!1,this._editorObs=ku(this._editor),this._additionalLinesWidget=this._register(new gM(this._editor,xr({owner:this,equalsFn:Ba(uo())},e=>{let t=this._state.read(e);return t?new hM(t.lineNumber,t.additionalLines,t.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered(e=>e.target.type===6&&e.target.detail.injectedText?.options.attachedData instanceof pM&&e.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register(Tn(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable&&(this._register(this._additionalLinesWidget.onDidClick(e=>this._onDidClick.fire(e))),this._register(this._editor.onMouseUp(e=>{if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options.attachedData;t instanceof pM&&t.owner===this&&this._onDidClick.fire(e.event)}))),this._register(E(e=>{let t=this._state.read(e);t?.handleInlineCompletionShown(t.telemetryViewData)})),this._register(qt((e,t)=>{}))}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}};fM=cM([lM(3,os)],fM);var pM=class{constructor(e){this.owner=e}};function mM(e,t,n){let r=[],i=[];function a(e,t){if(i.length>0){let n=i[i.length-1];t&&n.decorations.push(new Xn(n.content.length+1,n.content.length+1+e[0].line.length,t,0)),n.content+=e[0].line,e=e.slice(1)}for(let n of e)i.push({content:n.line,decorations:t?[new Xn(1,n.line.length+1,t,0),...n.lineDecorations]:[...n.lineDecorations]})}let o=t.getLineContent(e.lineNumber),s,c=0;for(let t of e.parts){let e=t.lines;s===void 0?(r.push({column:t.column,text:e[0].line,preview:t.preview,lineDecorations:e[0].lineDecorations}),e=e.slice(1)):a([{line:o.substring(c,t.column-1),lineDecorations:[]}],void 0),e.length>0&&(a(e,n),s===void 0&&t.column<=o.length&&(s=t.column)),c=t.column-1}let l;return s!==void 0&&(l=new iM(e.lineNumber,new aM(c+1,o.length+1))),{inlineTexts:r,additionalLines:i,hiddenRange:s===void 0?void 0:new aM(s,o.length+1),additionalLinesOriginalSuffix:l}}var hM=class{constructor(e,t,n){this.lineNumber=e,this.additionalLines=t,this.minReservedLineCount=n}equals(e){return this.lineNumber!==e.lineNumber||this.minReservedLineCount!==e.minReservedLineCount?!1:Nu(this.additionalLines,e.additionalLines,uo())}},gM=class extends O{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}get viewZoneHeight(){return this._viewZoneHeight}constructor(e,t,n,r){super(),this._editor=e,this._lines=t,this._shouldKeepCursorStable=n,this._isClickable=r,this._viewZoneHeight=Dt(`viewZoneHeight`,void 0),this.editorOptionsChanged=Ie(`editorOptionChanged`,qu.filter(this._editor.onDidChangeConfiguration,e=>e.hasChanged(40)||e.hasChanged(133)||e.hasChanged(113)||e.hasChanged(108)||e.hasChanged(60)||e.hasChanged(59)||e.hasChanged(75))),this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new Ne),this.isHovered=ku(this._editor).isTargetHovered(e=>_M(e.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof vs&&this._shouldKeepCursorStable&&this._register(this._editor.onBeforeExecuteEdit(e=>this.hasBeenAccepted=e.source===`inlineSuggestion.accept`)),this._register(E(e=>{let t=this._lines.read(e);this.editorOptionsChanged.read(e),t?(this.hasBeenAccepted=!1,this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount)):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones(e=>{this.removeActiveViewZone(e)})}updateLines(e,t,n){let r=this._editor.getModel();if(!r)return;let{tabSize:i}=r.getOptions();ku(this._editor).transaction(r=>{this._editor.changeViewZones(r=>{let a=new b;this.removeActiveViewZone(r);let o=Math.max(t.length,n);if(o>0){let n=document.createElement(`div`);yM(n,i,t,this._editor.getOptions(),this._isClickable),this._isClickable&&(a.add(H(n,`mousedown`,e=>{e.preventDefault()})),a.add(H(n,`click`,e=>{_M(e.target)&&this._onDidClick.fire(new nt(Sa(e),e))}))),this.addViewZone(r,e,o,n)}this._viewZoneListener.value=a})})}addViewZone(e,t,n,r){let i=e.addZone({afterLineNumber:t,heightInLines:n,domNode:r,afterColumnAffinity:1,onComputedHeight:e=>{this._viewZoneHeight.set(e,void 0)}});this.keepCursorStable(t,n),this._viewZoneInfo={viewZoneId:i,heightInLines:n,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 n=this._editor.getSelection()?.getStartPosition()?.lineNumber;n!==void 0&&e<n&&this._editor.setScrollTop(this._editor.getScrollTop()+t*this._editor.getOption(75))}};function _M(e){return Gr(e)&&e.classList.contains(dM)}var vM=class{constructor(e,t){this.content=e,this.decorations=t}equals(e){return this.content.equals(e.content)?Xn.equalsArr(this.decorations,e.decorations):!1}};function yM(e,t,n,i,a){let o=i.get(40),s=i.get(133),c=i.get(108),l=i.get(60),u=i.get(59),d=i.get(75),f=`suggest-preview-text`;a&&(f+=` clickable`);let p=new ju(1e4);p.appendString(`<div class="${f}">`);for(let e=0,r=n.length;e<r;e++){let r=n[e],i=r.content;p.appendString(`<div class="view-line`),p.appendString(`" style="top:`),p.appendString(String(e*d)),p.appendString(`px;width:1000000px;">`);let a=i.getLineContent(),f=wl(a),m=ki(a);Pe(new Ge(u.isMonospace&&!o,u.canUseHalfwidthRightwardsArrow,a,!1,f,m,0,i,r.decorations.slice(),t,0,u.spaceWidth,u.middotWidth,u.wsmiddotWidth,s,`none`,c,l!==ft.OFF,null,null,0),p),p.appendString(`</div>`)}p.appendString(`</div>`),r(e,u);let m=p.build();e.innerHTML=bM?bM.createHTML(m):m}var bM=Ds(`editorGhostText`,{createHTML:e=>e}),xM=class e{constructor(e,t){this.width=e,this.height=t}toString(){return`(${this.width},${this.height})`}transpose(){return new e(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}},SM=class e{static fromPoints(t,n){return new e(t.x,t.y,n.x,n.y)}static fromPointSize(t,n){return new e(t.x,t.y,t.x+n.x,t.y+n.y)}static fromLeftTopRightBottom(t,n,r,i){return new e(t,n,r,i)}static fromLeftTopWidthHeight(t,n,r,i){return new e(t,n,t+r,n+i)}static fromRanges(t,n){return new e(t.start,n.start,t.endExclusive,n.endExclusive)}static hull(t){let n=2**53-1,r=2**53-1,i=-(2**53-1),a=-(2**53-1);for(let e of t)n=Math.min(n,e.left),r=Math.min(r,e.top),i=Math.max(i,e.right),a=Math.max(a,e.bottom);return new e(n,r,i,a)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(e,t,n,r){if(this.left=e,this.top=t,this.right=n,this.bottom=r,e>n)throw new lc(`Invalid arguments: Horizontally offset by `+(e-n));if(t>r)throw new lc(`Invalid arguments: Vertically offset by `+(t-r))}withMargin(t,n,r,i){let a,o,s,c;return n===void 0&&r===void 0&&i===void 0?a=o=s=c=t:r===void 0&&i===void 0?(a=o=n,s=c=t):(a=i,o=n,s=t,c=r),new e(this.left-a,this.top-s,this.right+o,this.bottom+c)}intersectVertical(t){let n=Math.max(this.top,t.start),r=Math.min(this.bottom,t.endExclusive);return new e(this.left,n,this.right,Math.max(n,r))}intersectHorizontal(t){let n=Math.max(this.left,t.start),r=Math.min(this.right,t.endExclusive);return new e(n,this.top,Math.max(n,r),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(t){let n=Math.max(this.left,t.left),r=Math.min(this.right,t.right),i=Math.max(this.top,t.top),a=Math.min(this.bottom,t.bottom);if(!(n>r||i>a))return new e(n,i,r,a)}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(t){let n=this.width,r=this.height,i=this.left,a=this.top;return i<t.left?i=t.left:i+n>t.right&&(i=t.right-n),a<t.top?a=t.top:a+r>t.bottom&&(a=t.bottom-r),new e(i,a,i+n,a+r)}withWidth(t){return new e(this.left,this.top,this.left+t,this.bottom)}withHeight(t){return new e(this.left,this.top,this.right,this.top+t)}withTop(t){return new e(this.left,t,this.right,this.bottom)}withLeft(t){return new e(t,this.top,this.right,this.bottom)}translateX(t){return new e(this.left+t,this.top,this.right+t,this.bottom)}translateY(t){return new e(this.left,this.top+t,this.right,this.bottom+t)}getLeftBottom(){return new cd(this.left,this.bottom)}getRightBottom(){return new cd(this.right,this.bottom)}getRightTop(){return new cd(this.right,this.top)}toStyles(){return{position:`absolute`,left:`${this.left}px`,top:`${this.top}px`,width:`${this.width}px`,height:`${this.height}px`}}withHorizontalRange(t){return new e(t.start,this.top,t.endExclusive,this.bottom)}getSize(){return new xM(this.width,this.height)}},CM=class e{constructor(e,t,n,r=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=n,this.showEndForLine=r}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Nu(this.startLineNumbers,e.startLineNumbers)&&Nu(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new e([],[],0)}},wM=Ds(`stickyScrollViewLayer`,{createHTML:e=>e}),TM=`data-sticky-line-index`,EM=`data-sticky-is-line`,DM=`data-sticky-is-line-number`,OM=`data-sticky-is-folding-icon`,kM=class extends O{get height(){return this._height}constructor(e){super(),this._foldingIconStore=this._register(new b),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 B),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=e,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 yy),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(e=>{e.hasChanged(131)&&t()})),this._register(this._editor.onDidScrollChange(e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),t(),this._register(this._editor.onDidLayoutChange(e=>{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,n){let r=!this._state&&!e,i=this._state&&this._state.equals(e);if(n===void 0&&(r||i))return;let a=this._findRenderingData(e),o=this._lineNumbers;this._lineNumbers=a.lineNumbers,this._lastLineRelativePosition=a.lastLineRelativePosition;let s=this._findIndexToRebuildFrom(o,this._lineNumbers,n);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,t,s),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 n=0;for(let e=0;e<t.length;e++)n+=this._editor.getLineHeightForPosition(new k(t[e],1));return n===0?{lineNumbers:[],lastLineRelativePosition:0}:{lineNumbers:t,lastLineRelativePosition:e.lastLineRelativePosition}}_findIndexToRebuildFrom(e,t,n){if(t.length===0)return 0;if(n!==void 0)return n;let r=t.findIndex(t=>!e.includes(t));return r===-1?0:r}_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 n=t.foldingIcon;n&&n.setVisible(e?!0:n.isCollapsed)}}async _renderRootNode(e,t,n,r){let i=this._editor._getViewModel();if(!i){this._clearWidget();return}if(e.length===0){this._clearWidget();return}let a=[],o=e[e.length-1],s=0;for(let e=0;e<this._renderedStickyLines.length;e++)if(e<r){let t=this._renderedStickyLines[e];a.push(this._updatePosition(t,s,t.lineNumber===o)),s+=t.height}else{let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}let c=this._editor.getLayoutInfo();for(let t=r;t<e.length;t++){let r=this._renderChildNode(i,t,e[t],s,o===e[t],n,c);s+=r.height,this._linesDomNode.appendChild(r.lineDomNode),this._lineNumbersDomNode.appendChild(r.lineNumberDomNode),a.push(r)}n&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin)),this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(e=>e.scrollWidth))+c.verticalScrollbarWidth,this._renderedStickyLines=a,this._setHeight(s+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._foldingIconStore.clear(),this._editor.getOption(126)===`mouseover`&&(this._foldingIconStore.clear(),this._foldingIconStore.add(H(this._lineNumbersDomNode,vr.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(H(this._lineNumbersDomNode,vr.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,n,r,i,a,o){let s=new AM(this._editor,e,o,a,this._isOnGlyphMargin,t,n);return this._updatePosition(s,r,i)}_updatePosition(e,t,n){let r=e.lineDomNode,i=e.lineNumberDomNode;if(n){r.style.zIndex=`0`,i.style.zIndex=`0`;let n=`${t+this._lastLineRelativePosition+ +!!e.foldingIcon?.isCollapsed}px`;r.style.top=n,i.style.top=n}else r.style.zIndex=`1`,i.style.zIndex=`1`,r.style.top=`${t}px`,i.style.top=`${t}px`;return e}getId(){return`editor.contrib.stickyScrollWidget`}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOrdinal: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 n=Se(t.characterMapping,e,0);return new k(t.lineNumber,n)}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,TM);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,EM)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,OM)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){let n=e.getAttribute(t);if(n!==null)return n;e=e.parentElement}}},AM=class{constructor(e,t,n,r,i,a,o){this.index=a,this.lineNumber=o;let s=t.coordinatesConverter.convertModelPositionToViewPosition(new k(o,1)).lineNumber,c=t.getViewLineRenderingData(s),l=e.getOption(76),u=e.getOption(117).verticalScrollbarSize,d;try{d=Xn.filter(c.inlineDecorations,s,c.minColumn,c.maxColumn)}catch{d=[]}let f=e.getLineHeightForPosition(new k(o,1)),p=t.getTextDirection(o),m=new Ge(!0,!0,c.content,c.continuesWithWrappedLine,c.isBasicASCII,c.containsRTL,0,c.tokens,d,c.tabSize,c.startVisibleColumn,1,1,1,500,`none`,!0,!0,null,p,u),h=new ju(2e3),g=Pe(m,h);this.characterMapping=g.characterMapping;let _;_=wM?wM.createHTML(h.build()):h.build();let v=document.createElement(`span`);v.setAttribute(TM,String(a)),v.setAttribute(EM,``),v.setAttribute(`role`,`listitem`),v.tabIndex=0,v.className=`sticky-line-content`,v.classList.add(`stickyLine${o}`),v.style.lineHeight=`${f}px`,v.innerHTML=_;let y=document.createElement(`span`);y.setAttribute(TM,String(a)),y.setAttribute(DM,``),y.className=`sticky-line-number`,y.style.lineHeight=`${f}px`;let ee=n.contentLeft;y.style.width=`${ee}px`;let te=document.createElement(`span`);l.renderType===1||l.renderType===3&&o%10==0?te.innerText=o.toString():l.renderType===2&&(te.innerText=Math.abs(o-e.getPosition().lineNumber).toString()),te.className=`sticky-line-number-inner`,te.style.width=`${n.lineNumbersWidth}px`,te.style.paddingLeft=`${n.lineNumbersLeft}px`,y.appendChild(te),this.foldingIcon=this._renderFoldingIconForLine(e,r,o,f,i),this.foldingIcon&&(y.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${n.lineNumbersWidth+n.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${f}px`),e.applyFontInfo(v),e.applyFontInfo(y),y.style.lineHeight=`${f}px`,v.style.lineHeight=`${f}px`,y.style.height=`${f}px`,v.style.height=`${f}px`,this.scrollWidth=v.scrollWidth,this.lineDomNode=v,this.lineNumberDomNode=y,this.height=f}_renderFoldingIconForLine(e,t,n,r,i){let a=e.getOption(126);if(!t||a===`never`)return;let o=t.regions,s=o.findRange(n),c=o.getStartLineNumber(s);if(n!==c)return;let l=o.isCollapsed(s),u=new jM(l,c,o.getEndLineNumber(s),r);return u.setVisible(i?!0:l||a===`always`),u.domNode.setAttribute(OM,``),u}},jM=class{constructor(e,t,n,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=n,this.dimension=r,this.domNode=document.createElement(`div`),this.domNode.style.width=`26px`,this.domNode.style.height=`${r}px`,this.domNode.style.lineHeight=`${r}px`,this.domNode.className=tt.asClassName(e?GC:WC)}setVisible(e){this.domNode.style.cursor=e?`pointer`:`default`,this.domNode.style.opacity=e?`1`:`0`}},MM=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},NM=class{constructor(e,t,n){this.range=e,this.children=t,this.parent=n}},PM=class{constructor(e,t,n,r){this.uri=e,this.version=t,this.element=n,this.outlineProviderId=r}},FM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},IM=function(e,t){return function(n,r){t(n,r,e)}},LM;(function(e){e.OUTLINE_MODEL=`outlineModel`,e.FOLDING_PROVIDER_MODEL=`foldingProviderModel`,e.INDENTATION_MODEL=`indentationModel`})(LM||={});var RM;(function(e){e[e.VALID=0]=`VALID`,e[e.INVALID=1]=`INVALID`,e[e.CANCELED=2]=`CANCELED`})(RM||={});var zM=class extends O{constructor(e,t,n,r){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Wc(300)),this._updateOperation=this._register(new b),this._editor.getOption(131).defaultModel){case LM.OUTLINE_MODEL:this._modelProviders.push(new VM(this._editor,r));case LM.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new WM(this._editor,t,r));case LM.INDENTATION_MODEL:this._modelProviders.push(new UM(this._editor,n))}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&=(this._modelPromise.cancel(),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:n,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;let i=await n;if(this._modelPromise!==r)return null;switch(i){case RM.CANCELED:return this._updateOperation.clear(),null;case RM.VALID:return t.stickyModel}}return null}).catch(e=>(il(e),null))}};zM=FM([IM(2,x),IM(3,U)],zM);var BM=class extends O{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,RM.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let t=pu(e=>this.createModelFromProvider(e));return{statusPromise:t.then(t=>this.isModelValid(t)?e.isCancellationRequested?RM.CANCELED:(this._stickyModel=this.createStickyModel(e,t),RM.VALID):this._invalid()).then(void 0,e=>(il(e),RM.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},VM=class extends BM{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Zw.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){let{stickyOutlineElement:n,providerID:r}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),i=this._editor.getModel();return new PM(i.uri,i.getVersionId(),n,r)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let n;if(Ln.first(e.children.values())instanceof Xw){let r=Ln.find(e.children.values(),e=>e.id===t);if(r)n=r.children;else{let r=``,i=-1,a;for(let[t,n]of e.children.entries()){let e=this._findSumOfRangesOfGroup(n);e>i&&(a=n,i=e,r=n.id)}t=r,n=a.children}}else n=e.children;let r=[],i=Array.from(n.values()).sort((e,t)=>{let n=new MM(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),r=new MM(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(n,r)});for(let e of i)r.push(this._stickyModelFromOutlineElement(e,e.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new NM(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){let n=[];for(let r of e.children.values())if(r.symbol.selectionRange.startLineNumber!==r.symbol.range.endLineNumber){if(r.symbol.selectionRange.startLineNumber!==t)n.push(this._stickyModelFromOutlineElement(r,r.symbol.selectionRange.startLineNumber));else for(let e of r.children.values())n.push(this._stickyModelFromOutlineElement(e,r.symbol.selectionRange.startLineNumber))}return n.sort((e,t)=>this._comparator(e.range,t.range)),new NM(new MM(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber),n,void 0)}_comparator(e,t){return e.startLineNumber===t.startLineNumber?t.endLineNumber-e.endLineNumber:e.startLineNumber-t.startLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(let n of e.children.values())t+=this._findSumOfRangesOfGroup(n);return e instanceof Yw?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};VM=FM([IM(1,U)],VM);var HM=class extends BM{constructor(e){super(e),this._foldingLimitReporter=this._register(new dw(e))}createStickyModel(e,t){let n=this._fromFoldingRegions(t),r=this._editor.getModel();return new PM(r.uri,r.getVersionId(),n,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){let t=e.length,n=[],r=new NM(void 0,[],void 0);for(let i=0;i<t;i++){let t=e.getParentIndex(i),a;a=t===-1?r:n[t];let o=new NM(new MM(e.getStartLineNumber(i),e.getEndLineNumber(i)+1),[],a);a.children.push(o),n.push(o)}return r}},UM=class extends HM{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new RC(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};UM=FM([IM(1,bu)],UM);var WM=class extends HM{constructor(e,t,n){super(e),this._languageFeaturesService=n,this.provider=this._register(new Ne),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(e,t)})),this._updateProvider(e,t)}_updateProvider(e,t){let n=uw.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length!==0&&(this.provider.value=new ew(e.getModel(),n,t,this._foldingLimitReporter,void 0))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){return this.provider.value?.compute(e)??null}};WM=FM([IM(2,U)],WM);var GM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},KM=function(e,t){return function(n,r){t(n,r,e)}},qM=class{constructor(e,t,n,r){this.startLineNumber=e,this.endLineNumber=t,this.top=n,this.height=r}},JM=class extends O{constructor(e,t,n){super(),this._languageFeaturesService=t,this._languageConfigurationService=n,this._onDidChangeStickyScroll=this._register(new B),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new b),this._updateSoon=this._register(new Vl(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(e=>{e.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(Tn(()=>{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 zM(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new Eu,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,n,r,i,a){let o=this._editor.getModel();if(!o||t.children.length===0)return;let s=a,c=[];for(let e=0;e<t.children.length;e++){let n=t.children[e];n.range&&c.push(n.range.startLineNumber)}let l=this.updateIndex(wo(c,e.startLineNumber,(e,t)=>e-t)),u=this.updateIndex(wo(c,e.endLineNumber,(e,t)=>e-t));for(let a=l;a<=u;a++){let c=t.children[a];if(!c||!c.range)continue;let{startLineNumber:l,endLineNumber:u}=c.range;if(u>l+1&&e.startLineNumber<=u+1&&l-1<=e.endLineNumber&&l!==s&&o.isValidRange(new S(l,1,u,1))){s=l;let t=this._editor.getLineHeightForPosition(new k(l,1));n.push(new qM(l,u-1,i,t)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,c,n,r+1,i+t,l)}}}filterHiddenRanges(e){let t=this._editor._getViewModel()?.getHiddenAreas();return t?e.filter(e=>!t.some(t=>e.startLineNumber>=t.startLineNumber&&e.endLineNumber<=t.endLineNumber+1)):e}updateIndex(e){return e===-1?0:e<0?-e-2:e}};JM=GM([KM(1,U),KM(2,bu)],JM);var YM,XM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ZM=function(e,t){return function(n,r){t(n,r,e)}},QM,$M=(YM=class extends O{constructor(e,t,n,r,i,a,o){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=n,this._instaService=r,this._contextKeyService=o,this._sessionStore=new b,this._maxStickyLines=2**53-1,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 B),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new kM(this._editor),this._stickyLineCandidateProvider=new JM(this._editor,n,i),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=CM.Empty;let s=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight(e=>{e.changes.forEach(e=>{let t=e.lineNumber;this._widgetState.startLineNumbers.includes(t)&&this._renderStickyScroll(t)})})),this._register(this._editor.onDidChangeFont(e=>{e.changes.forEach(e=>{let t=e.lineNumber;this._widgetState.startLineNumbers.includes(t)&&this._renderStickyScroll(t)})})),this._register(this._editor.onDidChangeConfiguration(e=>{this._readConfigurationChange(e)})),this._register(H(s,vr.CONTEXT_MENU,async e=>{this._onContextMenu(Sa(s),e)})),this._stickyScrollFocusedContextKey=I.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=I.stickyScrollVisible.bindTo(this._contextKeyService);let c=this._register(Bs(s));this._register(c.onDidBlur(e=>{this._positionRevealed===!1&&s.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(c.onDidFocus(e=>{this.focus()})),this._registerMouseListeners(),this._register(H(s,vr.MOUSE_DOWN,e=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight(e=>{this._onDidChangeStickyScrollHeight.fire(e)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(e){return e.getContribution(QM.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 b,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(S.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){let e=this._register(new b),t=this._register(new dy(this._editor,{extractLineNumberFromMouseEvent:e=>{let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),n=e=>{if(!this._editor.hasModel()||e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId())return null;let t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;let n=this._stickyScrollWidget.getEditorPositionFromNode(t);return n?{range:new S(n.lineNumber,n.column,n.lineNumber,n.column+t.innerText.length),textElement:t}:null},r=this._stickyScrollWidget.getDomNode();this._register(Os(r,vr.CLICK,e=>{if(e.ctrlKey||e.altKey||e.metaKey||!e.leftButton)return;if(e.shiftKey){let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(t===null)return;let n=new k(this._endLineNumbers[t],1);this._revealLineInCenterIfOutsideViewport(n);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){let t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);this._toggleFoldingRegionForLine(t);return}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){let n=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(n===null)return;t=new k(n,1)}this._revealPosition(t)})),this._register(H(es,vr.MOUSE_MOVE,e=>{this._mouseTarget=e.target,this._onMouseMoveOrKeyDown(e)})),this._register(H(es,vr.KEY_DOWN,e=>{this._onMouseMoveOrKeyDown(e)})),this._register(H(es,vr.KEY_UP,()=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([t,r])=>{let i=n(t);if(!i||!t.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}let{range:a,textElement:o}=i;if(!a.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=a,e.clear();else if(o.style.textDecoration===`underline`)return;let s=new Eu;e.add(Tn(()=>s.dispose(!0)));let c;Ab(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new k(a.startLineNumber,a.startColumn+1),!1,s.token).then((t=>{if(!s.token.isCancellationRequested){if(t.length!==0){this._candidateDefinitionsLength=t.length;let n=o;c===n?c||(c=n,c.style.textDecoration=`underline`,e.add(Tn(()=>{c.style.textDecoration=`none`}))):(e.clear(),c=n,c.style.textDecoration=`underline`,e.add(Tn(()=>{c.style.textDecoration=`none`})))}else e.clear()}}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async e=>{if(e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId())return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(ex,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){let n=new nt(e,t);this._contextMenuService.showContextMenu({menuId:q.StickyScrollContext,getAnchor:()=>n,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(e){if(!e.shiftKey||!this._mouseTarget||!Gr(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),n=t?.foldingIcon;if(!n)return;SC(this._foldingModel,1,[e]),n.isCollapsed=!n.isCollapsed;let r=(n.isCollapsed?this._editor.getTopForLineNumber(n.foldingEndLine):this._editor.getTopForLineNumber(n.foldingStartLine))-this._editor.getOption(75)*t.index+1;this._editor.setScrollTop(r),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}e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(e=>this._onTokensChange(e))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0),this._editor.getOption(76).renderType===2?this._cursorPositionListener||(this._cursorPositionListener=this._editor.onDidChangeCursorPosition(e=>{this._positionLineNumber!==e.position.lineNumber&&(this._positionLineNumber=e.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0))}),this._sessionStore.add(this._cursorPositionListener)):this._cursorPositionListener&&=(this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),void 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 n of t)for(let t of e.ranges)if(n>=t.fromLineNumber&&n<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){let e=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(e*.25),this._renderStickyScroll(0)}async _renderStickyScroll(e){let t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}let n=this._updateAndGetMinRebuildFromLine(e),r=this._stickyLineCandidateProvider.getVersionId();if(r===void 0||r===t.getVersionId()){if(!this._focused)await this._updateState(n);else if(this._focusedStickyElementIndex===-1)await this._updateState(n),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{let e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(n),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){let t=this._minRebuildFromLine===void 0?1/0:this._minRebuildFromLine;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await uw.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=CM.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(),n=0,r=[],i=[],a=this._editor.getVisibleRanges();if(a.length!==0){let o=new MM(a[0].startLineNumber,a[a.length-1].endLineNumber),s=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(o);for(let a of s){let o=a.startLineNumber,s=a.endLineNumber,c=a.top,l=c+a.height,u=this._editor.getTopForLineNumber(o)-t,d=this._editor.getBottomForLineNumber(s)-t;if(c>u&&c<=d&&(r.push(o),i.push(s+1),l>d&&(n=d-l)),r.length===e)break}}return this._endLineNumbers=i,new CM(r,i,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},QM=YM,YM.ID=`store.contrib.stickyScrollController`,YM);$M=QM=XM([ZM(1,Xu),ZM(2,U),ZM(3,x),ZM(4,bu),ZM(5,Da),ZM(6,Ls)],$M);var eN=C(`inlineEdit.originalBackground`,fn(na,.2),R(1266,`Background color for the original text in inline edits.`),!0),tN=C(`inlineEdit.modifiedBackground`,fn(_l,.3),R(1267,`Background color for the modified text in inline edits.`),!0);C(`inlineEdit.originalChangedLineBackground`,fn(na,.8),R(1268,`Background color for the changed lines in the original text of inline edits.`),!0);var nN=C(`inlineEdit.originalChangedTextBackground`,fn(na,.8),R(1269,`Overlay color for the changed text in the original text of inline edits.`),!0),rN=C(`inlineEdit.modifiedChangedLineBackground`,{light:fn(Kt,.7),dark:fn(Kt,.7),hcDark:Kt,hcLight:Kt},R(1270,`Background color for the changed lines in the modified text of inline edits.`),!0),iN=C(`inlineEdit.modifiedChangedTextBackground`,fn(_l,.7),R(1271,`Overlay color for the changed text in the modified text of inline edits.`),!0),aN=C(`inlineEdit.gutterIndicator.primaryForeground`,rt,R(1272,`Foreground color for the primary inline edit gutter indicator.`)),oN=C(`inlineEdit.gutterIndicator.primaryBorder`,cr,R(1273,`Border color for the primary inline edit gutter indicator.`)),sN=C(`inlineEdit.gutterIndicator.primaryBackground`,{light:fn(oN,.5),dark:fn(oN,.4),hcDark:fn(oN,.4),hcLight:fn(oN,.5)},R(1274,`Background color for the primary inline edit gutter indicator.`)),cN=C(`inlineEdit.gutterIndicator.secondaryForeground`,$a,R(1275,`Foreground color for the secondary inline edit gutter indicator.`)),lN=C(`inlineEdit.gutterIndicator.secondaryBorder`,zl,R(1276,`Border color for the secondary inline edit gutter indicator.`)),uN=C(`inlineEdit.gutterIndicator.secondaryBackground`,Hc,R(1277,`Background color for the secondary inline edit gutter indicator.`)),dN=C(`inlineEdit.gutterIndicator.successfulForeground`,rt,R(1278,`Foreground color for the successful inline edit gutter indicator.`)),fN=C(`inlineEdit.gutterIndicator.successfulBorder`,cr,R(1279,`Border color for the successful inline edit gutter indicator.`)),pN=C(`inlineEdit.gutterIndicator.successfulBackground`,fN,R(1280,`Background color for the successful inline edit gutter indicator.`)),mN=C(`inlineEdit.gutterIndicator.background`,{hcDark:fn(`tab.inactiveBackground`,.5),hcLight:fn(`tab.inactiveBackground`,.5),dark:fn(`tab.inactiveBackground`,.5),light:`#5f5f5f18`},R(1281,`Background color for the inline edit gutter indicator.`)),hN=C(`inlineEdit.originalBorder`,{light:na,dark:na,hcDark:na,hcLight:na},R(1282,`Border color for the original text in inline edits.`)),gN=C(`inlineEdit.modifiedBorder`,{light:ar(_l,.6),dark:_l,hcDark:_l,hcLight:_l},R(1283,`Border color for the modified text in inline edits.`)),_N=C(`inlineEdit.tabWillAcceptModifiedBorder`,{light:ar(gN,0),dark:ar(gN,0),hcDark:ar(gN,0),hcLight:ar(gN,0)},R(1284,`Modified border color for the inline edits widget when tab will accept it.`)),vN=C(`inlineEdit.tabWillAcceptOriginalBorder`,{light:ar(hN,0),dark:ar(hN,0),hcDark:ar(hN,0),hcLight:ar(hN,0)},R(1285,`Original border color for the inline edits widget over the original text when tab will accept it.`));function yN(e){return e.map(e=>e===yk.Accept?_N:gN)}function bN(e){return e.map(e=>e===yk.Accept?vN:hN)}function xN(e,t){let n;n=typeof e==`string`?CN(e,t):e.map((e,n)=>CN(e,t).read(n));let r=CN(fa,t);return n.map((e,t)=>e.makeOpaque(r.read(t)))}function SN(e){let t;switch(e){case Ok.TextEditor:t=fa;break;case Ok.DiffEditor:t=fa;break;case Ok.Notebook:t=`notebook.cellEditorBackground`;break;default:Hl(e,`Not supported editor type yet`)}return Fn(t)}function CN(e,t){return de({owner:{observeColor:e},equalsFn:(e,t)=>e.equals(t),debugName:()=>`observeColor(${e})`},t.onDidColorThemeChange,()=>{let n=t.getColorTheme().getColor(e);if(!n)throw new lc(`Missing color: ${e}`);return n})}function wN(e,t,n){let r=e.model.read(n);if(!r)return 0;let i=0;for(let r=t.startLineNumber;r<t.endLineNumberExclusive;r++){let t=e.getWidthOfLine(r,n);i=Math.max(i,t)}let a=t.mapToLineArray(e=>r.getLineContent(e));return i<5&&a.some(e=>e.length>0)&&r.uri.scheme!==`file`&&console.log(`unexpected width`),i}function TN(e,t,n){Ie(e,e.editor.onDidChangeLineHeight).read(n);let r=e.model.read(n);if(!r)throw new lc(`Model is required`);let i=[];for(let a=t.startLineNumber;a<t.endLineNumberExclusive;a++){let t=e.getWidthOfLine(a,n);t===-1&&(t=r.getLineMaxColumn(a)*e.editor.getOption(59).typicalHalfwidthCharacterWidth);let o=e.editor.getLineHeightForPosition(new k(a,1));i.push(new xM(t,o))}return i}function EN(e,t,n){return e.layoutInfo.read(n),e.value.read(n),e.model.read(n)?(e.scrollTop.read(n),e.editor.getOffsetForColumn(t.lineNumber,t.column)):0}function DN(e,t,n,r,i=void 0){let a=r.getModel();if(!a)return{prefixTrim:0,prefixLeftOffset:0};let o=e.map(e=>e.isSingleLine()?e.startColumn-1:0),s=t.mapToLineArray(e=>Ja(a.getLineContent(e))),c=n.filter(e=>e!==``).map(e=>Ja(e)),l=Math.min(...o,...s,...c),u;if(a.getLineIndentColumn(t.startLineNumber)>=l+1)ku(r).scrollTop.read(i),u=r.getOffsetForColumn(t.startLineNumber,l+1);else if(n.length>0)u=ON(n[0].slice(0,l),r,a);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:l,prefixLeftOffset:u}}function ON(e,t,n){let r=t.getOption(59).typicalHalfwidthCharacterWidth,i=n.getOptions().tabSize*r,a=e.split(` `).length-1;return(e.length-a)*r+a*i}function kN(e){let t=e.layoutInfoContentLeft,n=P({name:`editor.validOverlay.width`},n=>{let r=e.layoutInfoMinimap.read(n).minimapLeft!==0,i=Math.max(0,e.layoutInfoWidth.read(n)-t.read(n));if(r){let t=e.layoutInfoMinimap.read(n).minimapWidth+e.layoutInfoVerticalScrollbarWidth.read(n);return Math.max(0,i-t)}return i}),r=P({name:`editor.validOverlay.height`},t=>e.layoutInfoHeight.read(t)+e.contentHeight.read(t));return P({name:`editor.validOverlay`},e=>SM.fromLeftTopWidthHeight(t.read(e),0,n.read(e),r.read(e)))}function AN(e,t){let n=[];for(let r of e){let e=t.mapRange(r.modifiedRange);n.push(new bo(r.originalRange,e))}return n}function jN(...e){return e.filter(e=>typeof e==`string`).join(` `)}function MN(e,t){return new S(t.lineNumber,t.column+e.start,t.lineNumber,t.column+e.endExclusive)}function NN(e,t){let n=0;loop:for(let r=0,i=e.length;r<i;r++)switch(e.charCodeAt(r)){case 9:n+=t;break;case 32:n++;break;default:break loop}return n-n%t}function PN(e,t,n){let r=t-t%n,i=0;for(;i<e.length&&r!==0;i++)switch(e.charCodeAt(i)){case 9:r-=n;break;case 32:r--;break;default:throw new lc(`Unexpected character found while calculating indent length`)}return i}function FN(e,t,n){let r=Do(e),i=[],a=qr(t.mapToLineArray(e=>NN(r[e-1],n)),ke);return t.forEach(e=>{let t=PN(r[e-1],a,n);i.push(new Tc(MN(new co(0,t),new k(e,1)),``))}),new cl(i)}var IN=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 LN(e){let t=lr(void 0,(t,n)=>e.read(t)||n);return xr({debugName:()=>`${e.debugName}.mapOutFalsy`},n=>{if(t.read(n),e.read(n))return t})}function RN(e,t=lu.ofCaller()){return{left:P({name:`editor.validOverlay.left`},t=>e(t)?.left,t),top:P({name:`editor.validOverlay.top`},t=>e(t)?.top,t),width:P({name:`editor.validOverlay.width`},t=>{let n=e(t);if(n)return n.width},t),height:P({name:`editor.validOverlay.height`},t=>{let n=e(t);if(n)return n.height},t)}}function zN(e,t){let n=e.getContainerDomNode(),r=Dt(`domRect`,n.getBoundingClientRect());return t.add(e.onDidLayoutChange(e=>{r.set(n.getBoundingClientRect(),void 0)})),r}var BN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VN=function(e,t){return function(n,r){t(n,r,e)}},HN=class{constructor(e,t,n,r,i,a){this._editorObs=e,this._data=t,this._close=n,this._contextKeyService=r,this._keybindingService=i,this._commandService=a,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map(e=>e.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let e=Dt(`active`,void 0),t=t=>({title:t.title,icon:t.icon,keybinding:typeof t.commandId==`string`?this._getKeybinding(t.commandArgs?void 0:t.commandId):P(this,e=>typeof t.commandId==`string`?void 0:this._getKeybinding(t.commandArgs?void 0:t.commandId.read(e)).read(e)),isActive:e.map(e=>e===t.id),onHoverChange:n=>e.set(n?t.id:void 0,void 0),onAction:()=>{let e=typeof t.commandId==`string`?t.commandId:t.commandId.get();return this._close(!0,e),this._commandService.executeCommand(e,...t.commandArgs??[])}}),n=this._data.extensionCommands.map(e=>e.map((e,n)=>GN(t({id:e.command.id+`_`+n,title:e.command.title,icon:e.icon??w.symbolEvent,commandId:e.command.id,commandArgs:e.command.arguments})))),r=[];for(let e of n)e.length>0&&(r.push(qN()),r.push(...e));if(this._data.extensionCommandsOnly)return UN(r.slice(1));let i=WN(this._data.displayName),a=GN(t({id:`gotoAndAccept`,title:R(1256,`Go To / Accept`),icon:w.check,commandId:sg})),o=GN(t({id:`reject`,title:R(1257,`Reject`),icon:w.close,commandId:fg})),s=this._data.alternativeAction?GN(t({id:`alternativeCommand`,title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:cg})):void 0,c=[],l=this._inlineEditsShowCollapsed.map(e=>GN(t(e?{id:`showExpanded`,title:R(1258,`Show Expanded`),icon:w.expandAll,commandId:pg}:{id:`showCollapsed`,title:R(1259,`Show Collapsed`),icon:w.collapseAll,commandId:pg}))),u=GN(t({id:`snooze`,title:R(1260,`Snooze`),icon:w.bellSlash,commandId:`editor.action.inlineSuggest.snooze`})),d=GN(t({id:`settings`,title:R(1261,`Settings`),icon:w.gear,commandId:`workbench.action.openSettings`,commandArgs:[`@tag:nextEditSuggestions`]})),p=this._data.action?[this._data.action]:[],m=p.length>0?KN(p.map(e=>({id:e.id,label:e.title+`...`,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[]),class:void 0,tooltip:e.tooltip??e.title})),{hoverDelegate:f}):void 0;return UN([i,a,s,o,l,c.length?qN():void 0,...c,u,d,...r,m?qN():void 0,m])}_getKeybinding(e){return e?yd(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e)):Ec(void 0)}};HN=BN([VN(3,Ls),VN(4,Ir),VN(5,or)],HN);function UN(e){return K.div({class:`content`,style:{margin:4,minWidth:180}},e)}function WN(e){return K.div({class:`header`,style:{color:Fn(h),fontSize:`13px`,fontWeight:`600`,padding:`0 4px`,lineHeight:28}},[e])}function GN(e){return P({name:`inlineEdits.option`},t=>K.div({class:[`monaco-menu-option`,e.isActive?.map(e=>e&&`active`)],onmouseenter:()=>e.onHoverChange?.(!0),onmouseleave:()=>e.onHoverChange?.(!1),onclick:e.onAction,onkeydown:t=>{t.key===`Enter`&&e.onAction?.()},tabIndex:0,style:{borderRadius:3}},[K.elem(`span`,{style:{fontSize:16,display:`flex`}},[tt.isThemeIcon(e.icon)?bd(e.icon):e.icon.map(e=>bd(e))]),K.elem(`span`,{},[e.title]),K.div({style:{marginLeft:`auto`},ref:n=>{let r=t.store.add(new Uu(n,_d,{disableTitle:!0,...fc,keybindingLabelShadow:void 0,keybindingLabelForeground:Fn(h),keybindingLabelBackground:`transparent`,keybindingLabelBorder:`transparent`,keybindingLabelBottomBorder:void 0}));t.store.add(E(t=>{r.set(e.keybinding.read(t))}))}})]))}function KN(e,t){return P({name:`inlineEdits.actionBar`},n=>K.div({class:[`action-widget-action-bar`],style:{padding:`3px 24px`}},[K.div({ref:r=>{n.store.add(new Bn(r,t)).push(e,{icon:!1,label:!0})}})]))}function qN(){return K.div({id:`inline-edit-gutter-indicator-menu-separator`,class:`menu-separator`,style:{color:Fn(Et),padding:`2px 0`}},K.div({style:{borderBottom:`1px solid ${Fn(zl)}`}}))}var JN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YN=function(e,t){return function(n,r){t(n,r,e)}},XN=class{constructor(e,t,n,r,i){this.gutterMenuData=e,this.originalRange=t,this.model=n,this.altAction=r,this.customization=i}},ZN=class e{static fromInlineSuggestion(t){let n=t.action?.kind===`edit`?t.action.alternativeAction:void 0,r=t.source.inlineSuggestions.commands??[];return new e(t.gutterMenuLinkAction,t.source.provider.displayName??R(1262,`Inline Suggestion`),r.length>0?[r]:[],n,t.source.provider.modelInfo,t.source.provider.setModelId?.bind(t.source.provider))}constructor(e,t,n,r,i,a,o=!1){this.action=e,this.displayName=t,this.extensionCommands=n,this.alternativeAction=r,this.modelInfo=i,this.setModelId=a,this.extensionCommandsOnly=o}},QN=class e{static fromInlineCompletionModel(t){return new e(()=>t.accept(),()=>t.jump())}constructor(e,t){this.accept=e,this.jump=t}},$N=16,eP=2,tP=class extends O{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._editorObs=e,this._data=t,this._tabAction=n,this._verticalOffset=r,this._isHoveringOverInlineEdit=i,this._focusIsInMenu=a,this._hoverService=o,this._instantiationService=s,this._accessibilityService=c,this._themeService=l,this._userInteractionService=u,this._onDidCloseWithCommand=this._register(new B),this._modifierPressed=P(this,e=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),e).shiftKey),this._gutterIndicatorStyles=P(this,e=>{let t=this._tabAction.read(e),n=this._data.read(e)?.altAction,r=this._modifierPressed.read(e);switch(n&&r&&(t=yk.Inactive),t){case yk.Inactive:return{background:xN(uN,this._themeService).read(e).toString(),foreground:xN(cN,this._themeService).read(e).toString(),border:xN(lN,this._themeService).read(e).toString()};case yk.Jump:return{background:xN(sN,this._themeService).read(e).toString(),foreground:xN(aN,this._themeService).read(e).toString(),border:xN(oN,this._themeService).read(e).toString()};case yk.Accept:return{background:xN(pN,this._themeService).read(e).toString(),foreground:xN(dN,this._themeService).read(e).toString(),border:xN(fN,this._themeService).read(e).toString()};default:Hl()}}),this._state=P(this,e=>{let t=this._originalRangeObs.read(e);if(t)return{range:t,lineOffsetRange:this._editorObs.observeLineOffsetRange(t,e.store)}}),this._lineNumberToRender=P(this,e=>{if(this._verticalOffset.read(e)!==0)return``;let t=this._data.read(e)?.originalRange.startLineNumber,n=this._editorObs.getOption(76).read(e);if(t===void 0||n.renderType===0)return``;if(n.renderType===3){let n=this._editorObs.cursorPosition.read(e);return t%10==0||n&&n.lineNumber===t?t.toString():``}if(n.renderType===2){let n=this._editorObs.cursorPosition.read(e);if(!n)return``;let r=Math.abs(t-n.lineNumber);return r===0?t.toString():r.toString()}return n.renderType===4?n.renderFn?n.renderFn(t):``:t.toString()}),this._availableWidthForIcon=P(this,e=>{let t=this._editorObs.editor.getModel(),n=this._editorObs.editor,r=this._editorObs.layoutInfo.read(e),i=r.decorationsLeft+r.decorationsWidth-r.glyphMarginLeft;if(!t||i<=0)return()=>0;if(r.lineNumbersLeft===0)return()=>i;let a=this._editorObs.getOption(76).read(e);if(a.renderType===2||a.renderType===0)return()=>i;let o=n.getOption(59).typicalHalfwidthCharacterWidth,s=r.lineNumbersLeft+r.lineNumbersWidth,c=(t.getLineCount()+1).toString().length,l=[];for(let e=1;e<=c;e++){let t=10**(e-1),a=n.getTopForLineNumber(t),c=e*o,u=Math.min(i,Math.max(0,s-c-r.glyphMarginLeft));l.push({firstLineNumberWithDigitCount:t,topOfLineNumber:a,usableWidthLeftOfLineNumber:u})}return e=>{for(let t=l.length-1;t>=0;t--)if(e>=l[t].topOfLineNumber)return l[t].usableWidthLeftOfLineNumber;throw new lc(`Could not find avilable width for icon`)}}),this._layout=P(this,e=>{let t=this._state.read(e);if(!t)return;let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.observeLineHeightForLine(t.range.map(e=>e.startLineNumber)).read(e),i=n.decorationsLeft+n.decorationsWidth-n.glyphMarginLeft-2,a=n.height-4,o=SM.fromLeftTopWidthHeight(1,2,i,a),s=o.withTop(this._stickyScrollHeight.read(e)),c=o.withTop(s.top+2),l=t.lineOffsetRange.read(e),u=SM.fromRanges(co.fromTo(c.left,c.right),l),d=r,f=this._verticalOffset.read(e),p=u.withHeight(d).translateY(f),m=s.containsRect(p),h=this._data.read(e)?.customization?.icon,g=h?Ec(h):this._tabAction.map(e=>e===yk.Accept?w.keyboardTab:w.arrowRight),_=h?Ec(h):P(this,e=>this._isHoveredOverIconDebounced.read(e)||this._isHoveredOverInlineEditDebounced.read(e)?w.check:this._tabAction.read(e)===yk.Accept?w.keyboardTab:(this._editorObs.cursorLineNumber.read(e)??0)<=t.range.read(e).startLineNumber?w.keyboardTabAbove:w.keyboardTabBelow),v=e=>{let t=this._availableWidthForIcon.read(void 0)(e.bottom+this._editorObs.editor.getScrollTop())-1;return Math.max(Math.min(t,22),$N)};if(m){let e=p,t;t=n.lineNumbersWidth===0?Math.max(0,Math.min(Math.max(n.lineNumbersLeft-o.left,0),e.width-22)):Math.max(n.lineNumbersLeft+n.lineNumbersWidth-o.left,0);let r=e.withWidth(t),i=Math.min(e.width-t,22);return{gutterEditArea:u,icon:_,iconDirection:`right`,iconRect:e.withWidth(Math.max(i,18)).translateX(t),iconVisible:i>=18,pillRect:e,lineNumberRect:r}}let y=o.intersect(u);if(y&&y.height>=d){let e=p.moveToBeContainedIn(c).moveToBeContainedIn(y),t=e.withWidth(v(e));return{gutterEditArea:u,icon:_,iconDirection:`right`,iconRect:t,pillRect:t,iconVisible:!0}}let ee=p.moveToBeContainedIn(o),te=ee.withWidth(v(ee)),ne=te;return{gutterEditArea:u,icon:g,iconDirection:te.top<p.top?`top`:`bottom`,iconRect:ne,pillRect:te,iconVisible:!0}}),this._iconRef=K.ref(),this.isVisible=this._layout.map(e=>!!e),this._hoverVisible=Dt(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=Dt(this,!1),this._isHoveredOverIconDebounced=Dn(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=K.div({class:`inline-edits-view-gutter-indicator`,style:{position:`absolute`,overflow:`visible`}},LN(this._layout).map(e=>e?[K.div({style:{position:`absolute`,background:Fn(mN),borderRadius:`3px`,...RN(t=>e.read(t).gutterEditArea)}}),K.div({class:`icon`,ref:this._iconRef,tabIndex:0,onclick:()=>{let e=this._layout.get()?.icon.get()===w.check,t=this._data.get();if(!t)throw new lc(`Gutter indicator data not available`);this._editorObs.editor.focus(),e?t.model.accept():t.model.jump()},onmouseenter:()=>{this._showHover()},style:{cursor:`pointer`,zIndex:`20`,position:`absolute`,backgroundColor:this._gutterIndicatorStyles.map(e=>e.background),"--vscodeIconForeground":this._gutterIndicatorStyles.map(e=>e.foreground),border:this._gutterIndicatorStyles.map(e=>`1px solid ${e.border}`),boxSizing:`border-box`,borderRadius:`3px`,display:`flex`,justifyContent:e.map(e=>e.iconDirection===`bottom`?`flex-start`:`flex-end`),transition:this._modifierPressed.map(e=>e?``:`background-color 0.2s ease-in-out, width 0.2s ease-in-out`),...RN(t=>e.read(t).pillRect)}},[K.div({className:`line-number`,style:{lineHeight:e.map(e=>e.lineNumberRect?e.lineNumberRect.height:0),display:e.map(e=>e.lineNumberRect?`flex`:`none`),alignItems:`center`,justifyContent:`flex-end`,width:e.map(e=>e.lineNumberRect?e.lineNumberRect.width:0),height:`100%`,color:this._gutterIndicatorStyles.map(e=>e.foreground)}},this._lineNumberToRender),K.div({style:{transform:e.map(e=>`rotate(${nP(e.iconDirection)}deg)`),transition:`rotate 0.2s ease-in-out, opacity 0.2s ease-in-out`,display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,opacity:e.map(e=>e.iconVisible?`1`:`0`),marginRight:e.map(e=>e.pillRect.width-e.iconRect.width-(e.lineNumberRect?.width??0)),width:e.map(e=>e.iconRect.width),position:`relative`,right:e.map(e=>e.iconDirection===`top`?`1px`:`0`),color:this._data.map(e=>e?.customization?.icon?.color?Fn(e.customization.icon.color.id):void 0)}},[e.map((e,t)=>rP(bd(e.icon.read(t)),{fontSize:iP(Math.min(e.iconRect.width-eP,$N))}))])])]:[])),this._originalRangeObs=LN(this._data.map(e=>e?.originalRange)),this._stickyScrollController=$M.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?yd(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):Ec(0),this._isHoveredOverInlineEditDebounced=Dn(this._isHoveringOverInlineEdit,100);let d=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:d.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:Ec(0)})),this._register(this._editorObs.editor.onMouseMove(e=>{if(this._state.get()===void 0)return;let t=this._iconRef.element.getBoundingClientRect(),n=SM.fromLeftTopWidthHeight(t.left,t.top,t.width,t.height),r=new cd(e.event.posx,e.event.posy);this._isHoveredOverIcon.set(n.containsPoint(r),void 0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(me(this._isHoveredOverInlineEditDebounced,e=>{e&&this.triggerAnimation()})),this._register(E(e=>{d.readEffect(e),d.element&&this._editorObs.editor.applyFontInfo(d.element)}))}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map(e=>e.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=this._data.get();if(!e)throw new lc(`Gutter indicator data not available`);let t=new b,n=t.add(this._instantiationService.createInstance(HN,this._editorObs,e.gutterMenuData,(e,t)=>{e&&this._editorObs.editor.focus(),t&&this._onDidCloseWithCommand.fire(t),i?.dispose()}).toDisposableLiveElement()),r=this._userInteractionService.createFocusTracker(n.element,t);t.add(E(e=>{this._focusIsInMenu.set(r.read(e),void 0)})),t.add(Tn(()=>this._focusIsInMenu.set(!1,void 0)));let i=this._hoverService.showInstantHover({target:this._iconRef.element,content:n.element});i?(this._hoverVisible.set(!0,void 0),t.add(this._editorObs.editor.onDidScrollChange(()=>i.dispose())),t.add(i.onDispose(()=>{this._hoverVisible.set(!1,void 0),t.dispose()}))):t.dispose()}};tP=JN([YN(6,_a),YN(7,x),YN(8,ui),YN(9,nu),YN(10,zt)],tP);function nP(e){switch(e){case`top`:return 90;case`bottom`:return-90;case`right`:return 0}}function rP(e,t){for(let n in t)e.style[n]=t[n];return e}function iP(e){return`${e}px`}var aP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oP=function(e,t){return function(n,r){t(n,r,e)}},sP;(function(e){e.FirstTime=`firstTime`,e.SecondTime=`secondTime`,e.Active=`active`})(sP||={});var cP=class extends O{constructor(e,t,n,r,i){super(),this._model=e,this._indicator=t,this._collapsedView=n,this._storageService=r,this._configurationService=i,this._disposables=this._register(new Ne),this._setupDone=Dt({name:`setupDone`},!1),this._activeCompletionId=P(e=>{let t=this._model.read(e);if(!t||!this._setupDone.read(e))return;let n=this._indicator.read(e);if(!(!n||!n.isVisible.read(e)))return t.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===sP.Active)return;let e=new b,t=!1,n=!1,r=0,i=0;return e.add(Di(this._activeCompletionId,async(e,a,o,s)=>{if(e===void 0)return;let c=this.getNewUserType();switch(c){case sP.FirstTime:(r++>=5||t)&&(c=sP.SecondTime,this.setNewUserType(c));break;case sP.SecondTime:i++>=3&&n&&(c=sP.Active,this.setNewUserType(c))}switch(c){case sP.FirstTime:for(let e=0;e<3&&!s.isCancellationRequested;e++)await this._indicator.get()?.triggerAnimation(),await $o(500);break;case sP.SecondTime:this._indicator.get()?.triggerAnimation()}})),e.add(E(e=>{this._collapsedView.isVisible.read(e)&&this.getNewUserType()!==sP.Active&&this._collapsedView.triggerAnimation()})),e.add(E(e=>{let n=this._indicator.read(e);n&&e.store.add(me(n.isHoveredOverIcon,async e=>{e&&(t=!0)}))})),e.add(E(e=>{let t=this._model.read(e);t&&e.store.add(t.onDidAccept(()=>{n=!0}))})),e}getNewUserType(){return this._storageService.get(`inlineEditsGutterIndicatorUserKind`,-1,sP.FirstTime)}setNewUserType(e){switch(e){case sP.FirstTime:throw new lc(`UserKind should not be set to first time`);case sP.SecondTime:break;case sP.Active:this._disposables.clear()}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(t=>{t.affectsConfiguration(e)&&this._configurationService.getValue(e)&&(this._storageService.remove(`inlineEditsGutterIndicatorUserKind`,-1),this._disposables.value=this.setupNewUserExperience())})}};cP=aP([oP(3,sl),oP(4,Ea)],cP);var lP,uP=class{constructor(e){this.replacements=e,Na(no(e,(e,t)=>e.lineRange.endLineNumberExclusive<=t.lineRange.startLineNumber))}toString(){return this.replacements.map(e=>e.toString()).join(`,`)}getNewLineRanges(){let e=[],t=0;for(let n of this.replacements)e.push(ld.ofLength(n.lineRange.startLineNumber+t,n.newLines.length)),t+=n.newLines.length-n.lineRange.length;return e}};lP=uP,lP.empty=new lP([]);var dP=class e{static fromSingleTextEdit(t,n){let r=Do(t.text),i=t.range.startLineNumber,a=n.getValueOfRange(S.fromPositions(new k(t.range.startLineNumber,1),t.range.getStartPosition()));r[0]=a+r[0];let o=t.range.endLineNumber+1,s=n.getTransformer().getLineLength(t.range.endLineNumber)+1,c=n.getValueOfRange(S.fromPositions(t.range.getEndPosition(),new k(t.range.endLineNumber,s)));r[r.length-1]=r[r.length-1]+c;let l=t.range.startColumn===n.getTransformer().getLineLength(t.range.startLineNumber)+1,u=t.range.endColumn===1;return l&&r[0].length===a.length&&(i++,r.shift()),r.length>0&&i<o&&u&&r[r.length-1].length===c.length&&(o--,r.pop()),new e(new ld(i,o),r)}constructor(e,t){this.lineRange=e,this.newLines=t}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new uP([this])}},fP=class{get lineEdit(){return this.action?.kind===`jumpTo`?new dP(ld.ofLength(this.action.position.lineNumber,0),[]):this.action?.kind===`edit`?dP.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText):new dP(new ld(1,1),[])}get originalLineRange(){return this.lineEdit.lineRange}get modifiedLineRange(){return this.lineEdit.toLineEdit().getNewLineRanges()[0]}get displayRange(){return this.originalText.lineRange.intersect(this.originalLineRange.join(ld.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(e,t,n,r,i,a,o){this.originalText=e,this.action=t,this.edit=n,this.cursorPosition=r,this.multiCursorPositions=i,this.commands=a,this.inlineCompletion=o}},pP=class{constructor(e,t,n){this._model=e,this.inlineEdit=t,this.tabAction=n,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=P(this,e=>DA(this._model.editor,this.inlineEdit.inlineCompletion,e)),this.onDidAccept=this._model.onDidAccept}accept(e){this._model.accept(void 0,e)}handleInlineEditShownNextFrame(e,t){let n=this.inlineEdit.inlineCompletion,r=Date.now();n.addRef(),Gt(()=>{this._model.handleInlineSuggestionShown(n,e,t,r),n.removeRef()})}},mP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hP=function(e,t){return function(n,r){t(n,r,e)}},gP=class extends O{constructor(e,t,n){super(),this._editor=e,this._edit=t,this._accessibilityService=n,this.onDidClick=qu.None,this._iconRef=K.ref(),this.isHovered=Ec(!1),this._editorObs=ku(this._editor);let r=this._edit.map(e=>e?.edit?.replacements[0]??null).map(e=>e?TO(e,this._editor.getModel()).range.getStartPosition():null),i=this._editorObs.observePosition(r,this._store),a=P(e=>{let t=i.read(e);if(!t)return null;let n=this._editorObs.layoutInfoContentLeft.read(e),r=this._editorObs.scrollLeft.read(e);return new cd(n+t.x-r,t.y)}),o=K.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:o,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:Ec(0)})),this.isVisible=this._edit.map((e,t)=>!!e&&a.read(t)!==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,n=e.map((e,n)=>e?e.deltaX(-t.read(n)):null),r=this.createIconPath(n);return K.svg({class:`collapsedView`,ref:this._iconRef,style:{position:`absolute`,...RN(e=>kN(this._editorObs).read(e)),overflow:`hidden`,pointerEvents:`none`}},[K.svgElem(`path`,{class:`collapsedViewPath`,d:r,fill:Fn(oN)})])}createIconPath(e){return e.map(e=>{if(!e)return new IN().build();let t=e.deltaX(-3).deltaY(-1),n=t.deltaX(6),r=t.deltaY(1),i=n.deltaY(1),a=r.deltaX(3).deltaY(3);return new IN().moveTo(t).lineTo(n).lineTo(i).lineTo(a).lineTo(r).lineTo(t).build()})}};gP=mP([hP(2,ui)],gP);var _P=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vP=function(e,t){return function(n,r){t(n,r,e)}},yP=14,bP=0,xP=4,SP=4,CP=class extends O{constructor(e,t,n,r,i,a){super(),this._editor=e,this._languageService=a,this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._isHovered=Dt(this,!1),this.isHovered=this._isHovered,this._viewRef=K.ref(),this._editorObs=ku(this._editor);let o=n.map((e,t)=>{let n;switch(e){case yk.Inactive:n=uN;break;case yk.Jump:n=sN;break;case yk.Accept:n=pN}return{border:xN(n,i).read(t).toString(),background:SN(r.read(t))}}),s=t.map(e=>e?this.getState(e):void 0),c=s.map(e=>e?this.getRendering(e,o):void 0);this.minEditorScrollHeight=P(this,e=>{let t=s.read(e);return t?t.rect.read(e).bottom+this._editor.getScrollTop():0});let l=K.div({class:`inline-edits-custom-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:`block`}},[c]).keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:l.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:lr(this,(e,t)=>{let n=s.read(e);if(!n)return t??0;let r=n.rect.map(e=>e.right).read(e)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(e)+xP-this._editorObs.layoutInfoContentLeft.read(e);return Math.max(t??0,r)}).recomputeInitiallyAndOnChange(this._store)})),this._register(E(e=>{if(!c.read(e)){this._isHovered.set(!1,void 0);return}this._isHovered.set(l.isHovered.read(e),void 0)}))}fitsInsideViewport(e,t,n){let r=this._editorObs.layoutInfoWidth.read(n),i=this._editorObs.layoutInfoContentLeft.read(n),a=this._editor.getLayoutInfo().verticalScrollbarWidth,o=this._editorObs.layoutInfoMinimap.read(n).minimapLeft===0?0:this._editorObs.layoutInfoMinimap.read(n).minimapWidth;return wN(this._editorObs,e,void 0)+ON(t,this._editor,this._editor.getModel())+18<r-i-a-o}getState(e){let t=P(this,t=>{let n=e.range.startLineNumber,r=e.range.endLineNumber,i=e.range.startColumn,a=e.range.endColumn,o=this._editor.getModel()?.getLineCount()??0;return{lineWidth:wN(this._editorObs,new ld(n,n+1),t),lineWidthBelow:n+1<=o?wN(this._editorObs,new ld(n+1,n+2),t):void 0,lineWidthAbove:n-1>=1?wN(this._editorObs,new ld(n-1,n),t):void 0,startContentLeftOffset:this._editor.getOffsetForColumn(n,i),endContentLeftOffset:this._editor.getOffsetForColumn(r,a)}}),n=e.range.startLineNumber,r=e.range.endLineNumber,i=this.fitsInsideViewport(new ld(n,r+1),e.content,void 0);return{rect:P(this,a=>{let o=this._editorObs.getOption(59).read(a).typicalHalfwidthCharacterWidth,{lineWidth:s,lineWidthBelow:c,lineWidthAbove:l,startContentLeftOffset:u,endContentLeftOffset:d}=t.read(a),f=this._editorObs.layoutInfoContentLeft.read(a),p=this._editorObs.observeLineHeightForLine(n).recomputeInitiallyAndOnChange(a.store).read(a),m=this._editorObs.scrollTop.read(a),h=this._editorObs.scrollLeft.read(a),g;g=n===r&&d+5*o>=s&&i?`end`:c!==void 0&&c+yP-SP-xP<u?`below`:l!==void 0&&l+yP-SP-xP<u?`above`:`end`;let _,v,y=0,ee=0;switch(g){case`end`:_=this._editorObs.editor.getTopForLineNumber(n),v=s,y=18;break;case`below`:_=this._editorObs.editor.getTopForLineNumber(n+1),v=u,y=8,ee=2;break;case`above`:_=this._editorObs.editor.getTopForLineNumber(n-1),v=u,y=8,ee=2}return SM.fromLeftTopWidthHeight(f+v-h,_-m,o*e.content.length,p).withMargin(bP,xP).translateX(y).translateY(ee)}),label:e.content,kind:e.style}}getRendering(e,t){let n=document.createElement(`div`),r=this._editor.getModel().tokenization.tokenizeLinesAt(1,[e.label])?.[0],i;i=r&&e.kind===Rt.Code?Zc.fromLineTokens(r).toLineTokens(e.label,this._languageService.languageIdCodec):Ra.createEmpty(e.label,this._languageService.languageIdCodec);let a=qe(new zu([i]),ri.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],n,!0);n.style.width=`${a.minWidthInPx}px`;let o=e.rect.map(e=>e.withMargin(0,xP));return K.div({class:`collapsedView`,ref:this._viewRef,style:{position:`absolute`,...RN(e=>o.read(e)),overflow:`hidden`,boxSizing:`border-box`,cursor:`pointer`,border:t.map(e=>`1px solid ${e.border}`),borderRadius:`3px`,backgroundColor:t.map(e=>e.background),display:`flex`,alignItems:`center`,justifyContent:`center`,whiteSpace:`nowrap`},onmousedown:e=>{e.preventDefault()},onclick:e=>{this._onDidClick.fire(bk.create(e))}},[n])}};CP=_P([vP(4,nu),vP(5,os)],CP);var wP=0,TP=0,EP=1,DP=1,OP=3,kP=3,AP=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._edit=t,this._uiState=n,this._tabAction=r,this.onDidClick=qu.None,this._display=P(this,e=>this._uiState.read(e)?`block`:`none`),this._editorMaxContentWidthInRange=P(this,e=>{let t=this._originalDisplayRange.read(e);return t?(this._editorObs.versionId.read(e),lr(this,(e,n)=>{let r=wN(this._editorObs,t,e);return Math.max(r,n??0)})):Ec(0)}).map((e,t)=>e.read(t)),this._maxPrefixTrim=P(this,e=>{let t=this._uiState.read(e);return t?DN(t.deletions,t.originalRange,[],this._editor):{prefixTrim:0,prefixLeftOffset:0}}),this._editorLayoutInfo=P(this,e=>{let t=this._edit.read(e);if(!t||!this._uiState.read(e))return null;let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.scrollLeft.read(e),i=this._editorObs.getOption(59).map(e=>e.typicalHalfwidthCharacterWidth).read(e),a=n.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(e),i)-r,o=t.originalLineRange,s=this._originalVerticalStartPosition.read(e)??this._editor.getTopForLineNumber(o.startLineNumber)-this._editorObs.scrollTop.read(e),c=this._originalVerticalEndPosition.read(e)??this._editor.getTopForLineNumber(o.endLineNumberExclusive)-this._editorObs.scrollTop.read(e),l=n.contentLeft+this._maxPrefixTrim.read(e).prefixLeftOffset-r;return a<=l?null:{codeRect:SM.fromLeftTopRightBottom(l,s,a,c).withMargin(TP,wP),contentLeft:n.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=K.div({style:{pointerEvents:`none`}},P(this,e=>{let t=LN(this._editorLayoutInfo).read(e);if(!t)return;let n=t.map(e=>SM.fromLeftTopRightBottom(e.contentLeft-kP-EP,e.codeRect.top,e.contentLeft,e.codeRect.bottom)),r=P(this,e=>{let r=t.read(e).codeRect,i=n.read(e);return r.intersectHorizontal(new co(i.left,2**53-1))}),i=this._uiState.map(e=>e?.editorType===Ok.DiffEditor?OP:DP).read(e),a=r.map(e=>e.withMargin(i,i)),o=SN(this._uiState.map(e=>e?.editorType??Ok.TextEditor).read(e));return[K.div({class:`originalSeparatorDeletion`,style:{...a.read(e).toStyles(),borderRadius:`${kP}px`,border:`${EP+i}px solid ${o}`,boxSizing:`border-box`}}),K.div({class:`originalOverlayDeletion`,style:{...r.read(e).toStyles(),borderRadius:`${kP}px`,border:bN(this._tabAction).map(e=>`${EP}px solid ${Fn(e)}`),boxSizing:`border-box`,backgroundColor:Fn(eN)}}),K.div({class:`originalOverlayHiderDeletion`,style:{...n.read(e).toStyles(),backgroundColor:o}})]})).keepUpdated(this._store),this._nonOverflowView=K.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=Ec(!1),this._editorObs=ku(this._editor);let i=P(this,e=>{let t=this._edit.read(e);return t?new k(t.originalLineRange.startLineNumber,1):null}),a=P(this,e=>{let t=this._edit.read(e);return t?new k(t.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map(e=>e?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(i,this._store).map(e=>e?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(a,this._store).map(e=>e?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:P(this,e=>{let t=this._editorLayoutInfo.read(e);return t===null?0:t.codeRect.width})}))}},jP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},MP=function(e,t){return function(n,r){t(n,r,e)}},NP=1,PP=1,FP=3,IP=3,LP=class extends O{constructor(e,t,n,r,i){super(),this._editor=e,this._input=t,this._tabAction=n,this._languageService=i,this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._state=P(this,e=>{let t=this._input.read(e);if(!t)return;let n=this._editor.getModel(),r=n.getEOL();if(t.startColumn===1&&t.lineNumber>1&&n.getLineLength(t.lineNumber)!==0&&t.text.endsWith(r)&&!t.text.startsWith(r)){let e=n.getLineLength(t.lineNumber-1)+1;return{lineNumber:t.lineNumber-1,column:e,text:r+t.text.slice(0,-r.length)}}return{lineNumber:t.lineNumber,column:t.startColumn,text:t.text}}),this._trimVertically=P(this,e=>{let t=this._state.read(e),n=t?.text;if(!n||n.trim()===``)return{topOffset:0,bottomOffset:0,linesTop:0,linesBottom:0};let r=this._editor.getLineHeightForPosition(new k(t.lineNumber,1)),i=this._editor.getModel().getEOL(),a=0,o=0,s=0;for(;s<n.length&&n.startsWith(i,s);s+=i.length)a+=1;for(let e=n.length;e>s&&n.endsWith(i,e);e-=i.length)o+=1;return{topOffset:a*r,bottomOffset:o*r,linesTop:a,linesBottom:o}}),this._maxPrefixTrim=P(this,e=>{let t=this._state.read(e);if(!t)return{prefixLeftOffset:0,prefixTrim:0};let n=this._editor.getModel(),r=n.getEOL(),i=this._trimVertically.read(e),a=t.text.split(r),o=a.slice(i.linesTop,a.length-i.linesBottom);return i.linesTop===0&&(o[0]=n.getLineContent(t.lineNumber)+o[0]),DN([],new ld(t.lineNumber,t.lineNumber+(i.linesTop>0?0:1)),o,this._editor)}),this._ghostText=P(e=>{let t=this._state.read(e),n=this._maxPrefixTrim.read(e);if(!t)return;let r=this._editor.getModel().getEOL(),i=t.text.split(r).map((e,t)=>new as(new S(t+1,t===0?1:n.prefixTrim+1,t+1,e.length+1),`modified-background`,0));return new bO(t.lineNumber,[new xO(t.column,t.text,!1,i)])}),this._display=P(this,e=>this._state.read(e)?`block`:`none`),this._editorMaxContentWidthInRange=P(this,e=>{let t=this._state.read(e);if(!t)return 0;this._editorObs.versionId.read(e);let n=this._editor.getModel(),r=n.getEOL(),i=t.text.startsWith(r)?``:n.getValueInRange(new S(t.lineNumber,1,t.lineNumber,t.column)),a=n.getValueInRange(new S(t.lineNumber,t.column,t.lineNumber,n.getLineLength(t.lineNumber)+1)),o=(i+t.text+a).split(r),s=ri.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),c=o.map(e=>{let r=n.tokenization.tokenizeLinesAt(t.lineNumber,[e])?.[0],i;return i=r?Zc.fromLineTokens(r).toLineTokens(e,this._languageService.languageIdCodec):Ra.createEmpty(e,this._languageService.languageIdCodec),qe(new zu([i]),s,[],N(`div`),!0).minWidthInPx});return Math.max(...c)}),this.startLineOffset=this._trimVertically.map(e=>e.topOffset),this.originalLines=this._state.map(e=>e?new ld(e.lineNumber,Math.min(e.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=P(this,e=>{this._ghostText.read(e);let t=this._state.read(e);if(!t)return null;this._editorObs.observePosition(Dt(this,new k(t.lineNumber,t.column)),e.store).read(e);let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.scrollLeft.read(e),i=this._editorObs.layoutInfoVerticalScrollbarWidth.read(e),a=n.contentLeft+this._editorMaxContentWidthInRange.read(e)-r,o=this._maxPrefixTrim.read(e).prefixLeftOffset??0,s=n.contentLeft+o-r;if(a<=s)return null;let{topOffset:c,bottomOffset:l}=this._trimVertically.read(e),u=this._editorObs.scrollTop.read(e),d=this._ghostTextView.height.read(e)-c-l,f=this._editor.getTopForLineNumber(t.lineNumber)-u+c,p=new SM(s,f,a,f+d);return{overlay:p,startsAtContentLeft:o===0,contentLeft:n.contentLeft,minContentWidthRequired:o+p.width+i}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=K.div({style:{pointerEvents:`none`}},P(this,e=>{let t=LN(this._overlayLayout).read(e);if(!t)return;let n=t.map(e=>SM.fromLeftTopRightBottom(e.contentLeft-IP-NP,e.overlay.top,e.contentLeft,e.overlay.bottom)).read(e),r=this._input.map(e=>e?.editorType===Ok.DiffEditor?FP:PP).read(e),i=t.map(e=>e.overlay.withMargin(0,NP,0,e.startsAtContentLeft?0:NP).intersectHorizontal(new co(n.left,2**53-1))),a=i.map(e=>e.withMargin(r,r)),o=SN(this._input.read(void 0)?.editorType??Ok.TextEditor);return[K.div({class:`originalUnderlayInsertion`,style:{...a.read(e).toStyles(),borderRadius:IP,border:`${NP+r}px solid ${o}`,boxSizing:`border-box`}}),K.div({class:`originalOverlayInsertion`,style:{...i.read(e).toStyles(),borderRadius:IP,border:yN(this._tabAction).map(e=>`${NP}px solid ${Fn(e)}`),boxSizing:`border-box`,backgroundColor:Fn(tN)}}),K.div({class:`originalOverlayHiderInsertion`,style:{...n.toStyles(),backgroundColor:o}})]})).keepUpdated(this._store),this._view=K.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=ku(this._editor),this._ghostTextView=this._register(r.createInstance(fM,this._editor,P(e=>{let t=this._ghostText.read(e);if(t)return{ghostText:t,handleInlineCompletionShown:e=>{},warning:void 0}}),{extraClasses:[`inline-edit`],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick(e=>{this._onDidClick.fire(new bk(e))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:P(this,e=>{let t=this._overlayLayout.read(e);return t===null?0:t.minContentWidthRequired})}))}};LP=jP([MP(3,x),MP(4,os)],LP);var RP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},zP=function(e,t){return function(n,r){t(n,r,e)}},BP=class extends O{constructor(e,t,n,r,i,a){super(),this._editor=e,this._edit=t,this._editorType=n,this._tabAction=r,this._languageService=i,this._themeService=a,this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((e,t)=>e?DN(e.replacements.flatMap(e=>[e.originalRange,e.modifiedRange]),e.originalRange,e.modifiedLines,this._editor.editor,t):void 0),this._modifiedLineElements=P(this,e=>{let t=[],n=0,r=this._maxPrefixTrim.read(e),i=this._edit.read(e);if(!i||!r)return;let a=r.prefixTrim,o=VP(i.replacements.map(e=>e.modifiedRange)).map(e=>new S(e.startLineNumber,e.startColumn-a,e.endLineNumber,e.endColumn-a)),s=this._editor.model.get(),c=i.modifiedRange.startLineNumber;for(let r=0;r<i.modifiedRange.length;r++){let l=document.createElement(`div`),u=c+r,d=i.modifiedLines[r].slice(a),f=s.tokenization.tokenizeLinesAt(u,[d])?.[0],p;p=f?Zc.fromLineTokens(f).toLineTokens(d,this._languageService.languageIdCodec):Ra.createEmpty(d,this._languageService.languageIdCodec);let m=[];for(let e of o.filter(e=>e.startLineNumber===u)){let t=Math.min(e.endColumn,d.length+1);m.push(new as(new S(1,e.startColumn,1,t),`inlineCompletions-modified-bubble`,0))}let h=qe(new zu([p]),ri.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),m,l,!0);this._editor.getOption(59).read(e),n=Math.max(n,h.minWidthInPx),t.push(l)}return{lines:t,requiredWidth:n}}),this._layout=P(this,e=>{let t=this._modifiedLineElements.read(e),n=this._maxPrefixTrim.read(e),r=this._edit.read(e);if(!t||!n||!r)return;let{prefixLeftOffset:i}=n,{requiredWidth:a}=t,o=this._editor.observeLineHeightsForLineRange(r.originalRange).read(e),s=(()=>{let e=o.slice(0,r.modifiedRange.length);for(;e.length<r.modifiedRange.length;)e.push(o[o.length-1]);return e})(),c=this._editor.layoutInfoContentLeft.read(e),l=this._editor.layoutInfoVerticalScrollbarWidth.read(e),u=this._editor.scrollLeft.read(e),d=this._editor.scrollTop.read(e),f=c-u,p=this._editor.editor.getModel(),m=r.originalRange.mapToLineArray(e=>this._editor.editor.getOffsetForColumn(e,p.getLineMaxColumn(e))-i),h=Math.max(...m,a),g=r.originalRange.startLineNumber,_=r.originalRange.endLineNumberExclusive-1,v=this._editor.editor.getTopForLineNumber(g)-d,y=this._editor.editor.getBottomForLineNumber(_)-d,ee=SM.fromLeftTopWidthHeight(f+i,v,h,y-v),te=SM.fromLeftTopWidthHeight(ee.left,ee.bottom,ee.width,s.reduce((e,t)=>e+t,0)),ne=SM.hull([ee,te]),re=ne.intersectVertical(new co(ee.bottom,2**53-1));return{originalLinesOverlay:ee,modifiedLinesOverlay:te,background:ne,lowerBackground:re,lowerText:new SM(re.left,re.top,re.right,re.bottom),modifiedLineHeights:s,minContentWidthRequired:i+h+l}}),this._viewZoneInfo=P(e=>{if(!this._editor.getOption(71).map(e=>e.edits.allowCodeShifting===`always`).read(e))return;let t=this._layout.read(e),n=this._edit.read(e);if(!(!t||!n))return{height:t.lowerBackground.height,lineNumber:n.originalRange.endLineNumberExclusive}}),this.minEditorScrollHeight=P(this,e=>{let t=LN(this._layout).read(e);return!t||this._viewZoneInfo.read(e)!==void 0?0:t.read(e).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=K.div({class:`line-replacement`},[P(this,e=>{let t=LN(this._layout).read(e),n=this._modifiedLineElements.read(e);if(!t||!n)return[];let r=t.read(e),i=this._editor.layoutInfoContentLeft.read(e),a=this._editorType.read(e)===Ok.DiffEditor?3:1;n.lines.forEach((e,t)=>{e.style.width=`${r.lowerText.width}px`,e.style.height=`${r.modifiedLineHeights[t]}px`,e.style.position=`relative`});let o=yN(this._tabAction).read(e),s=bN(this._tabAction).read(e),c=SN(this._editorType.read(e));return[K.div({style:{position:`absolute`,...RN(e=>kN(this._editor).read(e)),overflow:`hidden`,pointerEvents:`none`}},[K.div({class:`borderAroundLineReplacement`,style:{position:`absolute`,...RN(e=>t.read(e).background.translateX(-i).withMargin(a)),borderRadius:`3px`,border:`${a+1}px solid ${c}`,boxSizing:`border-box`,pointerEvents:`none`}}),K.div({class:`originalOverlayLineReplacement`,style:{position:`absolute`,...RN(e=>t.read(e).background.translateX(-i)),borderRadius:`3px`,border:xN(s,this._themeService).map(e=>`1px solid ${e.toString()}`),pointerEvents:`none`,boxSizing:`border-box`,background:Fn(eN)}}),K.div({class:`modifiedOverlayLineReplacement`,style:{position:`absolute`,...RN(e=>t.read(e).lowerBackground.translateX(-i)),borderRadius:`0 0 3px 3px`,background:c,boxShadow:`${Fn(je)} 0 6px 6px -6px`,border:`1px solid ${Fn(o)}`,boxSizing:`border-box`,overflow:`hidden`,cursor:`pointer`,pointerEvents:`auto`},onmousedown:e=>{e.preventDefault()},onclick:e=>this._onDidClick.fire(bk.create(e))},[K.div({style:{position:`absolute`,top:0,left:0,width:`100%`,height:`100%`,background:Fn(rN)}})]),K.div({class:`modifiedLinesLineReplacement`,style:{position:`absolute`,boxSizing:`border-box`,...RN(e=>t.read(e).lowerText.translateX(-i)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:`none`,whiteSpace:`nowrap`,borderRadius:`0 0 3px 3px`,overflow:`hidden`}},[...n.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered(e=>this._isMouseOverWidget(e),this._store),this._previousViewZoneInfo=void 0,this._register(Tn(()=>this._editor.editor.changeViewZones(e=>this.removePreviousViewZone(e)))),this._register(vl(this._viewZoneInfo,({lastValue:e,newValue:t})=>{e===t||e?.height===t?.height&&e?.lineNumber===t?.lineNumber||this._editor.editor.changeViewZones(e=>{this.removePreviousViewZone(e),t&&this.addViewZone(t,e)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:P(this,e=>this._layout.read(e)?.minContentWidthRequired??0),position:Ec({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(e){let t=this._layout.get();return!t||!(e.event instanceof v)?!1:t.lowerBackground.containsPoint(new cd(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 n=t.addZone({afterLineNumber:e.lineNumber-1,heightInPx:e.height,domNode:N(`div`)});this._previousViewZoneInfo={height:e.height,lineNumber:e.lineNumber,id:n};let r=this._editor.cursorLineNumber.get();r!==null&&r>=e.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()+e.height)}};BP=RP([zP(4,os),zP(5,nu)],BP);function VP(e){let t=[];for(;e.length;){let n=e.shift();n.startLineNumber!==n.endLineNumber&&(e.push(new S(n.startLineNumber+1,1,n.endLineNumber,n.endColumn)),n=new S(n.startLineNumber,n.startColumn,n.startLineNumber,2**53-1)),t.push(n)}return t}function HP(e,t){let n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?{min:0,rules:r}:{min:r.min??0,rules:r.rules??[{max:r.max,priority:r.priority,share:r.share}]};let r={},i=0;for(let[e,t]of Object.entries(n))r[e]=t.min,i+=t.min;if(i>e)return null;let a=e-i;for(;a>0;){let e=[];for(let[t,i]of Object.entries(n))for(let n=0;n<i.rules.length;n++){let a=i.rules[n];r[t]<(a.max??1/0)&&e.push({partKey:t,ruleIndex:n,rule:a,priority:a.priority??0,share:a.share??1})}if(e.length===0)break;let t=Math.max(...e.map(e=>e.priority)),i=e.filter(e=>e.priority===t),o=i.reduce((e,t)=>e+t.share,0),s=0,c=[];for(let e of i){let t=e.rule,n=r[e.partKey],i=(t.max??1/0)-n,l=a*e.share/o,u=Math.min(l,i);c.push({partKey:e.partKey,ruleIndex:e.ruleIndex,amount:u}),s+=u}if(s===0)break;for(let e of c)r[e.partKey]+=e.amount;if(a-=s,a<1e-4)break}return r}var UP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},WP=function(e,t){return function(n,r){t(n,r,e)}},GP=class extends O{constructor(e,t,n,r,i,a){super(),this._editor=e,this._data=n,this._themeService=r,this._keybindingService=i,this._contextKeyService=a,this._styles=P(this,e=>({background:xN(sN,this._themeService).read(e).toString(),foreground:xN(aN,this._themeService).read(e).toString(),border:xN(oN,this._themeService).read(e).toString()})),this._pos=P(this,e=>this._editor.observePosition(P(e=>this._data.read(e)?.jumpToPosition||null),e.store)).flatten(),this._layout=P(this,e=>{let t=this._data.read(e);if(!t)return;let n=t.jumpToPosition,r=this._editor.observeLineHeightForLine(Ec(n.lineNumber)).read(e),i=this._editor.scrollLeft.read(e),a=this._pos.read(e);if(!a)return;let o=this._editor.layoutInfo.read(e);return{widgetRect:SM.fromLeftTopWidthHeight(a.x+o.contentLeft+2-i,a.y,100,r)}}),this._blink=KP([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=K.div({class:`inline-edit-jump-to-widget`,style:{position:`absolute`,display:this._layout.map(e=>e?`flex`:`none`),alignItems:`center`,cursor:`pointer`,userSelect:`none`,...RN(e=>this._layout.read(e)?.widgetRect)}},P(e=>this._data.read(e)===void 0?[]:K.div({style:{display:`flex`,alignItems:`center`,gap:`4px`,padding:`0 4px`,height:`100%`,backgroundColor:this._styles.map(e=>e.background),"--vscodeIconForeground":this._styles.map(e=>e.foreground),border:this._styles.map(e=>`1px solid ${e.border}`),borderRadius:`3px`,boxSizing:`border-box`,fontSize:`11px`,color:this._styles.map(e=>e.foreground)}},[this._style===`cursor`?K.elem(`div`,{style:{borderLeft:`2px solid`,height:14,opacity:this._blink.map(e=>e?`0`:`1`)}}):[P(()=>K.elem(`div`,{},qP(this._keybinding))),K.elem(`div`,{style:{lineHeight:this._layout.map(e=>e?.widgetRect.height),marginTop:`-2px`}},[`to jump`])]]))),this._style=t.style,this._keybinding=this._getKeybinding(sg);let o=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:o.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:Ec(0)})),this._register(this._editor.setDecorations(P(e=>{let t=this._data.read(e);return t?[{range:S.fromPositions(t.jumpToPosition,t.jumpToPosition),options:{description:`inline-edit-jump-to-decoration`,inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style===`label`?` `:` `}}}]:[]})))}_getKeybinding(e,t=lu.ofCaller()){return e?yd(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e),t):Ec(void 0)}};GP=UP([WP(3,nu),WP(4,Ir),WP(5,Ls)],GP);function KP(e,t=lu.ofCaller()){let n=0;return yd(void 0,t=>{n=0;let r=new Vl(()=>{n=(n+1)%e.length,t(null),r.schedule(e[n].durationMs)},0);return r.schedule(0),r},()=>e[n].value,t)}function qP(e){return P(t=>K.div({style:{},ref:n=>{let r=t.store.add(new Uu(n,_d,{disableTitle:!0,...fc,keybindingLabelShadow:void 0,keybindingLabelForeground:Fn(aN),keybindingLabelBackground:`transparent`,keybindingLabelBorder:Fn(aN),keybindingLabelBottomBorder:void 0}));t.store.add(E(t=>{r.set(e.read(t))}))}}))}var JP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YP=function(e,t){return function(n,r){t(n,r,e)}},XP=class extends O{constructor(e,t,n,r,i){super(),this._previewTextModel=e,this._properties=t,this._parentEditor=n,this._tabAction=r,this._instantiationService=i,this._previewRef=K.ref(),this.element=K.div({class:`preview`,style:{},ref:this._previewRef}),this._state=P(this,e=>{let t=this._properties.read(e);if(!t)return;let n,r;t.nextCursorPosition===null?t.diff[0].innerChanges?.every(e=>e.modifiedRange.isEmpty())?(n=`original`,r=ld.ofLength(t.diff[0].original.startLineNumber,1)):(n=`modified`,r=ld.ofLength(t.diff[0].modified.startLineNumber,1)):(n=`original`,r=ld.ofLength(t.nextCursorPosition.lineNumber,1));let i=n===`modified`?nk.snapshot(this._previewTextModel):t.target;return{mode:n,visibleLineRange:r,textModel:i,diff:t.diff}}),this.updatePreviewEditorEffect=P(this,e=>{this._previewEditorObs.model.read(e);let t=this._state.read(e)?.visibleLineRange;if(!t)return;let n=[];t.startLineNumber>1&&n.push(new S(1,1,t.startLineNumber-1,1)),t.endLineNumberExclusive<this._previewTextModel.getLineCount()+1&&n.push(new S(t.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(n,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=P(this,e=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,e)),this.contentHeight=P(this,e=>{let t=this._state.read(e);return t?this._previewEditorObs.observeLineHeightForLine(t.visibleLineRange.startLineNumber):Ec(null)}).flatten(),this._editorDecorations=P(this,e=>{let t=this._state.read(e);if(!t)return;let n={diff:t.diff},r=[],i=[],a=G.register({className:`inlineCompletions-char-delete`,description:`char-delete`,isWholeLine:!1,zIndex:1}),o=G.register({className:`inlineCompletions-char-insert`,description:`char-insert`,isWholeLine:!0}),s=G.register({className:`inlineCompletions-char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0});for(let e of n.diff)if(e.modified.isEmpty||e.original.isEmpty)e.original.isEmpty||r.push({range:e.original.toInclusiveRange(),options:a}),e.modified.isEmpty||i.push({range:e.modified.toInclusiveRange(),options:o});else for(let t of e.innerChanges||[])e.original.contains(t.originalRange.startLineNumber)&&!t.originalRange.isEmpty()&&r.push({range:t.originalRange,options:{description:`char-delete`,shouldFillLineOnLineBreak:!1,className:jN(`inlineCompletions-char-delete`,t.originalRange.isEmpty()&&`empty`),zIndex:1}}),e.modified.contains(t.modifiedRange.startLineNumber)&&i.push({range:t.modifiedRange,options:s});return{originalDecorations:r,modifiedDecorations:i}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=ku(this._parentEditor),this._register(E(e=>{let t=this._state.read(e)?.textModel||null;t&&this.previewEditor.setModel(t.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=ku(this.previewEditor),this._register(this._previewEditorObs.setDecorations(P(e=>{let t=this._state.read(e),n=this._editorDecorations.read(e);return(t?.mode===`original`?n?.originalDecorations:n?.modifiedDecorations)??[]}))),this._register(E(e=>{if(!this._properties.read(e))return;let t=this._parentEditorObs.cursorPosition.read(e);t&&this.previewEditor.setPosition(this._previewTextModel.validatePosition(t),`longDistanceHintPreview`)})),this._register(E(e=>{let t=this._state.read(e);if(!t)return;let n=t.visibleLineRange.startLineNumber.toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:n+1})})),this._register(this._instantiationService.createInstance(tP,this._previewEditorObs,P(e=>{let t=this._state.read(e);if(!t)return;let n=this._properties.read(e);if(n)return new XN(n.inlineSuggestInfo,ld.ofLength(t.visibleLineRange.startLineNumber,1),n.model,void 0)}),this._tabAction,Ec(0),Ec(!1),Dt(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(yy,this._previewRef.element,{glyphMargin:!1,lineNumbers:`on`,minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},editContext:!1,rulers:[],padding:{top:0,bottom:0},selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes: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:{[zT.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(e,t){let n=this._state.read(t);if(!n)return;let r=n.diff,i=this._properties.read(t)?.nextCursorPosition,a=n.visibleLineRange,o=this._previewEditorObs.layoutInfo.read(t),s=wN(this._previewEditorObs,a,t),c;if(i)c=S.fromPositions(i);else if(r[0].innerChanges)c=n.mode===`modified`?r[0].innerChanges[0].modifiedRange:r[0].innerChanges[0].originalRange;else return;let l=ZP(e.getModel(),c,5),u=this._previewEditorObs.getLeftOfPosition(l.getStartPosition(),t),d=this._previewEditorObs.getLeftOfPosition(l.getEndPosition(),t),f=Lt(u,0,s),p=Lt(d,f,s),m=e.getModel().getLineFirstNonWhitespaceColumn(l.startLineNumber);return{indentationEnd:this._previewEditorObs.getLeftOfPosition(new k(l.startLineNumber,m),t),preferredRangeToReveal:new co(f,p),maxEditorWidth:s+o.contentLeft,contentWidth:s,nonContentWidth:o.contentLeft}}layout(e,t){this.previewEditor.layout(e),this._previewEditorObs.editor.setScrollLeft(t)}};XP=JP([YP(4,x)],XP);function ZP(e,t,n){let r=t.getStartPosition(),i=t.getEndPosition(),a=e.getLineContent(r.lineNumber);function o(e){let t=a.charAt(e-1);return/[a-zA-Z0-9_]/.test(t)}function s(e){let t=a.charAt(e-1);return t===` `||t===` `}let c=r.column;for(;c>1&&o(c)&&!s(c-1)&&r.column-c<n;)c--;let l=i.column-1;for(;l<=a.length&&o(l)&&!s(l+1)&&l-i.column<n;)l++;return new S(r.lineNumber,r.column,i.lineNumber,l+1)}function QP(e,t){let n=e.start,r=e.endExclusive,i=Number.MAX_VALUE,a=0;for(let e of t){let t=a+e.width;Math.max(n,a)<Math.min(r,t)&&(i=Math.min(i,e.height)),a=t}return r>a||i===Number.MAX_VALUE?0:i}var $P=class{constructor(e,t,n){this._lineRangeInfo=e,this.availableSpaceSizes=e.sizes.map((r,i)=>{let a=n(e.lineRange.startLineNumber+i);return new xM(Math.max(0,t-r.width-a),r.height)}),this.availableSpaceHeightPrefixSums=nF(this.availableSpaceSizes,e=>e.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map(e=>e.transpose())}getWidgetVerticalOutline(e,t,n){let r=e-this._lineRangeInfo.lineRange.startLineNumber,i=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[r],a=co.ofStartAndLength(i,t),{previewEditorMargin:o,widgetPadding:s,widgetBorder:c,lowerBarHeight:l}=n;return a.withMargin(o+s+c).withMargin(0,l)}tryFindWidgetOutline(e,t,n,r){if(!(this._lineRangeInfo.lineRange.length<3))return tF(this._lineRangeInfo.lineRange.addMargin(-1,-1),e,e=>{let i=this.getWidgetVerticalOutline(e,t,r),a=QP(i.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);if(!(a<r.minWidgetWidth))return{horizontalWidgetRange:co.ofStartAndLength(n-a,a),verticalWidgetRange:i}})}};function eF(e,t,n,r,i){let a=[],o=e.startLineNumber,s=n,c=[];for(let n=0;n<t.length;n++){let i=e.startLineNumber+n,l=s+c.reduce((e,t)=>e+t.height,0),u=r.editor.getTopForLineNumber(i);n>0&&u!==l&&(a.push({lineRange:ld.ofLength(o,i-o),top:s,sizes:c}),o=i,s=u,c=[]),c.push(t[n])}return a.push({lineRange:ld.ofLength(o,e.endLineNumberExclusive-o),top:s,sizes:c}),P({owner:`splitIntoContinuousLineRanges`},t=>r.observeTopForLineNumber(e.endLineNumberExclusive-1).read(t)).read(i),a}function tF(e,t,n){for(let r=0;;r++){let i=t+r;if(i<=e.endLineNumberExclusive){let e=n(i);if(e!==void 0)return e}let a=t-r;if(a>=e.startLineNumber){let e=n(a);if(e!==void 0)return e}if(a<e.startLineNumber&&i>e.endLineNumberExclusive)return}}function nF(e,t){let n=[0],r=0;for(let i of e)r+=t(i),n.push(r);return n}var rF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iF=function(e,t){return function(n,r){t(n,r,e)}},aF=6,oF={EMPTY_SPACE:425,OVERLAY:375},sF={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:250},cF=class extends O{constructor(e,t,n,r,i,a,o,s,c){super(),this._editor=e,this._viewState=t,this._previewTextModel=n,this._tabAction=r,this._instantiationService=i,this._themeService=a,this._keybindingService=o,this._modelService=s,this._languageService=c,this.onDidClick=qu.None,this._viewWithElement=void 0,this._hintTextPosition=P(this,e=>{let t=this._viewState.read(e);return t?new k(t.hint.lineNumber,2**53-1):null}),this._lineSizesAroundHintPosition=P(this,e=>{let t=this._viewState.read(e),n=this._hintTextPosition.read(e);if(!t||!n)return[];let r=this._editorObs.model.read(e);if(!r)return[];let i=ld.ofLength(n.lineNumber,1).addMargin(5,5).intersect(ld.ofLength(1,r.getLineCount()));return i?eF(i,TN(this._editorObs,i,e),this._editorObs.observeTopForLineNumber(i.startLineNumber).read(e),this._editorObs,e):[]}),this._isVisibleDelayed=zn(P(this,e=>this._viewState.read(e)?.hint.isVisible),(e,t)=>e===!0&&t===!1?200:0),this._previewEditorLayoutInfo=P(this,e=>{let t=this._viewState.read(e);if(!t||!this._isVisibleDelayed.read(e))return;let n=this._lineSizesAroundHintPosition.read(e);if(n.length===0)return;let r=this._editorObs.scrollTop.read(e),i=this._editorObs.scrollLeft.read(e),a=this._editorObs.layoutInfo.read(e),o=this._previewEditor.contentHeight.read(e),s=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(e);if(!o||!s)return;let c=a.contentWidth-a.verticalScrollbarWidth,l=a.contentLeft+c;if(!this._editorObs.cursorLineNumber.read(e))return;let u=sF,d=o+2,f,p,m=e=>e===t.hint.lineNumber?40:20;for(let e of n){let n=new $P(e,c,m);if(p=n,f=n.tryFindWidgetOutline(t.hint.lineNumber,d,l,u),f)break}let h=`empty-space`;if(!f){h=`overlay`;let e=Math.min(a.width-a.contentLeft,oF.OVERLAY),r=p??new $P(n[0],c,m);f={horizontalWidgetRange:co.ofStartAndLength(l-e,e),verticalWidgetRange:r.getWidgetVerticalOutline(t.hint.lineNumber+2,d,u).delta(10)}}if(!f)return;let g=SM.fromRanges(f.horizontalWidgetRange,f.verticalWidgetRange).translateX(-i).translateY(-r),{previewEditorMargin:_,widgetPadding:v,widgetBorder:y,lowerBarHeight:ee}=u,te=Math.min(h===`overlay`?oF.OVERLAY:oF.EMPTY_SPACE,s.maxEditorWidth+_+v),ne=HP(g.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:te,priority:1}]},spaceAfter:{min:10}});if(!ne)return null;let re=lF([ne.spaceBefore,ne.content,ne.spaceAfter],g.left);g.withHorizontalRange(re[0]);let ie=g.withHorizontalRange(re[1]);g.withHorizontalRange(re[2]);let ae=ie.withMargin(-v-y-_).withMargin(0,0,-ee,0),oe=ae.width-s.nonContentWidth,se=oe*.8,ce=s.preferredRangeToReveal.intersect(co.ofStartAndLength(s.preferredRangeToReveal.start,se))??s.preferredRangeToReveal,le=uF(s.indentationEnd,oe,ce);return{codeEditorSize:ae.getSize(),codeScrollLeft:i,contentLeft:a.contentLeft,widgetRect:ie,previewEditorMargin:_,widgetPadding:v,widgetBorder:y,lowerBarHeight:ee,desiredPreviewEditorScrollLeft:le.newScrollPosition}}),this._view=K.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:P(this,e=>this._previewEditorLayoutInfo.read(e)?`block`:`none`)}},[P(this,e=>[this._widgetContent])]),this._widgetContent=P(this,e=>K.div({class:[`inline-edits-long-distance-hint-widget`,`show-file-icons`],style:{position:`absolute`,overflow:`hidden`,cursor:`pointer`,background:Fn(Ku),padding:this._previewEditorLayoutInfo.map(e=>e?.widgetPadding),boxSizing:`border-box`,borderRadius:aF,border:P(e=>`${this._previewEditorLayoutInfo.read(e)?.widgetBorder}px solid ${this._styles.read(e).border}`),display:`flex`,flexDirection:`column`,opacity:P(e=>this._viewState.read(e)?.hint.isVisible?`1`:`0`),transition:`opacity 200ms ease-in-out`,...RN(e=>this._previewEditorLayoutInfo.read(e)?.widgetRect)},onmousedown:e=>{e.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[K.div({class:[`editorContainer`],style:{overflow:`hidden`,padding:this._previewEditorLayoutInfo.map(e=>e?.previewEditorMargin),background:this._styles.map(e=>e.background),pointerEvents:`none`}},[P(this,e=>this._previewEditor.element)]),K.div({class:`bar`,style:{color:Fn(h),pointerEvents:`none`,margin:`0 4px`,height:this._previewEditorLayoutInfo.map(e=>e?.lowerBarHeight),display:`flex`,justifyContent:`space-between`,alignItems:`center`}},[P(this,e=>{let t=[],n=this._viewState.read(e);if(!n)return t;let r=this._editorObs.model.read(e)?.uri,i=n.target.uri,a=i&&(!r||i.toString()!==r.toString());if(a){let e=Uc(i),n=wj(this._modelService,this._languageService,i,Sj.FILE);t.push(K.div({class:`target-file`,style:{display:`flex`,alignItems:`center`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},[K.elem(`span`,{class:n,style:{flexShrink:`0`,marginRight:`4px`}}),e]))}else{let n=this._originalOutlineSource.read(e),r=this._originalTargetLineNumber.read(e),i=n?.getAt(r,e).slice(0,1)??[],a=[];if(i.length>0)for(let e=0;e<i.length;e++){let t=i[e],n=hi.toIcon(t.kind);a.push(K.div({class:`breadcrumb-item`,style:{display:`flex`,alignItems:`center`,flex:`1 1 auto`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`}},[bd(n),`\xA0`,t.name,...e===i.length-1?[]:[bd(w.chevronRight)]]))}t.push(K.div({class:`outline-elements`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},a))}let o=this._originalTargetLineNumber.read(e),s=a?w.arrowRight:n.hint.lineNumber<o?w.arrowDown:w.arrowUp,c=this._keybindingService.lookupKeybinding(dg),l=a?`Go to file`:`Go to suggestion`;return c&&c.getLabel()===`Tab`&&(l=a?`Tab to open`:`Tab to jump`),t.push(K.div({class:`go-to-label`,style:{position:`relative`,display:`flex`,alignItems:`center`,flex:`0 0 auto`,paddingLeft:`6px`}},[l,`\xA0`,bd(s)])),t})])])),this._originalTargetLineNumber=P(this,e=>{let t=this._viewState.read(e);return t?t.edit.action?.kind===`jumpTo`?t.edit.action.position.lineNumber:t.diff[0]?.original.startLineNumber??-1:-1}),this._originalOutlineSource=qi(this,e=>{let t=this._editorObs.model.read(e),n=oa._breadcrumbsSourceFactory.read(e);return!t||!n?void 0:n(t,this._instantiationService)}),this._styles=P(e=>{let t=this._tabAction.read(e),n=CN(Vr,this._themeService).read(e),r=yd(this._themeService.onDidColorThemeChange,()=>{let e=this._themeService.getColorTheme();return e.type===`hcDark`||e.type===`hcLight`}).read(e),i;if(r)i=n;else{let n;switch(t){case yk.Inactive:n=uN;break;case yk.Jump:n=sN;break;case yk.Accept:n=pN}i=xN(n,this._themeService).read(e)}return{border:i.toString(),background:SN(this._viewState.map(e=>e?.editorType??Ok.TextEditor).read(e))}}),this._editorObs=ku(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(XP,this._previewTextModel,P(e=>{let t=this._viewState.read(e);if(t)return{diff:t.diff,model:t.model,inlineSuggestInfo:t.inlineSuggestInfo,nextCursorPosition:t.nextCursorPosition,target:t.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:Ec(0)})),this._widgetContent.get().keepUpdated(this._store),this._register(E(e=>{let t=this._previewEditorLayoutInfo.read(e);t&&this._previewEditor.layout(t.codeEditorSize.toDimension(),t.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};cF=rF([iF(4,x),iF(5,nu),iF(6,Ir),iF(7,wt),iF(8,os)],cF);function lF(e,t=0){let n=[],r=t;for(let t of e)n.push(new co(r,r+t)),r+=t;return n}function uF(e,t,n){let r=new co(e,e+t);return r.containsRange(n)?{newScrollPosition:e}:n.length>t?{newScrollPosition:n.start}:n.endExclusive>r.endExclusive?{newScrollPosition:n.endExclusive-t}:n.start<r.start?{newScrollPosition:n.start}:{newScrollPosition:e}}var dF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fF=function(e,t){return function(n,r){t(n,r,e)}},pF=0,mF=0,hF=1,gF=1,_F=3,vF=3,yF=20,bF=12,xF=class extends O{static fitsInsideViewport(e,t,n,r){let i=ku(e),a=i.layoutInfoWidth.read(r),o=i.layoutInfoContentLeft.read(r),s=e.getLayoutInfo().verticalScrollbarWidth,c=i.layoutInfoMinimap.read(r).minimapLeft===0?0:i.layoutInfoMinimap.read(r).minimapWidth,l=wN(i,n.displayRange,void 0),u=n.lineEdit.newLines.reduce((n,r)=>Math.max(n,ON(r,e,t)),0),d=yF;return l+u+d+14<a-o-s-c}constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._edit=t,this._previewTextModel=n,this._uiState=r,this._tabAction=i,this._instantiationService=a,this._themeService=o,this._userInteractionService=s,this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._editorObs=ku(this._editor),this._display=P(this,e=>this._uiState.read(e)?`block`:`none`),this.previewRef=K.ref();let c=this._uiState.map(e=>e?.editorType===Ok.DiffEditor?_F:gF);this._editorContainer=K.div({class:[`editorContainer`],style:{position:`absolute`,overflow:`hidden`,cursor:`pointer`},onmousedown:e=>{e.preventDefault()},onclick:e=>{this._onDidClick.fire(bk.create(e))}},[K.div({class:`preview`,style:{pointerEvents:`none`},ref:this.previewRef})]).keepUpdated(this._store),this.isHovered=this._userInteractionService.createHoverTracker(this._editorContainer.element,this._store),this.previewEditor=this._register(this._instantiationService.createInstance(yy,this.previewRef.element,{glyphMargin:!1,lineNumbers:`off`,minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},editContext:!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:{[zT.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=ku(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=P(this,e=>{this._editorContainer.readEffect(e),this._previewEditorObs.model.read(e),this._display.read(e),this._nonOverflowView&&(this._nonOverflowView.element.style.display=this._display.read(e));let t=this._uiState.read(e),n=this._edit.read(e);if(!t||!n)return;let r=n.originalLineRange,i=[];r.startLineNumber>1&&i.push(new S(1,1,r.startLineNumber-1,1)),r.startLineNumber+t.newTextLineCount<this._previewTextModel.getLineCount()+1&&i.push(new S(r.startLineNumber+t.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(i,void 0,!0);let a=[...this._activeViewZones];this._activeViewZones=[];let o=r.endLineNumberExclusive-r.startLineNumber-t.newTextLineCount;this.previewEditor.changeViewZones(e=>{a.forEach(t=>e.removeZone(t)),o>0&&this._activeViewZones.push(e.addZone({afterLineNumber:r.startLineNumber+t.newTextLineCount-1,heightInLines:o,showInHiddenAreas:!0,domNode:N(`div.diagonal-fill.inline-edits-view-zone`)}))})}),this._previewEditorWidth=P(this,e=>{let t=this._edit.read(e);return t?(this._updatePreviewEditor.read(e),wN(this._previewEditorObs,t.modifiedLineRange,e)):0}),this._cursorPosIfTouchesEdit=P(this,e=>{let t=this._editorObs.cursorPosition.read(e),n=this._edit.read(e);if(!(!n||!t))return n.modifiedLineRange.contains(t.lineNumber)?t:void 0}),this._originalStartPosition=P(this,e=>{let t=this._edit.read(e);return t?new k(t.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=P(this,e=>{let t=this._edit.read(e);return t?new k(t.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map(e=>e?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map(e=>e?.y),this._originalDisplayRange=this._edit.map(e=>e?.displayRange),this._editorMaxContentWidthInRange=P(this,e=>{let t=this._originalDisplayRange.read(e);return t?(this._editorObs.versionId.read(e),lr(this,(e,n)=>{let r=wN(this._editorObs,t,e);return Math.max(r,n??0)})):Ec(0)}).map((e,t)=>e.read(t));let l=zN(this._editor,this._store);this._previewEditorLayoutInfo=P(this,e=>{let t=this._edit.read(e);if(!t||!this._uiState.read(e))return null;let n=t.originalLineRange,r=this._editorObs.scrollLeft.read(e),i=this._editorMaxContentWidthInRange.read(e),a=this._editorObs.layoutInfo.read(e),o=this._previewEditorWidth.read(e),s=a.contentWidth-a.verticalScrollbarWidth,c=l.read(e),u=a.contentLeft+a.contentWidth+c.left,d=Sa(this._editor.getContainerDomNode()).innerWidth-u,f=Sa(this._editor.getContainerDomNode()).innerWidth-c.right,p=Math.min(a.contentWidth*.3,o,100),m=0+d,h=this._cursorPosIfTouchesEdit.read(e),g=Math.max(s+r-0-Math.max(0,p-m),Math.min(h?EN(this._editorObs,h,e)+50:0,s+r)),_=Math.min(i+yF,g),v=i+yF+o+70,y=g-_,ee,te;_>r?(ee=0,te=a.contentLeft+_-r):(ee=r-_,te=a.contentLeft);let ne=this._originalVerticalStartPosition.read(e)??this._editor.getTopForLineNumber(n.startLineNumber)-this._editorObs.scrollTop.read(e),re=this._originalVerticalEndPosition.read(e)??this._editor.getBottomForLineNumber(n.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(e),ie=a.contentLeft-r,ae=SM.fromLeftTopRightBottom(ie,ne,te,re),oe=ae.height===0;oe||(ae=ae.withMargin(mF,pF));let se=this._previewEditorObs.observeLineHeightsForLineRange(t.modifiedLineRange).read(e).reduce((e,t)=>e+t,0),ce=re-ne,le=Math.max(ce,se),ue=y===0,de=Math.min(o+bF,f+a.width-a.contentLeft-0),fe=SM.fromLeftTopWidthHeight(ae.right+0,ne,de,le);return fe=oe?fe.withMargin(mF,pF).translateY(mF):fe.withMargin(mF,pF).translateX(1),{codeRect:ae,editRect:fe,codeScrollLeft:r,contentLeft:a.contentLeft,isInsertion:oe,maxContentWidth:v,shouldShowShadow:ue,desiredPreviewEditorScrollLeft:ee,previewEditorWidth:de}}),this._stickyScrollController=$M.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?yd(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):Ec(0),this._shouldOverflow=P(this,e=>!1),this._originalBackgroundColor=yd(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(eN)??As.transparent),this._editorBackgroundColor=this._uiState.map(e=>SN(e?.editorType??Ok.TextEditor)),this._backgroundSvg=K.svg({transform:`translate(-0.5 -0.5)`,style:{overflow:`visible`,pointerEvents:`none`,position:`absolute`}},[K.svgElem(`path`,{class:`rightOfModifiedBackgroundCoverUp`,d:P(this,e=>{let t=this._previewEditorLayoutInfo.read(e);if(t&&!this._originalBackgroundColor.read(e).isTransparent())return new IN().moveTo(t.codeRect.getRightTop()).lineTo(t.codeRect.getRightTop().deltaX(1e3)).lineTo(t.codeRect.getRightBottom().deltaX(1e3)).lineTo(t.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=K.div({style:{pointerEvents:`none`,display:this._previewEditorLayoutInfo.map(e=>e?.isInsertion?`none`:`block`)}},P(this,e=>{let t=LN(this._previewEditorLayoutInfo).read(e);if(!t)return;let n=this._editorBackgroundColor.read(e),r=c.read(e),i=bN(this._tabAction).map(e=>`${hF}px solid ${Fn(e)}`),a=`${hF+r}px solid ${n}`,o=t.read(e).codeScrollLeft!==0,s=t.map(e=>e.codeRect.bottom<e.editRect.bottom),l=vF*2+2,u=t.map(e=>SM.fromLeftTopRightBottom(e.contentLeft-vF-hF,e.codeRect.top,e.contentLeft,e.codeRect.bottom+l)).read(e),d=new co(u.left,2**53-1),f=t.map(e=>e.codeRect.intersectHorizontal(d)),p=f.map(e=>e.withMargin(r,0,r,r).intersectHorizontal(d)),m=f.map(e=>SM.fromLeftTopWidthHeight(e.right-l+hF,e.bottom-hF,l,l).intersectHorizontal(d));return[K.div({class:`originalSeparatorSideBySide`,style:{...p.read(e).toStyles(),boxSizing:`border-box`,borderRadius:`${vF}px 0 0 ${vF}px`,borderTop:a,borderBottom:a,borderLeft:o?`none`:a}}),K.div({class:`originalOverlaySideBySide`,style:{...f.read(e).toStyles(),boxSizing:`border-box`,borderRadius:`${vF}px 0 0 ${vF}px`,borderTop:i,borderBottom:i,borderLeft:o?`none`:i,backgroundColor:Fn(eN)}}),K.div({class:`originalCornerCutoutSideBySide`,style:{pointerEvents:`none`,display:s.map(e=>e?`block`:`none`),...m.read(e).toStyles()}},[K.div({class:`originalCornerCutoutBackground`,style:{position:`absolute`,top:`0px`,left:`0px`,width:`100%`,height:`100%`,backgroundColor:xN(eN,this._themeService).map(e=>e.toString())}}),K.div({class:`originalCornerCutoutBorder`,style:{position:`absolute`,top:`0px`,left:`0px`,width:`100%`,height:`100%`,boxSizing:`border-box`,borderTop:i,borderRight:i,borderRadius:`0 100% 0 0`,backgroundColor:n}})]),K.div({class:`originalOverlaySideBySideHider`,style:{...u.toStyles(),backgroundColor:n}})]})).keepUpdated(this._store),this._modifiedOverlay=K.div({style:{pointerEvents:`none`}},P(this,e=>{let t=LN(this._previewEditorLayoutInfo).read(e);if(!t)return;let n=t.map(e=>e.codeRect.bottom<e.editRect.bottom),r=this._editorBackgroundColor.read(e),i=c.read(e),a=n.map(e=>`0 ${vF}px ${vF}px ${e?vF:0}px`),o=xN(yN(this._tabAction),this._themeService).map(e=>`1px solid ${e.toString()}`),s=`${hF+i}px solid ${r}`,l=t.map(e=>e.editRect.withMargin(0,hF)),u=l.map(e=>e.withMargin(i,i,i,0)),d=P(this,e=>{let n=l.read(e),r=t.read(e);return!r.isInsertion||r.contentLeft>=n.left?SM.fromLeftTopWidthHeight(n.left,n.top,0,0):new SM(r.contentLeft,n.top,n.left,n.top+2)});return[K.div({class:`modifiedInsertionSideBySide`,style:{...d.read(e).toStyles(),backgroundColor:yN(this._tabAction).map(e=>Fn(e))}}),K.div({class:`modifiedSeparatorSideBySide`,style:{...u.read(e).toStyles(),borderRadius:a,borderTop:s,borderBottom:s,borderRight:s,boxSizing:`border-box`}}),K.div({class:`modifiedOverlaySideBySide`,style:{...l.read(e).toStyles(),borderRadius:a,border:o,boxSizing:`border-box`,backgroundColor:Fn(tN)}})]})).keepUpdated(this._store),this._nonOverflowView=K.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[this._backgroundSvg,P(this,e=>this._shouldOverflow.read(e)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:Ec(null),allowEditorOverflow:!1,minContentWidthInPx:P(this,e=>{let t=this._previewEditorLayoutInfo.read(e)?.maxContentWidth;return t===void 0?0:t})})),this.previewEditor.setModel(this._previewTextModel),this._register(E(e=>{let t=this._previewEditorLayoutInfo.read(e);if(!t)return;let n=t.editRect.withMargin(-0,-0);this.previewEditor.layout({height:n.height,width:t.previewEditorWidth+15}),this._editorContainer.element.style.top=`${n.top}px`,this._editorContainer.element.style.left=`${n.left}px`,this._editorContainer.element.style.width=`${t.previewEditorWidth+pF}px`})),this._register(E(e=>{let t=this._previewEditorLayoutInfo.read(e);t&&this._previewEditorObs.editor.setScrollLeft(t.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};xF=dF([fF(5,x),fF(6,nu),fF(7,zt)],xF);var SF,CF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wF=function(e,t){return function(n,r){t(n,r,e)}},TF=class{constructor(e,t,n){this.edit=e,this.editorType=t,this.alternativeAction=n}equals(e){return this.edit.equals(e.edit)&&this.alternativeAction===e.alternativeAction}},EF=1,DF=`word-replacement-view-overlay`,OF=`word-replacement-view-widget`,kF=`word-replacement-view-replacement`,AF=`word-replacement-view-rename`,jF=(SF=class extends O{constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._viewData=t,this._tabAction=n,this._languageService=r,this._themeService=i,this._keybindingService=a,this._hoverService=o,this._userInteractionService=s,this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(Ec(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(Ec(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement(`div`),this._primaryElement=Dt(this,null),this._secondaryElement=Dt(this,null),this.isHovered=P(this,e=>{let t=this._primaryElement.read(e);return t?this._userInteractionService.createHoverTracker(t.element,e.store).read(e):!1}),this._renderTextEffect=P(this,e=>{let t=this._editor.model.read(void 0);if(!t)return;let n=t.getLineContent(this._viewData.edit.range.startLineNumber),r=pc.replace(new co(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),i=r.replace(n),a=t.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[i])?.[0],o;o=a?Zc.fromLineTokens(a).slice(r.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec):Ra.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);let s=qe(new zu([o]),ri.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${s.minWidthInPx}px`});let c=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),l=It(this._viewData.alternativeAction?.count??new Promise(e=>e(void 0))).map(e=>e.value),u=P(this,e=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),e).shiftKey);this._layout=P(this,e=>{this._renderTextEffect.read(e);let t=this._start.read(e),n=this._end.read(e);if(!t||!n||t.x>n.x||t.y>n.y)return;let r=c.read(e);if(r<=0)return;let i=this._editor.scrollLeft.read(e),a=this._editor.getOption(59).read(e).typicalHalfwidthCharacterWidth,o=3*a,s=new cd(o,4),d;if(this._viewData.alternativeAction){let t=this._viewData.alternativeAction.label,n=l.read(e),r=u.read(e),i=n===void 0?t:n===1?R(1263,`{0} 1 occurrence`,t):R(1264,`{0} {1} occurrences`,t,n),a=R(1265,`{0} show occurrences`,`[shift]`);d={label:n===void 0?t:r?i:t,tooltip:i?`${i}\n${a}`:void 0,icon:void 0,count:n,keybinding:this._keybindingService.lookupKeybinding(cg),active:u}}let f=SM.fromPoints(t,n).withHeight(r).translateX(-i),p=SM.fromPointSize(f.getLeftBottom().add(s),new cd(this._viewData.edit.text.length*a,f.height)),m=p.withWidth(p.width+(d?d.label.length*a+8+4+12:0)),h=m.withLeft(f.left);return{alternativeAction:d,originalLine:f,codeLine:p,modifiedLine:m,lowerBackground:h,lineHeight:r}}),this.minEditorScrollHeight=P(this,e=>{let t=LN(this._layout).read(e);return t?t.read(e).modifiedLine.bottom+EF+this._editor.editor.getScrollTop():0}),this._root=K.div({class:`word-replacement`},[P(this,e=>{let t=LN(this._layout).read(e);if(!t)return[];let n=bN(this._tabAction).map(e=>Fn(e)).read(e),r=yN(this._tabAction).map(e=>Fn(e)).read(e);this._line.style.lineHeight=`${t.read(e).modifiedLine.height+2}px`;let i=Ec(!1),a=t.map(e=>e.alternativeAction),o=P(e=>(a.read(e)?.active.read(e)??!1)||i.read(e)),s=yd(this._themeService.onDidColorThemeChange,()=>{let e=this._themeService.getColorTheme();return e.type===`hcDark`||e.type===`hcLight`}).read(e)?CN(Js,this._themeService).read(e):null,c={borderColor:s?s.toString():r,backgroundColor:Fn(iN),color:``,opacity:`1`},l={borderColor:s?s.toString():Fn(oN),backgroundColor:Fn(sN),color:Fn(aN),opacity:`1`},u={borderColor:s?s.toString():CN($a,this._themeService).map(e=>e.transparent(.2).toString()).read(e),backgroundColor:SN(this._viewData.editorType),color:``,opacity:`0.7`},d=SN(this._viewData.editorType),f=P(this,e=>(o.read(e),c)),p=P(this,e=>o.read(e)?l:u);return[K.div({id:DF,style:{position:`absolute`,...RN(e=>kN(this._editor).read(e)),overflow:`hidden`,pointerEvents:`none`}},[K.div({style:{position:`absolute`,...RN(e=>t.read(e).lowerBackground.withMargin(EF,2,EF,0)),background:d,cursor:`pointer`,pointerEvents:`auto`},onmousedown:e=>this._mouseDown(e)}),K.div({id:OF,style:{position:`absolute`,...RN(e=>t.read(e).modifiedLine.withMargin(EF,2)),width:void 0,pointerEvents:`auto`,boxSizing:`border-box`,borderRadius:`3px`,background:d,display:`flex`,justifyContent:`left`,outline:`2px solid ${d}`},onmousedown:e=>this._mouseDown(e)},[K.div({id:kF,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:RN(e=>t.read(e).codeLine.withMargin(EF,2)).width,borderRadius:`3px`,border:f.map(e=>`${EF}px solid ${e.borderColor}`),boxSizing:`border-box`,padding:`${EF}px`,opacity:f.map(e=>e.opacity),background:f.map(e=>e.backgroundColor),display:`flex`,justifyContent:`left`,alignItems:`center`,pointerEvents:`auto`,cursor:`pointer`},obsRef:e=>{this._primaryElement.set(e,void 0)}},[this._line]),P(this,e=>{let t=a.read(e);if(!t)return;let n=document.createElement(`div`);return e.store.add(new Uu(n,_d,{...si,disableTitle:!0})).set(t.keybinding),K.div({id:AF,style:{position:`relative`,borderRadius:`3px`,borderTop:`${EF}px solid`,borderRight:`${EF}px solid`,borderBottom:`${EF}px solid`,borderLeft:`${EF}px solid`,borderColor:p.map(e=>e.borderColor),opacity:p.map(e=>e.opacity),color:p.map(e=>e.color),display:`flex`,justifyContent:`center`,alignItems:`center`,padding:`0 4px 0 1px`,marginLeft:`4px`,background:p.map(e=>e.backgroundColor),cursor:`pointer`,textWrap:`nowrap`},class:`inline-edit-alternative-action-label`,obsRef:e=>{this._secondaryElement.set(e,void 0)},ref:n=>{t.tooltip&&e.store.add(this._hoverService.setupDelayedHoverAtMouse(n,{content:t.tooltip,appearance:{compact:!0}}))}},[n,N(`div.inline-edit-alternative-action-label-separator`),t.icon?bd(t.icon):void 0,t.label])})]),K.div({style:{position:`absolute`,...RN(e=>t.read(e).originalLine.withMargin(EF)),boxSizing:`border-box`,borderRadius:`3px`,border:`${EF}px solid ${n}`,background:Fn(nN),pointerEvents:`none`}},[]),K.svg({width:11,height:14,viewBox:`0 0 11 14`,fill:`none`,style:{position:`absolute`,left:t.map(e=>e.modifiedLine.left-16),top:t.map(e=>e.modifiedLine.top+Math.round((e.lineHeight-14-5)/2)),pointerEvents:`none`},onmousedown:e=>this._mouseDown(e)},[K.svgElem(`path`,{d:`M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5`,stroke:Fn($a)}),K.svgElem(`path`,{d:`M6 7.5L9.99999 10.49998L6 13.5`,stroke:Fn($a)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:Ec(0),position:Ec({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(e){let t=MF(e.target,new Set([OF,kF,AF,DF]));t&&(e.preventDefault(),this._onDidClick.fire(bk.create(e,t===AF)))}},SF.MAX_LENGTH=100,SF);jF=CF([wF(3,os),wF(4,nu),wF(5,Ir),wF(6,_a),wF(7,zt)],jF);function MF(e,t){let n=e;for(;n;){if(t.has(n.id))return n.id;n=n.parentElement}return null}var NF=class extends O{constructor(e,t,n){super(),this._originalEditor=e,this._state=t,this._modifiedTextModel=n,this._onDidClick=this._register(new B),this.onDidClick=this._onDidClick.event,this.isHovered=ku(this._originalEditor).isTargetHovered(e=>e.target.type===6&&e.target.detail.injectedText?.options.attachedData instanceof PF&&e.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=LF(this._modifiedTextModel),this._decorations=P(this,e=>{let t=this._state.read(e);if(!t)return;let n=t.modifiedText,r=t.mode===`insertionInline`,i=t.diff.length===1&&t.diff[0].innerChanges?.length===1,a=[],o=[],s=G.register({className:`inlineCompletions-line-insert`,description:`line-insert`,isWholeLine:!0,marginClassName:`gutter-insert`}),c=G.register({className:`inlineCompletions-line-delete`,description:`line-delete`,isWholeLine:!0,marginClassName:`gutter-delete`}),l=G.register({className:`inlineCompletions-char-delete`,description:`char-delete`,isWholeLine:!1,zIndex:1}),u=G.register({className:`inlineCompletions-char-insert`,description:`char-insert`,isWholeLine:!0}),d=G.register({className:`inlineCompletions-char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0}),f=G.register({className:`inlineCompletions-char-insert diff-range-empty`,description:`char-insert diff-range-empty`}),p=G.register({className:`inlineCompletions-original-lines`,description:`inlineCompletions-original-lines`,isWholeLine:!1,shouldFillLineOnLineBreak:!0}),m=t.mode!==`sideBySide`&&t.mode!==`deletion`&&t.mode!==`insertionInline`&&t.mode!==`lineReplacement`,h=t.mode===`lineReplacement`;for(let p of t.diff)if(m&&(p.original.isEmpty||a.push({range:p.original.toInclusiveRange(),options:c}),p.modified.isEmpty||o.push({range:p.modified.toInclusiveRange(),options:s})),p.modified.isEmpty||p.original.isEmpty)p.original.isEmpty||a.push({range:p.original.toInclusiveRange(),options:l}),p.modified.isEmpty||o.push({range:p.modified.toInclusiveRange(),options:u});else{let s=r&&FF(p);for(let r of p.innerChanges||[]){if(p.original.contains(r.originalRange.startLineNumber)&&!(h&&r.originalRange.isEmpty())){let e=this._originalEditor.getModel()?.getValueInRange(r.originalRange,1);a.push({range:r.originalRange,options:{description:`char-delete`,shouldFillLineOnLineBreak:!1,className:jN(`inlineCompletions-char-delete`,r.originalRange.isSingleLine()&&t.mode===`insertionInline`&&`single-line-inline`,r.originalRange.isEmpty()&&`empty`,(r.originalRange.isEmpty()&&i||t.mode===`deletion`&&e===`
|
|
40
|
-
`)&&!s&&`diff-range-empty`),inlineClassName:s?jN(`strike-through`,`inlineCompletions`):null,zIndex:1}})}if(p.modified.contains(r.modifiedRange.startLineNumber)&&o.push({range:r.modifiedRange,options:r.modifiedRange.isEmpty()&&!s&&i?f:d}),s){let i=n.getValueOfRange(r.modifiedRange),o=i.length>3?[{text:i.slice(0,1),extraClasses:[`start`],offsetRange:new co(r.modifiedRange.startColumn-1,r.modifiedRange.startColumn)},{text:i.slice(1,-1),extraClasses:[],offsetRange:new co(r.modifiedRange.startColumn,r.modifiedRange.endColumn-2)},{text:i.slice(-1),extraClasses:[`end`],offsetRange:new co(r.modifiedRange.endColumn-2,r.modifiedRange.endColumn-1)}]:[{text:i,extraClasses:[`start`,`end`],offsetRange:new co(r.modifiedRange.startColumn-1,r.modifiedRange.endColumn)}];this._tokenizationFinished.read(e);let s=this._modifiedTextModel.tokenization.getLineTokens(r.modifiedRange.startLineNumber);for(let{text:e,extraClasses:n,offsetRange:i}of o)a.push({range:S.fromPositions(r.originalRange.getEndPosition()),options:{description:`inserted-text`,before:{tokens:s.getTokensInRange(i),content:e,inlineClassName:jN(`inlineCompletions-char-insert`,r.modifiedRange.isSingleLine()&&t.mode===`insertionInline`&&`single-line-inline`,...n),cursorStops:De.None,attachedData:new PF(this)},zIndex:2,showIfCollapsed:!0}})}}}if(t.editorType===Ok.DiffEditor)for(let e of t.diff)e.original.isEmpty||a.push({range:e.original.toExclusiveRange(),options:p});return{originalDecorations:a,modifiedDecorations:o}}),this._register(ku(this._originalEditor).setDecorations(this._decorations.map(e=>e?.originalDecorations??[])));let r=this._state.map(e=>e?.modifiedCodeEditor);this._register(qt((e,t)=>{let n=r.read(e);n&&t.add(ku(n).setDecorations(this._decorations.map(e=>e?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp(e=>{if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options.attachedData;t instanceof PF&&t.owner===this&&this._onDidClick.fire(new bk(e.event))}))}},PF=class{constructor(e){this.owner=e}};function FF(e){return e.innerChanges?e.innerChanges.every(e=>Ka(e.modifiedRange)&&Ka(e.originalRange)):!1}var IF=0;function LF(e){return yd(e.onDidChangeTokens,()=>IF++)}var RF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},zF=function(e,t){return function(n,r){t(n,r,e)}},BF=class extends O{constructor(e,t,n,r,i,a){super(),this._editor=e,this._model=t,this._simpleModel=n,this._inlineSuggestInfo=r,this._showCollapsed=i,this._instantiationService=a,this._tabAction=P(e=>this._model.read(e)?.tabAction.read(e)??yk.Inactive),this.displayRange=P(this,e=>{let t=this._uiState.read(e);if(t&&t.target.uri.toString()===this._editorObs.model.read(e)?.uri.toString()){if(t.state?.kind===`custom`){let e=t.state.displayLocation?.range;if(!e)throw new lc(`custom view should have a range`);return new ld(e.startLineNumber,e.endLineNumber)}return t.state?.kind===`insertionMultiLine`?this._insertion.originalLines.read(e):t.edit.displayRange}}),this._currentInlineEditCache=void 0,this._uiState=P(this,e=>{let t=this._model.read(e),n=this._editorObs.model.read(e);if(!t||!n||!this._constructorDone.read(e))return;let r=t.inlineEdit,i,a,o;r.edit?(a=bo.fromEdit(r.edit),o=new is(r.edit.apply(r.originalText)),i=Go(a,r.originalText,o)):(a=[],i=[],o=r.originalText);let s=this._determineRenderState(t,e,i,o);if(!s){il(Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}let c=this._getLongDistanceHintState(t,e);if(c&&c.isVisible&&s.viewData.setLongDistanceViewData(c.lineNumber,r.lineEdit.lineRange.startLineNumber),s.kind===Y.SideBySide){let e=FN(o.getValue(),r.modifiedLineRange,n.getOptions().tabSize);o=new is(e.applyToString(o.getValue())),a=AN(a,e),i=Go(a,r.originalText,o)}this._previewTextModel.setLanguage(n.getLanguageId());let l=this._previewTextModel.getValue();if(l!==o.getValue()){this._previewTextModel.setEOL(n.getEndOfLineSequence());let e=oo.replace(new co(0,l.length),o.getValue()).removeCommonSuffixPrefix(l),t=rO(this._previewTextModel).getTextEdit(e);this._previewTextModel.edit(t)}this._showCollapsed.read(e)&&(s={kind:Y.Collapsed,viewData:s.viewData}),t.handleInlineEditShownNextFrame(s.kind,s.viewData);let u=r.action?.kind===`jumpTo`?r.action.position:null;return{state:s,diff:i,edit:r,newText:o.getValue(),newTextLineCount:r.modifiedLineRange.length,editorType:t.editorType,longDistanceHint:c,nextCursorPosition:u,target:r.inlineCompletion.originalTextRef}}),this.inlineEditsIsHovered=P(this,e=>this._sideBySide.isHovered.read(e)||this._wordReplacementViews.read(e).some(t=>t.isHovered.read(e))||this._deletion.isHovered.read(e)||this._inlineDiffView.isHovered.read(e)||this._lineReplacementView.isHovered.read(e)||this._insertion.isHovered.read(e)||this._customView.isHovered.read(e)||this._longDistanceHint.map((e,t)=>e?.isHovered.read(t)??!1).read(e)),this.gutterIndicatorOffset=P(this,e=>this._uiState.read(e)?.state?.kind===`insertionMultiLine`?this._insertion.startLineOffset.read(e):0),this._editorObs=ku(this._editor),this._constructorDone=Dt(this,!1),this._previewTextModel=this._register(this._instantiationService.createInstance(ud,``,this._editor.getModel().getLanguageId(),{...ud.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._sideBySide=this._register(this._instantiationService.createInstance(xF,this._editor,this._model.map(e=>e?.inlineEdit),this._previewTextModel,this._uiState.map(e=>e&&e.state?.kind===Y.SideBySide?{newTextLineCount:e.newTextLineCount,editorType:e.editorType}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(AP,this._editor,this._model.map(e=>e?.inlineEdit),this._uiState.map(e=>e&&e.state?.kind===Y.Deletion?{originalRange:e.state.originalRange,deletions:e.state.deletions,editorType:e.editorType}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(LP,this._editor,this._uiState.map(e=>e&&e.state?.kind===Y.InsertionMultiLine?{lineNumber:e.state.lineNumber,startColumn:e.state.column,text:e.state.text,editorType:e.editorType}:void 0),this._tabAction)),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(gP,this._editor,this._model.map((e,t)=>this._uiState.read(t)?.state?.kind===Y.Collapsed?e?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(CP,this._editor,this._model.map((e,t)=>this._uiState.read(t)?.state?.kind===Y.Custom?e?.displayLocation:void 0),this._tabAction,this._uiState.map(e=>e?.editorType??Ok.TextEditor))),this._showLongDistanceHint=this._editorObs.getOption(71).map(this,e=>e.edits.showLongDistanceHint),this._longDistanceHint=P(this,e=>{if(this._showLongDistanceHint.read(e))return e.store.add(this._instantiationService.createInstance(cF,this._editor,this._uiState.map((e,t)=>e?.longDistanceHint?{hint:e.longDistanceHint,newTextLineCount:e.newTextLineCount,edit:e.edit,diff:e.diff,editorType:e.editorType,model:this._simpleModel.read(t),inlineSuggestInfo:this._inlineSuggestInfo.read(t),nextCursorPosition:e.nextCursorPosition,target:e.target}:void 0),this._previewTextModel,this._tabAction))}).recomputeInitiallyAndOnChange(this._store),this._inlineDiffViewState=P(this,e=>{let t=this._uiState.read(e);if(!(!t||!t.state)&&t.state.kind!==`wordReplacements`&&t.state.kind!==`insertionMultiLine`&&t.state.kind!==`collapsed`&&t.state.kind!==`custom`&&t.state.kind!==`jumpTo`)return{modifiedText:new is(t.newText),diff:t.diff,mode:t.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,editorType:t.editorType}}),this._inlineDiffView=this._register(new NF(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._jumpToView=this._register(this._instantiationService.createInstance(GP,this._editorObs,{style:`label`},P(e=>{let t=this._uiState.read(e);if(t?.state?.kind===Y.JumpTo)return{jumpToPosition:t.state.position}})));let o=xr({equalsFn:Ll.arrayC(Ll.thisC())},e=>{let t=this._uiState.read(e);return t?.state?.kind===Y.WordReplacements?t.state.replacements.map(e=>new TF(e,t.editorType,t.state?.alternativeAction)):[]});this._wordReplacementViews=it(this,o,(e,t)=>t.add(this._instantiationService.createInstance(jF,this._editorObs,e,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(BP,this._editorObs,this._uiState.map(e=>e?.state?.kind===Y.LineReplacement?{originalRange:e.state.originalRange,modifiedRange:e.state.modifiedRange,modifiedLines:e.state.modifiedLines,replacements:e.state.replacements}:void 0),this._uiState.map(e=>e?.editorType??Ok.TextEditor),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map(e=>e.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map(e=>e.edits.renderSideBySide),this._register(E(e=>{let t=this._model.read(e);t&&e.store.add(qu.any(this._sideBySide.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(e).map(e=>e.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)(e=>{this._viewHasBeenShownLongerThan(350)&&(e.event.preventDefault(),t.accept(e.alternativeAction))}))})),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store);let s=P(this,e=>Math.max(...this._wordReplacementViews.read(e).map(t=>t.minEditorScrollHeight.read(e)),this._lineReplacementView.minEditorScrollHeight.read(e),this._customView.minEditorScrollHeight.read(e))).recomputeInitiallyAndOnChange(this._store),c;this._register(E(e=>{let t=s.read(e),n=this._editorObs.model.read(e);n&&this._editor.changeViewZones(e=>{let r=this._editor.getScrollHeight(),i=t-r+1;i!==0&&c!==void 0&&(e.removeZone(c),c=void 0),!(i<=0)&&(c=e.addZone({afterLineNumber:n.getLineCount(),heightInPx:i,domNode:N(`div.minScrollHeightViewZone`)}))})})),this._constructorDone.set(!0,void 0)}_getLongDistanceHintState(e,t){if(!e.inlineEdit.inlineCompletion.identity.jumpedTo.read(t)&&e.inlineEdit.action!==void 0)return e.inlineEdit.originalText.uri.toString()===this._editorObs.model.read(t)?.uri.toString()?(this._currentInlineEditCache?.inlineSuggestionIdentity!==e.inlineEdit.inlineCompletion.identity&&(this._currentInlineEditCache={inlineSuggestionIdentity:e.inlineEdit.inlineCompletion.identity,firstCursorLineNumber:e.inlineEdit.cursorPosition.lineNumber}),{lineNumber:this._currentInlineEditCache.firstCursorLineNumber,isVisible:!e.inViewPort.read(t)}):{isVisible:!0,lineNumber:e.inlineEdit.cursorPosition.lineNumber}}_getCacheId(e){return e.inlineEdit.inlineCompletion.identity.id}_determineView(e,t,n,r){let i=e.inlineEdit,a=this._previousView?.id===this._getCacheId(e)&&this._previousView?.uri.toString()===this._editorObs.model.get().uri.toString(),o=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(t)&&(this._previousView?.view===Y.SideBySide||this._previousView?.view===Y.LineReplacement);if(a&&!o)return this._previousView.view;let s=e.inlineEdit.inlineCompletion.action;if(s?.kind===`edit`&&s.alternativeAction)return Y.WordReplacements;let c=e.inlineEdit.inlineCompletion.originalTextRef.uri,l=this._editorObs.model.read(t)?.uri;if(l&&c.toString()!==l.toString()||e.displayLocation&&!e.inlineEdit.inlineCompletion.identity.jumpedTo.read(t))return Y.Custom;let u=i.originalLineRange.length,d=i.modifiedLineRange.length,f=n.flatMap(e=>e.innerChanges??[]),p=f.length===1;if(e.editorType!==Ok.DiffEditor){if(p&&this._useCodeShifting.read(t)!==`never`&&UF(n))return WF(n,i.cursorPosition)?Y.InsertionInline:Y.LineReplacement;if(KF(f,i,r))return Y.Deletion;if(GF(n)&&this._useCodeShifting.read(t)===`always`)return Y.InsertionMultiLine;if(f.every(e=>Au.ofRange(e.originalRange).columnCount<jF.MAX_LENGTH&&Au.ofRange(e.modifiedRange).columnCount<jF.MAX_LENGTH)&&p&&u===1&&d===1){let t=f.map(e=>r.getValueOfRange(e.modifiedRange)),n=f.map(t=>e.inlineEdit.originalText.getValueOfRange(t.originalRange));if(!t.some(e=>e.includes(` `))&&!n.some(e=>e.includes(` `))&&(!f.some(e=>e.originalRange.isEmpty())||!JF(f.map(e=>new Tc(e.originalRange,``)),i.originalText).some(e=>e.range.isEmpty()&&Au.ofRange(e.range).columnCount<jF.MAX_LENGTH)))return Y.WordReplacements}}if(u>0&&d>0)return u===1&&d===1&&e.editorType!==Ok.DiffEditor?Y.LineReplacement:this._renderSideBySide.read(t)!==`never`&&xF.fitsInsideViewport(this._editor,this._previewTextModel,i,t)?Y.SideBySide:Y.LineReplacement;if(e.editorType===Ok.DiffEditor){if(KF(f,i,r))return Y.Deletion;if(GF(n)&&this._useCodeShifting.read(t)===`always`)return Y.InsertionMultiLine}return Y.SideBySide}_determineRenderState(e,t,n,r){if(e.inlineEdit.action?.kind===`jumpTo`)return{kind:Y.JumpTo,position:e.inlineEdit.action.position,viewData:VF};let i=e.inlineEdit,a=this._determineView(e,t,n,r);if(this._willRenderAboveCursor(t,i,a))switch(a){case Y.LineReplacement:case Y.WordReplacements:a=Y.SideBySide}this._previousView={id:this._getCacheId(e),view:a,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now(),uri:this._editorObs.model.get().uri};let o=n.flatMap(e=>e.innerChanges??[]),s=this._editor.getModel(),c=o.map(e=>({originalRange:e.originalRange,modifiedRange:e.modifiedRange,original:i.originalText.getValueOfRange(e.originalRange),modified:r.getValueOfRange(e.modifiedRange)})),l=HF(i,c,s);switch(a){case Y.InsertionInline:return{kind:Y.InsertionInline,viewData:l};case Y.SideBySide:return{kind:Y.SideBySide,viewData:l};case Y.Collapsed:return{kind:Y.Collapsed,viewData:l};case Y.Custom:return{kind:Y.Custom,displayLocation:e.displayLocation,viewData:l}}if(a===Y.Deletion)return{kind:Y.Deletion,originalRange:i.originalLineRange,deletions:o.map(e=>e.originalRange),viewData:l};if(a===Y.InsertionMultiLine){let e=o[0];return{kind:Y.InsertionMultiLine,lineNumber:e.originalRange.startLineNumber,column:e.originalRange.startColumn,text:r.getValueOfRange(e.modifiedRange),viewData:l}}let u=c.map(e=>new Tc(e.originalRange,e.modified));if(u.length!==0){if(a===Y.WordReplacements){let t=qF(u,i.originalText);return t.some(e=>e.range.isEmpty())&&(t=JF(u,i.originalText)),{kind:Y.WordReplacements,replacements:t,alternativeAction:e.inlineEdit.action?.alternativeAction,viewData:l}}if(a===Y.LineReplacement)return{kind:Y.LineReplacement,originalRange:i.originalLineRange,modifiedRange:i.modifiedLineRange,modifiedLines:i.modifiedLineRange.mapToLineArray(e=>r.getLineAt(e)),replacements:o.map(e=>({originalRange:e.originalRange,modifiedRange:e.modifiedRange})),viewData:l}}}_willRenderAboveCursor(e,t,n){if(this._useCodeShifting.read(e)===`always`)return!1;for(let e of t.multiCursorPositions)if(n===Y.WordReplacements&&e.lineNumber===t.originalLineRange.startLineNumber+1||n===Y.LineReplacement&&e.lineNumber>=t.originalLineRange.endLineNumberExclusive&&e.lineNumber<t.modifiedLineRange.endLineNumberExclusive+t.modifiedLineRange.length)return!0;return!1}_viewHasBeenShownLongerThan(e){let t=this._previousView?.timestamp;if(!t)throw new lc(`viewHasBeenShownLongThan called before a view has been shown`);return Date.now()-t>=e}};BF=RF([zF(5,x)],BF);var VF=new xk(-1,-1,-1,-1,-1,-1,-1,!0);function HF(e,t,n){if(!e.edit)return VF;let r=e.cursorPosition,i=t.length!==0&&t[0].modified.startsWith(n.getEOL());return new xk(e.edit.replacements.length===0?0:e.edit.replacements[0].range.getStartPosition().column-r.column,e.lineEdit.lineRange.startLineNumber-r.lineNumber+(i&&e.lineEdit.lineRange.startLineNumber>=r.lineNumber?1:0),e.lineEdit.lineRange.length,e.lineEdit.newLines.length,t.reduce((e,t)=>e+t.original.length,0),t.reduce((e,t)=>e+t.modified.length,0),t.length,t.every(e=>e.original===t[0].original&&e.modified===t[0].modified))}function UF(e){return e.every(e=>e.innerChanges.every(e=>t(e)));function t(e){return!(!e.originalRange.isEmpty()||e.modifiedRange.startLineNumber!==e.modifiedRange.endLineNumber)}}function WF(e,t){if(!t||!UF(e))return!1;let n=t;return e.every(e=>e.innerChanges.every(e=>r(e)));function r(e){let t=e.originalRange.getStartPosition();return!!(n.isBeforeOrEqual(t)||t.lineNumber<n.lineNumber)}}function GF(e){let t=e.flatMap(e=>e.innerChanges??[]);if(t.length!==1)return!1;let n=t[0];return!(!n.originalRange.isEmpty()||n.modifiedRange.startLineNumber===n.modifiedRange.endLineNumber)}function KF(e,t,n){return e.map(e=>({original:t.originalText.getValueOfRange(e.originalRange),modified:n.getValueOfRange(e.modifiedRange)})).every(({original:e,modified:t})=>t.trim()===``&&e.length>0&&(e.length>t.length||e.trim()!==``))}function qF(e,t){return YF(e,t,e=>/^[a-zA-Z]$/.test(e))}function JF(e,t){return YF(e,t,e=>!/^\s$/.test(e))}function YF(e,t,n){let r=[];e.sort((e,t)=>S.compareRangesUsingStarts(e.range,t.range));for(let n of e){let e=n.range.startColumn-1,a=n.range.endColumn-2,o=``,s=``,c=t.getLineAt(n.range.startLineNumber),l=t.getLineAt(n.range.endLineNumber);if(i(c[e]))for(;i(c[e-1]);)o=c[e-1]+o,e--;if(i(l[a])||a<e)for(;i(l[a+1]);)s+=l[a+1],a++;let u=new Tc(new S(n.range.startLineNumber,e+1,n.range.endLineNumber,a+2),o+n.text+s);r.length>0&&S.areIntersectingOrTouching(r[r.length-1].range,u.range)&&(u=Tc.joinReplacements([r.pop(),u],t)),r.push(u)}function i(e){return e!==void 0&&n(e)}return r}var XF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ZF=function(e,t){return function(n,r){t(n,r,e)}},QF=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._model=t,this._showCollapsed=n,this._inlineEdit=P(this,e=>{let t=this._model.read(e);if(!t||!this._editor.getModel())return;let n=t.inlineEditState.read(e);if(!n)return;let r=n.inlineSuggestion.action,i;if(r?.kind===`edit`){let e=r.stringEdit,t=n.inlineSuggestion.originalTextRef.getTransformer(),a=e.replacements.map(e=>{let n=S.fromPositions(t.getPosition(e.replaceRange.start),t.getPosition(e.replaceRange.endExclusive));return new Tc(n,e.newText)});i=new cl(a)}else i=void 0;return new fP(n.inlineSuggestion.originalTextRef,r,i,t.primaryPosition.read(void 0),t.allPositions.read(void 0),n.inlineSuggestion.source.inlineSuggestions.commands??[],n.inlineSuggestion)}),this._inlineEditModel=P(this,e=>{let t=this._model.read(e);if(!t)return;let n=this._inlineEdit.read(e);return n?new pP(t,n,P(this,e=>{if(this._editorObs.isFocused.read(e)){if(t.tabShouldJumpToInlineEdit.read(e))return yk.Jump;if(t.tabShouldAcceptInlineEdit.read(e))return yk.Accept}return yk.Inactive})):void 0}),this._editorObs=ku(this._editor),this.view=this._register(r.createInstance(BF,this._editor,this._inlineEditModel,this._model.map(e=>e?QN.fromInlineCompletionModel(e):void 0),this._inlineEdit.map(e=>e?ZN.fromInlineSuggestion(e.inlineCompletion):void 0),this._showCollapsed))}};QF=XF([ZF(3,x)],QF);var $F,eI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tI=function(e,t){return function(n,r){t(n,r,e)}},nI=($F=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._model=t,this._focusIsInMenu=n,this._instantiationService=r,this._ghostTexts=P(this,e=>this._model.read(e)?.ghostTexts.read(e)??[]),this._inlineEdit=P(this,e=>this._model.read(e)?.inlineEditState.read(e)?.inlineSuggestion),this._everHadInlineEdit=lr(this,(e,t)=>t||!!this._inlineEdit.read(e)||!!this._model.read(e)?.inlineCompletionState.read(e)?.inlineSuggestion?.showInlineEditMenu),this._indicatorIsHoverVisible=Dt(this,void 0),this._showInlineEditCollapsed=P(this,e=>(this._model.read(e)?.showCollapsed.read(e)??!1)&&!this._indicatorIsHoverVisible.read(e)?.read(e)),this._inlineEditWidget=qi(e=>{if(this._everHadInlineEdit.read(e))return this._instantiationService.createInstance(QF,this._editor,this._model,this._showInlineEditCollapsed)}),this._gutterIndicatorState=P(e=>{let t=this._model.read(e);if(!t)return;let n=t.state.read(e);if(n?.kind===`ghostText`&&n.inlineSuggestion?.showInlineEditMenu)return{displayRange:ld.ofLength(n.primaryGhostText.lineNumber,1),tabAction:P(this,e=>this._editorObs.isFocused.read(e)?yk.Accept:yk.Inactive),gutterIndicatorOffset:Ec(rI(n.inlineSuggestion,this._editor)),inlineSuggestion:n.inlineSuggestion,model:t};if(n?.kind===`inlineEdit`){let r=this._inlineEditWidget.read(e)?.view;if(!r)return;let i=r.displayRange.read(e);return i?{displayRange:i,tabAction:P(e=>{if(this._editorObs.isFocused.read(e)){if(t.tabShouldJumpToInlineEdit.read(e))return yk.Jump;if(t.tabShouldAcceptInlineEdit.read(e))return yk.Accept}return yk.Inactive}),gutterIndicatorOffset:r.gutterIndicatorOffset,inlineSuggestion:n.inlineSuggestion,model:t}:void 0}}),this._stablizedGhostTexts=uO(this._ghostTexts,this._store),this._editorObs=ku(this._editor),this._ghostTextWidgets=it(this,this._stablizedGhostTexts,(e,t)=>t.add(this._createGhostText(e))).recomputeInitiallyAndOnChange(this._store),this._inlineEditWidget.recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map(e=>e.fontFamily),this._register(se(P(e=>`
|
|
41
|
-
.monaco-editor .ghost-text-decoration,
|
|
42
|
-
.monaco-editor .ghost-text-decoration-preview,
|
|
43
|
-
.monaco-editor .ghost-text {
|
|
44
|
-
font-family: ${this._fontFamily.read(e)};
|
|
45
|
-
}`))),this._register(new yg(this._editor,this._model,this._instantiationService)),this._indicator=this._register(this._instantiationService.createInstance(tP,this._editorObs,P(e=>{let t=this._gutterIndicatorState.read(e);if(t)return new XN(ZN.fromInlineSuggestion(t.inlineSuggestion),t.displayRange,QN.fromInlineCompletionModel(t.model),t.inlineSuggestion.action?.kind===`edit`?t.inlineSuggestion.action.alternativeAction:void 0)}),this._gutterIndicatorState.map((e,t)=>e?.tabAction?.read(t)??yk.Inactive),this._gutterIndicatorState.map((e,t)=>e?.gutterIndicatorOffset?.read(t)??0),this._inlineEditWidget.map((e,t)=>e?.view.inlineEditsIsHovered.read(t)??!1),this._focusIsInMenu)),this._indicatorIsHoverVisible.set(this._indicator.isHoverVisible,void 0),P(e=>{let t=this._inlineEditWidget.read(e);if(t)return e.store.add(this._instantiationService.createInstance(cP,t._inlineEditModel,Ec(this._indicator),t.view._inlineCollapsedView))}).recomputeInitiallyAndOnChange(this._store)}_createGhostText(e){return this._instantiationService.createInstance(fM,this._editor,P(t=>{let n=this._model.read(t),r=n?.inlineCompletionState.read(t)?.inlineSuggestion;return!n||!r?{ghostText:e.read(t),handleInlineCompletionShown:()=>{},warning:void 0}:{ghostText:e.read(t),handleInlineCompletionShown:e=>n.handleInlineSuggestionShown(r,Y.GhostText,e,Date.now()),warning:uM.from(n?.warning.read(t))}}),{useSyntaxHighlighting:this._editorObs.getOption(71).map(e=>e.syntaxHighlightingEnabled),highlightShortSuggestions:!0})}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.ownsViewZone(e)??!1}},$F.hot=ll($F),$F);nI=eI([tI(3,x)],nI);function rI(e,t){let n=e.getSingleTextEdit(),r=t.getModel();if(!r)return 0;let i=r.getEOL();if(n.range.isEmpty()&&n.text.startsWith(i)){let e=t.getLineHeightForPosition(n.range.getStartPosition());return iI(n.text,i)*e}return 0}function iI(e,t){if(!t.length)return 0;let n=0,r=0;for(;e.startsWith(t,r);)n++,r+=t.length;return n}var aI,oI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sI=function(e,t){return function(n,r){t(n,r,e)}},cI;bA(e=>lI.get(e));var lI=(aI=class extends O{static getInFocusedEditorOrParent(e){let t=by(e);return t?cI.get(t):null}static get(e){return rT(e.getContribution(cI.ID))}constructor(e,t,n,r,i,a,o,s,c,l){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=n,this._configurationService=r,this._commandService=i,this._debounceService=a,this._languageFeaturesService=o,this._accessibilitySignalService=s,this._keybindingService=c,this._accessibilityService=l,this._enabled=P(this,e=>this._enabledInConfig.read(e)&&(!this._isScreenReaderEnabled.read(e)||!this._editorDictationInProgress.read(e))),this._focusIsInMenu=Dt(this,!1),this._focusIsInEditorOrMenu=P(this,e=>{let t=this._editorObs.isFocused.read(e),n=this._focusIsInMenu.read(e);return t||n}),this._cursorIsInIndentation=P(this,e=>{let t=this._editorObs.cursorPosition.read(e);if(t===null)return!1;let n=this._editorObs.model.read(e);if(!n)return!1;this._editorObs.versionId.read(e);let r=n.getLineIndentColumn(t.lineNumber);return t.column<=r}),this.model=qi(this,e=>{if(this._editorObs.isReadonly.read(e))return;let t=this._editorObs.model.read(e);if(t)return this._instantiationService.createInstance(CA,t,this._suggestWidgetAdapter.selectedItem,this._editorObs.versionId,this._positions,this._debounceValue,this._enabled,this.editor)}),this._playAccessibilitySignal=Nr(this),this._view=P(e=>e.store.add(this._instantiationService.createInstance(nI.hot.read(e),this.editor,this.model,this._focusIsInMenu))),this._editorObs=ku(this.editor),this._positions=P(this,e=>this._editorObs.selections.read(e)?.map(e=>e.getEndPosition())??[new k(1,1)]),this._suggestWidgetAdapter=this._register(new rM(this._editorObs,e=>this.model.get()?.handleSuggestAccepted(e),()=>this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit())),this._enabledInConfig=yd(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).enabled),this._isScreenReaderEnabled=yd(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=yd(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue(`editorDictation.inProgress`)===!0),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,`InlineCompletionsDebounce`,{min:50,max:50}),this.model.recomputeInitiallyAndOnChange(this._store),this._hideInlineEditOnSelectionChange=this._editorObs.getOption(71).map(e=>!0),this._view.recomputeInitiallyAndOnChange(this._store),cI._instances.add(this),this._register(Tn(()=>cI._instances.delete(this))),this._register(E(e=>{let t=this.model.read(e);if(!t)return;let n=t.state.read(e);if(!n||!this._focusIsInEditorOrMenu.read(void 0))return;let r=n.kind===`inlineEdit`?n.nextEditUri:void 0;for(let e of cI._instances)if(e===this)continue;else r&&mo(r,e.editor.getModel()?.uri)?e.model.read(void 0)?.trigger():e.reject()})),this._register(E(e=>{let t=this.model.read(e),n=this.editor.getModel()?.uri;!t||!n||e.store.add(t.onDidAccept(()=>{for(let e of cI._instances){if(e===this)continue;let t=e.model.read(void 0)?.state.read(void 0);t?.kind===`inlineEdit`&&mo(t.nextEditUri,n)&&e.model.read(void 0)?.stop(`automatic`)}}))})),this._register(me(this._editorObs.onDidType,(e,t)=>{this._enabled.get()&&this.model.get()?.trigger()})),this._register(me(this._editorObs.onDidPaste,(e,t)=>{this._enabled.get()&&this.model.get()?.trigger()}));let u=new Set([Yi.Tab.id,Yi.DeleteLeft.id,Yi.DeleteRight.id,sg,`acceptSelectedSuggestion`,cD.ID,sD.ID,__.NextMatchFindAction,yE.ID,bE.ID,xE.ID,SE.ID,...Eo.getRegisteredCommands()]);this._register(this._commandService.onDidExecuteCommand(t=>{if(u.has(t.commandId)&&e.hasTextFocus()&&this._enabled.get()){let e=!1;t.commandId===`editor.action.inlineSuggest.commit`&&(e=!0),this._editorObs.forceUpdate(t=>{this.model.get()?.trigger(t,{noDelay:e})})}})),this._register(me(this._editorObs.selections,(e,t,n)=>{if(n.some(e=>e.reason===3||e.source===`api`)){if(!this._hideInlineEditOnSelectionChange.get()&&this.model.get()?.state.get()?.kind===`inlineEdit`)return;let e=this.model.get();if(!e)return;e.state.get()?.kind===`ghostText`&&this.model.get()?.stop()}})),this._register(E(t=>{let n=this._focusIsInEditorOrMenu.read(t),r=this.model.read(void 0);if(n){let e=r?.state.read(void 0);(!e||e.kind!==`inlineEdit`||!e.nextEditUri)&&ht(e=>{for(let t of cI._instances)t!==this&&t.model.read(void 0)?.stop(`automatic`,e)});return}this._contextKeyService.getContextKeyValue(`accessibleViewIsShown`)||this._configurationService.getValue(`editor.inlineSuggest.keepOnBlur`)||e.getOption(71).keepOnBlur||Sg.dropDownVisible||r&&(r.state.read(void 0)?.inlineSuggestion?.isFromExplicitRequest&&r.inlineEditAvailable.read(void 0)||ht(e=>{r.stop(`automatic`,e)}))})),this._register(E(e=>{let t=this.model.read(e)?.inlineCompletionState.read(e);t?.suggestItem?t.primaryGhostText.lineCount>=2&&this._suggestWidgetAdapter.forceRenderingAbove():this._suggestWidgetAdapter.stopForceRenderingAbove()})),this._register(Tn(()=>{this._suggestWidgetAdapter.stopForceRenderingAbove()}));let d=lr(this,(e,t)=>{let n=this.model.read(e)?.state.read(e);return this._suggestWidgetAdapter.selectedItem.get()?t:n?.inlineSuggestion?.semanticId});this._register(At(P(e=>(this._playAccessibilitySignal.read(e),d.read(e),{})),async(e,t,n,r)=>{let i=this.model.get(),a=i?.state.get();if(!a||!i||(await $o(50,ad(r)),await Qn(this._suggestWidgetAdapter.selectedItem,kl,()=>!1,ad(r)),i=this.model.get(),a=i?.state.get(),!a||!i))return;let o=a.kind===`ghostText`?i.textModel.getLineContent(a.primaryGhostText.lineNumber):``;this._accessibilitySignalService.playSignal(a.kind===`ghostText`?xo.inlineSuggestion:xo.nextEditSuggestion),this.editor.getOption(12)&&(a.kind===`ghostText`?this._provideScreenReaderUpdate(a.primaryGhostText.renderForScreenReader(o)):this._provideScreenReaderUpdate(``))})),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`accessibility.verbosity.inlineCompletions`)&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue(`accessibility.verbosity.inlineCompletions`)})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue(`accessibility.verbosity.inlineCompletions`)});let f=new dO(this._contextKeyService);this._register(f.bind(zT.cursorInIndentation,this._cursorIsInIndentation)),this._register(f.bind(zT.hasSelection,e=>!this._editorObs.cursorSelection.read(e)?.isEmpty())),this._register(f.bind(zT.cursorAtInlineEdit,this.model.map((e,t)=>e?.inlineEditState?.read(t)?.cursorAtInlineEdit.read(t)))),this._register(f.bind(zT.tabShouldAcceptInlineEdit,this.model.map((e,t)=>!!e?.tabShouldAcceptInlineEdit.read(t)))),this._register(f.bind(zT.tabShouldJumpToInlineEdit,this.model.map((e,t)=>!!e?.tabShouldJumpToInlineEdit.read(t)))),this._register(f.bind(zT.inlineEditVisible,e=>this.model.read(e)?.inlineEditState.read(e)!==void 0)),this._register(f.bind(zT.inlineSuggestionHasIndentation,e=>this.model.read(e)?.getIndentationInfo(e)?.startsWithIndentation)),this._register(f.bind(zT.inlineSuggestionHasIndentationLessThanTabSize,e=>this.model.read(e)?.getIndentationInfo(e)?.startsWithIndentationLessThanTabSize)),this._register(f.bind(zT.suppressSuggestions,e=>{let t=this.model.read(e)?.inlineCompletionState.read(e);return t?.primaryGhostText&&t?.inlineSuggestion?t.inlineSuggestion.source.inlineSuggestions.suppressSuggestions:void 0})),this._register(f.bind(zT.inlineSuggestionAlternativeActionVisible,e=>{let t=(this.model.read(e)?.inlineEditState.read(e))?.inlineSuggestion.action;return t&&t.kind===`edit`&&t.alternativeAction!==void 0})),this._register(f.bind(zT.inlineSuggestionVisible,e=>{let t=this.model.read(e)?.inlineCompletionState.read(e);return!!t?.inlineSuggestion&&t?.primaryGhostText!==void 0&&!t?.primaryGhostText.isEmpty()}));let p=P(this,e=>{let t=this.model.read(e)?.inlineCompletionState.read(e)?.primaryGhostText;if(!(!t||t.isEmpty()))return new k(t.lineNumber,t.parts[0].column)});this._register(f.bind(zT.cursorBeforeGhostText,e=>{let t=p.read(e);if(!t)return!1;let n=this._editorObs.cursorPosition.read(e);return n?t.equals(n):!1})),this._register(this._instantiationService.createInstance(AD,this.editor))}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){let t=this._contextKeyService.getContextKeyValue(`accessibleViewIsShown`),n=this._keybindingService.lookupKeybinding(`editor.action.accessibleView`),r;!t&&n&&this.editor.getOption(169)&&(r=R(1247,`Inspect this in the accessible view ({0})`,n.getAriaLabel())),hl(r?e+`, `+r:e)}shouldShowHoverAt(e){let t=this.model.get()?.primaryGhostText.get();return t?t.parts.some(n=>e.containsPosition(new k(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){return this._view.get().shouldShowHoverAtViewZone(e)}reject(){ht(e=>{let t=this.model.get();if(t&&(t.stop(`explicitCancel`,e),this._focusIsInEditorOrMenu.get()))for(let t of cI._instances)t!==this&&!t._focusIsInEditorOrMenu.get()&&t.model.get()?.stop(`automatic`,e)})}jump(){let e=this.model.get();e&&e.jump()}},cI=aI,aI._instances=new Set,aI.hot=ll(aI),aI.ID=`editor.contrib.inlineCompletionsController`,aI);lI=cI=oI([sI(1,x),sI(2,Ls),sI(3,Ea),sI(4,or),sI(5,Da),sI(6,U),sI(7,Ko),sI(8,Ir),sI(9,ui)],lI);var uI,dI,fI,pI,mI,hI=class e extends A{constructor(){super({id:e.ID,label:W(1224,`Show Next Inline Suggestion`),precondition:g.and(I.writable,zT.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){lI.get(t)?.model.get()?.next()}};uI=hI,uI.ID=ug;var gI=class e extends A{constructor(){super({id:e.ID,label:W(1225,`Show Previous Inline Suggestion`),precondition:g.and(I.writable,zT.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){lI.get(t)?.model.get()?.previous()}};dI=gI,dI.ID=lg;var _I=`vscode://schemas/inlineCompletionProviderIdArgs`;function vI(e){let t=[];return e.providerId&&(t.push(e.providerId.toStringWithoutVersion()),t.push(e.providerId.extensionId+`:*`)),t}var yI=ST(bT({showNoResultNotification:vT(fT()),providerId:vT(wT(_I,uT())),explicit:vT(fT()),changeHintData:vT(mT())}),gT()),bI=class extends A{constructor(){super({id:`editor.action.inlineSuggest.trigger`,label:W(1226,`Trigger Inline Suggestion`),precondition:I.writable,metadata:{description:R(1213,`Triggers an inline suggestion in the editor.`),args:[{name:`args`,description:R(1214,`Options for triggering inline suggestions.`),isOptional:!0,schema:yI.getJSONSchema()}]}})}async run(e,t,n){let r=e.get(gi),i=e.get(U),a=lI.get(t),o=yI.validateOrThrow(n),s=o?.providerId?i.inlineCompletionsProvider.all(t.getModel()).find(e=>vI(e).some(e=>e===o.providerId)):void 0;await pi(async e=>{await a?.model.get()?.trigger(e,{provider:s,explicit:o?.explicit??!0,changeHint:o?.changeHintData?{data:o.changeHintData}:void 0}),a?.playAccessibilitySignal(e)}),o?.showNoResultNotification&&(a?.model.get()?.state.get()||r.notify({severity:Ri.Info,message:R(1215,`No inline suggestion is available.`)}))}},xI=class extends A{constructor(){super({id:`editor.action.inlineSuggest.acceptNextWord`,label:W(1227,`Accept Next Word Of Inline Suggestion`),precondition:g.and(I.writable,zT.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:g.and(I.writable,zT.inlineSuggestionVisible,zT.cursorBeforeGhostText,Ct.negate())},menuOpts:[{menuId:q.InlineSuggestionToolbar,title:R(1216,`Accept Word`),group:`primary`,order:2}]})}async run(e,t){await lI.get(t)?.model.get()?.acceptNextWord()}},SI=class extends A{constructor(){super({id:`editor.action.inlineSuggest.acceptNextLine`,label:W(1228,`Accept Next Line Of Inline Suggestion`),precondition:g.and(I.writable,zT.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:q.InlineSuggestionToolbar,title:R(1217,`Accept Line`),group:`secondary`,order:2}]})}async run(e,t){await lI.get(t)?.model.get()?.acceptNextLine()}},CI=class extends A{constructor(){super({id:sg,label:W(1229,`Accept Inline Suggestion`),precondition:g.or(zT.inlineSuggestionVisible,zT.inlineEditVisible),menuOpts:[{menuId:q.InlineSuggestionToolbar,title:R(1218,`Accept`),group:`primary`,order:2},{menuId:q.InlineEditsActions,title:R(1219,`Accept`),group:`primary`,order:2}],kbOpts:[{primary:2,weight:200,kbExpr:g.or(g.and(zT.inlineSuggestionVisible,I.tabMovesFocus.toNegated(),J.Visible.toNegated(),I.hoverFocused.toNegated(),zT.hasSelection.toNegated(),zT.inlineSuggestionHasIndentationLessThanTabSize),g.and(zT.inlineEditVisible,I.tabMovesFocus.toNegated(),J.Visible.toNegated(),I.hoverFocused.toNegated(),zT.tabShouldAcceptInlineEdit))}]})}async run(e,t){let n=lI.getInFocusedEditorOrParent(e);n&&(n.model.get()?.accept(n.editor),n.editor.focus())}};Me.registerKeybindingRule({id:sg,weight:202,primary:2,when:g.and(zT.inInlineEditsPreviewEditor)});var wI=class extends A{constructor(){super({id:cg,label:W(1230,`Accept Inline Suggestion Alternative Action`),precondition:g.and(zT.inlineSuggestionAlternativeActionVisible,zT.inlineEditVisible),menuOpts:[],kbOpts:[{primary:1026,weight:203}]})}async run(e,t){let n=lI.getInFocusedEditorOrParent(e);n&&(n.model.get()?.accept(n.editor,!0),n.editor.focus())}};Me.registerKeybindingRule({id:cg,weight:203,primary:1026,when:g.and(zT.inInlineEditsPreviewEditor)});var TI=class extends A{constructor(){super({id:dg,label:W(1231,`Jump to next inline edit`),precondition:zT.inlineEditVisible,menuOpts:[{menuId:q.InlineEditsActions,title:R(1220,`Jump`),group:`primary`,order:1,when:zT.cursorAtInlineEdit.toNegated()}],kbOpts:{primary:2,weight:201,kbExpr:g.and(zT.inlineEditVisible,I.tabMovesFocus.toNegated(),J.Visible.toNegated(),I.hoverFocused.toNegated(),zT.tabShouldJumpToInlineEdit)}})}async run(e,t){let n=lI.get(t);n&&n.jump()}},EI=class e extends A{constructor(){super({id:e.ID,label:W(1232,`Hide Inline Suggestion`),precondition:g.or(zT.inlineSuggestionVisible,zT.inlineEditVisible),kbOpts:{kbExpr:I.editorTextFocus,weight:190,primary:9},menuOpts:[{menuId:q.InlineEditsActions,title:R(1221,`Reject`),group:`primary`,order:3}]})}async run(e,t){let n=lI.getInFocusedEditorOrParent(e);ht(e=>{n?.model.get()?.stop(`explicitCancel`,e)}),n?.editor.focus()}};fI=EI,fI.ID=fg;var DI=class e extends A{constructor(){super({id:e.ID,label:W(1233,`Toggle Inline Suggestions Show Collapsed`),precondition:g.true()})}async run(e,t){let n=e.get(Ea),r=n.getValue(`editor.inlineSuggest.edits.showCollapsed`);n.updateValue(`editor.inlineSuggest.edits.showCollapsed`,!r)}};pI=DI,pI.ID=pg,Me.registerKeybindingRule({id:EI.ID,weight:-1,primary:9,secondary:[1033],when:g.and(zT.inInlineEditsPreviewEditor)});var OI=class e extends id{constructor(){super({id:e.ID,title:R(1222,`Always Show Toolbar`),f1:!1,precondition:void 0,menu:[{id:q.InlineSuggestionToolbar,group:`secondary`,order:10}],toggled:g.equals(`config.editor.inlineSuggest.showToolbar`,`always`)})}async run(e){let t=e.get(Ea),n=t.getValue(`editor.inlineSuggest.showToolbar`)===`always`?`onHover`:`always`;t.updateValue(`editor.inlineSuggest.showToolbar`,n)}};mI=OI,mI.ID=`editor.action.inlineSuggest.toggleAlwaysShowToolbar`;var kI=class extends A{constructor(){super({id:`editor.action.inlineSuggest.dev.extractRepro`,label:R(1223,`Developer: Extract Inline Suggest State`),alias:`Developer: Inline Suggest Extract Repro`,precondition:g.or(zT.inlineEditVisible,zT.inlineSuggestionVisible)})}async run(e,t){let n=e.get(we),r=lI.get(t)?.model.get();if(!r)return;let i=r.extractReproSample(),a=Do(JSON.stringify({inlineCompletion:i.inlineCompletion},null,4)).map(e=>`// `+e).join(`
|
|
46
|
-
`),o=`${i.documentValue}\n\n// <json>\n${a}\n// </json>\n`;return await n.writeText(o),{reproCase:o}}},AI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jI=function(e,t){return function(n,r){t(n,r,e)}},MI=class{constructor(e,t,n){this.owner=e,this.range=t,this.controller=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},NI=class{constructor(e,t,n,r,i){this._editor=e,this.accessibilityService=t,this._instantiationService=n,this._telemetryService=r,this._markdownRendererService=i,this.hoverOrdinal=4,this.hideCopyButton=!0}suggestHoverAnchor(e){let t=lI.get(this._editor);if(!t)return null;let n=e.target;if(n.type===8){let r=n.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId))return new wh(1e3,this,S.fromPositions(this._editor.getModel().validatePosition(r.positionBefore||r.position)),e.event.posx,e.event.posy,!1)}if(n.type===7&&t.shouldShowHoverAt(n.range)||n.type===6&&n.detail.mightBeForeignElement&&t.shouldShowHoverAt(n.range))return new wh(1e3,this,n.range,e.event.posx,e.event.posy,!1);if(n.type===9&&n.element){let r=fM.getWarningWidgetContext(n.element);if(r&&t.shouldShowHoverAt(r.range))return new wh(1e3,this,r.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if(this._editor.getOption(71).showToolbar!==`onHover`)return[];let n=lI.get(this._editor);return n&&n.shouldShowHoverAt(e.range)?[new MI(this,e.range,n)]:[]}renderHoverParts(e,t){let n=new b,r=t[0];this._telemetryService.publicLog2(`inlineCompletionHover.shown`),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(12)&&n.add(this.renderScreenReaderText(e,r));let i=r.controller.model.get(),a=document.createElement(`div`);return e.fragment.appendChild(a),n.add(qt((t,n)=>{let r=n.add(this._instantiationService.createInstance(Sg.hot.read(t),this._editor,!1,Ec(null),i.selectedInlineCompletionIndex,i.inlineCompletionsCount,i.activeCommands,i.warning,()=>{e.onContentsChanged()}));a.replaceChildren(r.getDomNode())})),i.triggerExplicitly(),new Th([{hoverPart:r,hoverElement:a,dispose(){n.dispose()}}])}getAccessibleContent(e){return R(1248,`There are inline completions here`)}renderScreenReaderText(e,t){let n=new b,r=N,i=r(`div.hover-row.markdown-hover`),a=z(i,r(`div.hover-contents`,{"aria-live":`assertive`})),o=t=>{let r=R(1249,`Suggestion:`),i=n.add(this._markdownRendererService.render(new mi().appendText(r).appendCodeblock(`text`,t),{context:this._editor,asyncRenderCallback:()=>{a.className=`hover-contents code-hover-contents`,e.onContentsChanged()}}));a.replaceChildren(i.element)};return n.add(E(e=>{let n=t.controller.model.read(e)?.primaryGhostText.read(e);if(n){let e=this._editor.getModel().getLineContent(n.lineNumber);o(n.renderForScreenReader(e))}else ni(a)})),e.fragment.appendChild(i),n}};NI=AI([jI(1,ui),jI(2,x),jI(3,Tu),jI(4,lt)],NI);var PI=class{};M(lI.ID,aT(lI.hot),3),T(bI),T(hI),T(gI),T(xI),T(SI),T(CI),T(wI),T(DI),T(EI),T(TI),We(OI),T(kI),We(ir),We(Cn),Eh.register(NI),eT.register(new PI);var FI,II=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},LI=function(e,t){return function(n,r){t(n,r,e)}},RI,zI=(FI=class{constructor(e,t,n,r){this.textModelResolverService=t,this.languageService=n,this.languageFeaturesService=r,this.toUnhook=new b,this.toUnhookForKeyboard=new b,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();let i=new dy(e);this.toUnhook.add(i),this.toUnhook.add(i.onMouseMoveOrRelevantKeyDown(([e,t])=>{this.startFindDefinitionFromMouse(e,t??void 0)})),this.toUnhook.add(i.onExecute(e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch(e=>{il(e)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(i.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(RI.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}let n=e.target.position;this.startFindDefinition(n)}async startFindDefinition(e){this.toUnhookForKeyboard.clear();let t=e?this.editor.getModel()?.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;let n=new wd(this.editor,15);this.previousPromise&&=(this.previousPromise.cancel(),null),this.previousPromise=pu(t=>this.findDefinition(e,t));let r;try{r=await this.previousPromise}catch(e){il(e);return}if(!r||!r.length||!n.validate(this.editor)){this.removeLinkDecorations();return}let i=r[0].originSelectionRange?S.lift(r[0].originSelectionRange):new S(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(r.length>1){let e=i;for(let{originSelectionRange:t}of r)t&&(e=S.plusRange(e,t));this.addDecoration(e,new mi().appendText(R(1120,`Click to show {0} definitions.`,r.length)))}else{let e=r[0];return e.uri?this.textModelResolverService.createModelReference(e.uri).then(t=>{if(!t.object||!t.object.textEditorModel){t.dispose();return}let{object:{textEditorModel:n}}=t,{startLineNumber:r}=e.range;if(r<1||r>n.getLineCount()){t.dispose();return}let a=this.getPreviewValue(n,r,e),o=this.languageService.guessLanguageIdByFilepathOrFirstLine(n.uri);this.addDecoration(i,a?new mi().appendCodeblock(o||``,a):void 0),t.dispose()}):void 0}}getPreviewValue(e,t,n){let r=n.range;return r.endLineNumber-r.startLineNumber>=RI.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),r=e.validateRange(r),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,n){let r=e.getLineFirstNonWhitespaceColumn(t);for(let i=t+1;i<n.endLineNumber;i++){let t=e.getLineFirstNonWhitespaceColumn(i);r=Math.min(r,t)}return e.getValueInRange(n).replace(RegExp(`^\\s{${r-1}}`,`gm`),``).trim()}getPreviewRangeBasedOnIndentation(e,t){let n=e.getLineFirstNonWhitespaceColumn(t),r=Math.min(e.getLineCount(),t+RI.MAX_SOURCE_PREVIEW_LINES),i=t+1;for(;i<r&&n!==e.getLineFirstNonWhitespaceColumn(i);i++);return new S(t,1,i+1,1)}addDecoration(e,t){let n={range:e,options:{description:`goto-definition-link`,inlineClassName:`goto-definition-link`,hoverMessage:t}};this.linkDecorations.set([n])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(e.target.detail.injectedText?.options instanceof Ta)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){let n=this.editor.getModel();return n?Ab(this.languageFeaturesService.definitionProvider,n,e,!1,t):Promise.resolve(null)}async gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(e=>new qb({openToSide:t,openInPeek:!t&&this.editor.getOption(101)&&!this.isInPeekEditor(e),muteMessage:!0},{title:{value:``,original:``},id:``,precondition:void 0}).run(e))}isInPeekEditor(e){let t=e.get(Ls);return Ny.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},RI=FI,FI.ID=`editor.contrib.gotodefinitionatposition`,FI.MAX_SOURCE_PREVIEW_LINES=8,FI);zI=RI=II([LI(1,xi),LI(2,os),LI(3,U)],zI),M(zI.ID,zI,2);var BI,VI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},HI=function(e,t){return function(n,r){t(n,r,e)}},UI=(BI=class extends O{constructor(e,t,n){super(),this._editor=e,this._markerService=n,this._ctxHasDiagnostics=I.selectionHasDiagnostics.bindTo(t),this._store.add(this._editor.onDidChangeCursorSelection(()=>this._update())),this._store.add(this._editor.onDidChangeModel(()=>this._update())),this._store.add(this._markerService.onMarkerChanged(e=>{let t=this._editor.getModel();t&&e.some(e=>mo(e,t.uri))&&this._update()})),this._update()}dispose(){this._ctxHasDiagnostics.reset(),super.dispose()}_update(){let e=this._editor.getModel(),t=this._editor.getSelection();if(!e||!t){this._ctxHasDiagnostics.reset();return}let n=this._markerService.read({resource:e.uri,severities:ed.Error|ed.Warning|ed.Info}).some(e=>S.areIntersecting({startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.endLineNumber,endColumn:e.endColumn},t));this._ctxHasDiagnostics.set(n)}},BI.ID=`editor.contrib.markerSelectionStatus`,BI);UI=VI([HI(1,Ls),HI(2,Xa)],UI),M(UI.ID,UI,1),T(class extends A{constructor(){super({id:`editor.action.debugEditorGpuRenderer`,label:W(1144,`Developer: Debug Editor GPU Renderer`),precondition:g.true()})}async run(e,t){let n=e.get(x),r=await e.get(Bi).pick([{label:R(1141,`Log Texture Atlas Stats`),id:`logTextureAtlasStats`},{label:R(1142,`Save Texture Atlas`),id:`saveTextureAtlas`},{label:R(1143,`Draw Glyph`),id:`drawGlyph`}],{canPickMany:!1});if(r)switch(r.id){case`logTextureAtlasStats`:n.invokeFunction(e=>{let t=e.get($l),n=Sd.atlas;if(!Sd.atlas){t.error(`No texture atlas found`);return}let r=n.getStats();t.info([`Texture atlas stats`,...r].join(`
|
|
47
|
-
|
|
48
|
-
`))});break;case`saveTextureAtlas`:n.invokeFunction(async e=>{let t=e.get(nr),n=e.get(xj),r=t.getWorkspace().folders;if(r.length>0){let e=Sd.atlas,t=[];for(let[i,a]of e.pages.entries())t.push(n.writeFile(Nn.joinPath(r[0].uri,`textureAtlasPage${i}_actual.png`),rr.wrap(new Uint8Array(await(await a.source.convertToBlob()).arrayBuffer()))),n.writeFile(Nn.joinPath(r[0].uri,`textureAtlasPage${i}_usage.png`),rr.wrap(new Uint8Array(await(await a.getUsagePreview()).arrayBuffer()))));await Promise.all(t)}});break;case`drawGlyph`:n.invokeFunction(async e=>{let t=e.get(Ea),n=e.get(xj),r=e.get(Bi),i=e.get(nr).getWorkspace().folders;if(i.length===0)return;let a=Sd.atlas,o=t.getValue(`editor.fontFamily`),s=t.getValue(`editor.fontSize`),c=new sn(s,o,dc().devicePixelRatio,Sd.decorationStyleCache),l=await r.input({prompt:`Enter a character to draw (prefix with 0x for code point))`});if(!l)return;let u=l.match(/0x(?<codePoint>[0-9a-f]+)/i)?.groups?.codePoint;u!==void 0&&(l=String.fromCodePoint(parseInt(u,16)));let d=a.getGlyph(c,l,0,0,0);if(!d)return;let f=a.pages[d.pageIndex].source.getContext(`2d`)?.getImageData(d.x,d.y,d.w,d.h);if(!f)return;let p=new OffscreenCanvas(f.width,f.height);xl(p.getContext(`2d`)).putImageData(f,0,0);let m=await p.convertToBlob({type:`image/png`}),h=Nn.joinPath(i[0].uri,`glyph_${l}_0_${s}px_${o.replaceAll(/[,\\\/\.'\s]/g,`_`)}.png`);await n.writeFile(h,rr.wrap(new Uint8Array(await m.arrayBuffer())))})}}});var WI;(function(e){e.NoAutoFocus=`noAutoFocus`,e.FocusIfVisible=`focusIfVisible`,e.AutoFocusImmediately=`autoFocusImmediately`})(WI||={});var GI=class extends A{constructor(){super({id:Gh,label:W(1150,`Show or Focus Hover`),metadata:{description:W(1151,`Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position.`),args:[{name:`args`,schema:{type:`object`,properties:{focus:{description:`Controls if and when the hover should take focus upon being triggered by this action.`,enum:[WI.NoAutoFocus,WI.FocusIfVisible,WI.AutoFocusImmediately],enumDescriptions:[R(1147,`The hover will not automatically take focus.`),R(1148,`The hover will take focus only if it is already visible.`),R(1149,`The hover will automatically take focus when it appears.`)],default:WI.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:mn(2089,2087),weight:100}})}run(e,t,n){if(!t.hasModel())return;let r=Mx.get(t);if(!r)return;let i=n?.focus,a=WI.FocusIfVisible;Object.values(WI).includes(i)?a=i:typeof i==`boolean`&&i&&(a=WI.AutoFocusImmediately);let o=e=>{let n=t.getPosition(),i=new S(n.lineNumber,n.column,n.lineNumber,n.column);r.showContentHover(i,1,2,e)},s=t.getOption(2)===2;r.isHoverVisible?a===WI.NoAutoFocus?o(s):r.focus():o(s||a===WI.AutoFocusImmediately)}},KI=class extends A{constructor(){super({id:Kh,label:W(1152,`Show Definition Preview Hover`),precondition:void 0,metadata:{description:W(1153,`Show the definition preview hover in the editor.`)}})}run(e,t){let n=Mx.get(t);if(!n)return;let r=t.getPosition();if(!r)return;let i=new S(r.lineNumber,r.column,r.lineNumber,r.column),a=zI.get(t);a&&a.startFindDefinitionFromCursor(r).then(()=>{n.showContentHover(i,1,2,!0)})}},qI=class extends A{constructor(){super({id:qh,label:W(1154,`Hide Hover`),alias:`Hide Content Hover`,precondition:void 0})}run(e,t){Mx.get(t)?.hideContentHover()}},JI=class extends A{constructor(){super({id:Jh,label:W(1155,`Scroll Up Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:16,weight:100},metadata:{description:W(1156,`Scroll up the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.scrollUp()}},YI=class extends A{constructor(){super({id:Yh,label:W(1157,`Scroll Down Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:18,weight:100},metadata:{description:W(1158,`Scroll down the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.scrollDown()}},XI=class extends A{constructor(){super({id:Xh,label:W(1159,`Scroll Left Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:15,weight:100},metadata:{description:W(1160,`Scroll left the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.scrollLeft()}},ZI=class extends A{constructor(){super({id:Zh,label:W(1161,`Scroll Right Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:17,weight:100},metadata:{description:W(1162,`Scroll right the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.scrollRight()}},QI=class extends A{constructor(){super({id:Qh,label:W(1163,`Page Up Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:W(1164,`Page up the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.pageUp()}},$I=class extends A{constructor(){super({id:$h,label:W(1165,`Page Down Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:W(1166,`Page down the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.pageDown()}},eL=class extends A{constructor(){super({id:eg,label:W(1167,`Go To Top Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:W(1168,`Go to the top of the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.goToTop()}},tL=class extends A{constructor(){super({id:tg,label:W(1169,`Go To Bottom Hover`),precondition:I.hoverFocused,kbOpts:{kbExpr:I.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:W(1170,`Go to the bottom of the editor hover.`)}})}run(e,t){let n=Mx.get(t);n&&n.goToBottom()}},nL=class extends A{constructor(){super({id:ng,label:rg,alias:`Increase Hover Verbosity Level`,precondition:I.hoverVisible})}run(e,t,n){let r=Mx.get(t);if(!r)return;let i=n?.index===void 0?r.focusedHoverPartIndex():n.index;r.updateHoverVerbosityLevel(Vn.Increase,i,n?.focus)}},rL=class extends A{constructor(){super({id:ig,label:ag,alias:`Decrease Hover Verbosity Level`,precondition:I.hoverVisible})}run(e,t,n){let r=Mx.get(t);if(!r)return;let i=n?.index===void 0?r.focusedHoverPartIndex():n.index;Mx.get(t)?.updateHoverVerbosityLevel(Vn.Decrease,i,n?.focus)}},iL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},aL=function(e,t){return function(n,r){t(n,r,e)}},oL=N,sL=class{constructor(e,t,n){this.owner=e,this.range=t,this.marker=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},cL={type:1,filter:{include:Yp.QuickFix},triggerAction:Xp.QuickFixHover},lL=class{constructor(e,t,n,r,i,a){this._editor=e,this._markerDecorationsService=t,this._openerService=n,this._languageFeaturesService=r,this._menuService=i,this._contextKeyService=a,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];let n=this._editor.getModel(),r=e.range;if(!n.isValidRange(e.range))return[];let i=r.startLineNumber,a=n.getLineMaxColumn(i),o=[];for(let r of t){let t=r.range.startLineNumber===i?r.range.startColumn:1,s=r.range.endLineNumber===i?r.range.endColumn:a,c=this._markerDecorationsService.getMarker(n.uri,r);if(!c)continue;let l=new S(e.range.startLineNumber,t,e.range.startLineNumber,s);o.push(new sL(this,l,c))}return o}renderHoverParts(e,t){if(!t.length)return new Th([]);let n=[];t.forEach(t=>{let r=this._renderMarkerHover(t);e.fragment.appendChild(r.hoverElement),n.push(r)});let r=t.length===1?t[0]:t.sort((e,t)=>ed.compare(e.marker.severity,t.marker.severity))[0];return new Th(n,this._renderMarkerStatusbar(e,r))}getAccessibleContent(e){return e.marker.message}_renderMarkerHover(e){let t=new b,n=oL(`div.hover-row`),r=z(n,oL(`div.marker.hover-contents`)),{source:i,message:a,code:o,relatedInformation:s}=e.marker;this._editor.applyFontInfo(r);let c=z(r,oL(`span`));if(c.style.whiteSpace=`pre-wrap`,c.innerText=a,i||o){if(o&&typeof o!=`string`){let e=oL(`span`);if(i){let t=z(e,oL(`span`));t.innerText=i}let n=z(e,oL(`a.code-link`));n.setAttribute(`href`,o.target.toString(!0)),t.add(H(n,`click`,e=>{this._openerService.open(o.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()}));let a=z(n,oL(`span`));a.innerText=o.value;let s=z(r,e);s.style.opacity=`0.6`,s.style.paddingLeft=`6px`}else{let e=z(r,oL(`span`));e.style.opacity=`0.6`,e.style.paddingLeft=`6px`,e.innerText=i&&o?`${i}(${o})`:i||`(${o})`}}if(td(s))for(let{message:e,resource:n,startLineNumber:i,startColumn:a}of s){let o=z(r,oL(`div`));o.style.marginTop=`8px`;let s=z(o,oL(`a`));s.innerText=`${Uc(n)}(${i}, ${a}): `,s.style.cursor=`pointer`,t.add(H(s,`click`,e=>{if(e.stopPropagation(),e.preventDefault(),this._openerService){let e={selection:{startLineNumber:i,startColumn:a}};this._openerService.open(n,{fromUserGesture:!0,editorOptions:e}).catch(il)}}));let c=z(o,oL(`span`));c.innerText=e,this._editor.applyFontInfo(c)}return{hoverPart:e,hoverElement:n,dispose:()=>t.dispose()}}_renderMarkerStatusbar(e,t){let n=new b;if(t.marker.severity===ed.Error||t.marker.severity===ed.Warning||t.marker.severity===ed.Info){let n=_E.get(this._editor);n&&e.statusBar.addAction({label:R(1180,`View Problem`),commandId:yE.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}let r=[];for(let[,e]of this._menuService.getMenuActions(q.MarkerHoverStatusBar,this._contextKeyService))for(let t of e)t instanceof Hr&&t.enabled&&r.push(t);let i=()=>{for(let n of r)e.statusBar.addAction({label:n.label,commandId:n.id,iconClass:n.class,run:()=>{e.hide(),this._editor.setSelection(S.lift(t.range)),n.run()}})};if(this._editor.getOption(104))i();else{let a=e.statusBar.append(oL(`div`));this.recentMarkerCodeActionsInfo&&(fd.makeKey(this.recentMarkerCodeActionsInfo.marker)===fd.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||r.length===0&&(a.textContent=R(1181,`No quick fixes available`)):this.recentMarkerCodeActionsInfo=void 0);let o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?O.None:ho(()=>a.textContent=R(1182,`Checking for quick fixes...`),200,n);a.textContent||=`\xA0`;let s=this.getCodeActions(t.marker);n.add(Tn(()=>s.cancel())),s.then(s=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:s.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){s.dispose(),r.length===0?a.textContent=R(1183,`No quick fixes available`):a.style.display=`none`,i();return}a.style.display=`none`;let c=!1;n.add(Tn(()=>{c||s.dispose()})),e.statusBar.addAction({label:R(1184,`Quick Fix...`),commandId:rm,run:t=>{c=!0;let n=Jm.get(this._editor),r=Uo(t);e.hide(),n?.showCodeActions(cL,s,{x:r.left,y:r.top,width:r.width,height:r.height})}});let l=s.validActions.find(e=>e.action.isAI);l?e.statusBar.addAction({label:l.action.title,commandId:l.action.command?.id??``,iconClass:tt.asClassName(w.sparkle),run:()=>{Jm.get(this._editor)?.applyCodeAction(l,!1,!1,gm.FromProblemsHover)}}):i(),e.onContentsChanged()},il)}return n}getCodeActions(e){return pu(t=>fm(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new S(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),cL,so.None,t))}};lL=iL([aL(1,Mo),aL(2,xn),aL(3,U),aL(4,Ua),aL(5,Ls)],lL);var uL=class{constructor(e){this._editor=e}computeSync(e){let t=e=>({value:e}),n=this._editor.getLineDecorations(e.lineNumber),r=[],i=e.laneOrLine===`lineNo`;if(!n)return r;for(let a of n){let n=a.options.glyphMargin?.position??Yr.Center;if(!i&&n!==e.laneOrLine)continue;let o=i?a.options.lineNumberHoverMessage:a.options.glyphMarginHoverMessage;!o||gt(o)||r.push(...Su(o).map(t))}return r}},dL,fL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},pL=function(e,t){return function(n,r){t(n,r,e)}},mL,hL=N,gL=(dL=class extends O{constructor(e,t){super(),this._markdownRendererService=t,this.allowEditorOverflow=!0,this._renderDisposeables=this._register(new b),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new dl(!0)),this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible),this._hoverOperation=this._register(new Ag(this._editor,new uL(this._editor))),this._register(this._hoverOperation.onResult(e=>this._withResult(e))),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._updateFont()})),this._register(Os(this._hover.containerDomNode,`mouseleave`,e=>{this._onMouseLeave(e)})),this._editor.addOverlayWidget(this)}dispose(){this._hoverComputerOptions=void 0,this._editor.removeOverlayWidget(this),super.dispose()}getId(){return mL.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(`code`)).forEach(e=>this._editor.applyFontInfo(e))}_onModelDecorationsChanged(){this._isVisible&&this._hoverComputerOptions&&(this._hoverOperation.cancel(),this._hoverOperation.start(0,this._hoverComputerOptions))}showsOrWillShow(e){let t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3&&(this._startShowingAt(t.position.lineNumber,`lineNo`),!0)}_startShowingAt(e,t){this._hoverComputerOptions&&this._hoverComputerOptions.lineNumber===e&&this._hoverComputerOptions.laneOrLine===t||(this._hoverOperation.cancel(),this.hide(),this._hoverComputerOptions={lineNumber:e,laneOrLine:t},this._hoverOperation.start(0,this._hoverComputerOptions))}hide(){this._hoverComputerOptions=void 0,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible))}_withResult(e){this._messages=e.value,this._messages.length>0?this._renderMessages(e.options.lineNumber,e.options.laneOrLine,this._messages):this.hide()}_renderMessages(e,t,n){this._renderDisposeables.clear();let r=document.createDocumentFragment();for(let e of n){let t=hL(`div.hover-row.markdown-hover`),n=z(t,hL(`div.hover-contents`)),i=this._renderDisposeables.add(this._markdownRendererService.render(e.value,{context:this._editor}));n.appendChild(i.element),r.appendChild(t)}this._updateContents(r),this._showAt(e,t)}_updateContents(e){this._hover.contentsDomNode.textContent=``,this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e,t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible));let n=this._editor.getLayoutInfo(),r=this._editor.getTopForLineNumber(e),i=this._editor.getScrollTop(),a=this._editor.getOption(75),o=this._hover.containerDomNode.clientHeight,s=r-i-(o-a)/2,c=n.glyphMarginLeft+n.glyphMarginWidth+(t===`lineNo`?n.lineNumbersWidth:0),l=n.height-o,u=Math.max(0,Math.min(Math.round(s),l));if(this._editor.getOption(51)){let e=this._editor.getDomNode();if(e){let t=Uo(e);this._hover.containerDomNode.style.position=`fixed`,this._hover.containerDomNode.style.left=`${t.left+c}px`,this._hover.containerDomNode.style.top=`${t.top+u}px`}}else this._hover.containerDomNode.style.position=`absolute`,this._hover.containerDomNode.style.left=`${c}px`,this._hover.containerDomNode.style.top=`${u}px`;this._hover.containerDomNode.style.zIndex=`11`}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Eg(t,e.x,e.y))&&this.hide()}},mL=dL,dL.ID=`editor.contrib.modesGlyphHoverWidget`,dL);gL=mL=fL([pL(1,lt)],gL);var _L,vL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yL=function(e,t){return function(n,r){t(n,r,e)}},bL=(_L=class extends O{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new b,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Vl(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){let e=this._editor.getOption(69);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled===`off`?(this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))):(this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this.hideGlyphHover()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this.hideGlyphHover()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnGlyphHoverWidget(e)&&this.hideGlyphHover()}_isMouseOnGlyphHoverWidget(e){let t=this._glyphWidget?.getDomNode();return t?Eg(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),!this._isMouseOnGlyphHoverWidget(e)&&this.hideGlyphHover())}_shouldNotRecomputeCurrentHoverWidget(e){let t=this._hoverSettings.sticky,n=this._isMouseOnGlyphHoverWidget(e);return t&&n}_onEditorMouseMove(e){if(!this.shouldKeepOpenOnEditorMouseMoveOrLeave){if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}}_reactToEditorMouseMove(e){if(e){if(!Dg(this._hoverSettings.enabled,this._editor.getOption(86),e)){this.hideGlyphHover();return}this._tryShowHoverWidget(e)||this.hideGlyphHover()}}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){if(this._editor.hasModel()){if(this._hoverSettings.enabled===`onKeyboardModifier`&&Og(this._editor.getOption(86),e)&&this._mouseMoveEvent){this._tryShowHoverWidget(this._mouseMoveEvent);return}jr(e.keyCode)||this.hideGlyphHover()}}hideGlyphHover(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||=this._instantiationService.createInstance(gL,this._editor),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}},_L.ID=`editor.contrib.marginHover`,_L);bL=vL([yL(1,x)],bL);var xL=class{},SL=class{},CL=class{};M(Mx.ID,Mx,2),M(bL.ID,bL,2),T(GI),T(KI),T(qI),T(JI),T(YI),T(XI),T(ZI),T(QI),T($I),T(eL),T(tL),T(nL),T(rL),Eh.register(jv),Eh.register(lL),In.registerCommand(og,e=>{e.get(Ea).updateValue(`editor.hover.showLongLineWarning`,!1)}),Fc((e,t)=>{let n=e.getColor(zl);n&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${n.transparent(.5)}; }`))}),eT.register(new xL),eT.register(new SL),eT.register(new CL);function wL(e,t,n,r){if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return[];let i=t.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;if(!i)return[];let a=new Ms(e,i,t);for(r=Math.min(r,e.getLineCount());n<=r&&a.shouldIgnore(n);)n++;if(n>r-1)return[];let{tabSize:o,indentSize:s,insertSpaces:c}=e.getOptions(),l=(e,t)=>(t||=1,Rc.shiftIndent(e,e.length+t,o,s,c)),u=(e,t)=>(t||=1,Rc.unshiftIndent(e,e.length+t,o,s,c)),d=[],f=e.getLineContent(n),p=un(f),m=p;a.shouldIncrease(n)?(m=l(m),p=l(p)):a.shouldIndentNextLine(n)&&(m=l(m)),n++;for(let t=n;t<=r;t++){if(TL(e,t))continue;let n=e.getLineContent(t),r=un(n),i=m;a.shouldDecrease(t,i)&&(m=u(m),p=u(p)),r!==m&&d.push(Ns.replaceMove(new j(t,1,t,r.length+1),Cd(m,s,c))),!a.shouldIgnore(t)&&(a.shouldIncrease(t,i)?(p=l(p),m=p):m=a.shouldIndentNextLine(t,i)?l(m):p)}return d}function TL(e,t){return e.tokenization.isCheapToTokenize(t)?e.tokenization.getLineTokens(t).getStandardTokenType(0)===2:!1}var EL,DL,OL,kL,AL,jL,ML,NL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},PL=function(e,t){return function(n,r){t(n,r,e)}},FL=class e extends A{constructor(){super({id:e.ID,label:W(1189,`Convert Indentation to Spaces`),precondition:I.writable,metadata:{description:W(1190,`Convert the tab indentation to spaces.`)}})}run(e,t){let n=t.getModel();if(!n)return;let r=n.getOptions(),i=t.getSelection();if(!i)return;let a=new JL(i,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop(),n.updateOptions({insertSpaces:!0})}};EL=FL,EL.ID=`editor.action.indentationToSpaces`;var IL=class e extends A{constructor(){super({id:e.ID,label:W(1191,`Convert Indentation to Tabs`),precondition:I.writable,metadata:{description:W(1192,`Convert the spaces indentation to tabs.`)}})}run(e,t){let n=t.getModel();if(!n)return;let r=n.getOptions(),i=t.getSelection();if(!i)return;let a=new YL(i,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop(),n.updateOptions({insertSpaces:!1})}};DL=IL,DL.ID=`editor.action.indentationToTabs`;var LL=class extends A{constructor(e,t,n){super(n),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){let n=e.get(Bi),r=e.get(wt),i=t.getModel();if(!i)return;let a=r.getCreationOptions(i.getLanguageId(),i.uri,i.isForSimpleWidget),o=i.getOptions(),s=[1,2,3,4,5,6,7,8].map(e=>({id:e.toString(),label:e.toString(),description:e===a.tabSize&&e===o.tabSize?R(1185,`Configured Tab Size`):e===a.tabSize?R(1186,`Default Tab Size`):e===o.tabSize?R(1187,`Current Tab Size`):void 0})),c=Math.min(i.getOptions().tabSize-1,7);setTimeout(()=>{n.pick(s,{placeHolder:R(1188,`Select Tab Size for Current File`),activeItem:s[c]}).then(e=>{if(e&&i&&!i.isDisposed()){let t=parseInt(e.label,10);this.displaySizeOnly?i.updateOptions({tabSize:t}):i.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}})},50)}},RL=class e extends LL{constructor(){super(!1,!1,{id:e.ID,label:W(1193,`Indent Using Tabs`),precondition:void 0,metadata:{description:W(1194,`Use indentation with tabs.`)}})}};OL=RL,OL.ID=`editor.action.indentUsingTabs`;var zL=class e extends LL{constructor(){super(!0,!1,{id:e.ID,label:W(1195,`Indent Using Spaces`),precondition:void 0,metadata:{description:W(1196,`Use indentation with spaces.`)}})}};kL=zL,kL.ID=`editor.action.indentUsingSpaces`;var BL=class e extends LL{constructor(){super(!0,!0,{id:e.ID,label:W(1197,`Change Tab Display Size`),precondition:void 0,metadata:{description:W(1198,`Change the space size equivalent of the tab.`)}})}};AL=BL,AL.ID=`editor.action.changeTabDisplaySize`;var VL=class e extends A{constructor(){super({id:e.ID,label:W(1199,`Detect Indentation from Content`),precondition:void 0,metadata:{description:W(1200,`Detect the indentation from content.`)}})}run(e,t){let n=e.get(wt),r=t.getModel();if(!r)return;let i=n.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(i.insertSpaces,i.tabSize)}};jL=VL,jL.ID=`editor.action.detectIndentation`;var HL=class extends A{constructor(){super({id:`editor.action.reindentlines`,label:W(1201,`Reindent Lines`),precondition:I.writable,metadata:{description:W(1202,`Reindent the lines of the editor.`)},canTriggerInlineEdits:!0})}run(e,t){let n=e.get(bu),r=t.getModel();if(!r)return;let i=wL(r,n,1,r.getLineCount());i.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,i),t.pushUndoStop())}},UL=class extends A{constructor(){super({id:`editor.action.reindentselectedlines`,label:W(1203,`Reindent Selected Lines`),precondition:I.writable,metadata:{description:W(1204,`Reindent the selected lines of the editor.`)},canTriggerInlineEdits:!0})}run(e,t){let n=e.get(bu),r=t.getModel();if(!r)return;let i=t.getSelections();if(i===null)return;let a=[];for(let e of i){let t=e.startLineNumber,i=e.endLineNumber;if(t!==i&&e.endColumn===1&&i--,t===1){if(t===i)continue}else t--;let o=wL(r,n,t,i);a.push(...o)}a.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop())}},WL=class{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(let t of e)t.range&&typeof t.text==`string`&&this._edits.push(t)}getEditOperations(e,t){for(let e of this._edits)t.addEditOperation(S.lift(e.range),e.text);let n=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),n||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}},GL=(ML=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new b,this.callOnModel=new b,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(!this.editor.getOption(17)||this.editor.getOption(16)<4)&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){let t=this.editor.getSelections();if(t===null||t.length>1)return;let n=this.editor.getModel();if(!n||this.rangeContainsOnlyWhitespaceCharacters(n,e)||!this.editor.getOption(18)&&KL(n,e)||!n.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;let r=this.editor.getOption(16),{tabSize:i,indentSize:a,insertSpaces:o}=n.getOptions(),s=[],c={shiftIndent:e=>Rc.shiftIndent(e,e.length+1,i,a,o),unshiftIndent:e=>Rc.unshiftIndent(e,e.length+1,i,a,o)},l=e.startLineNumber,u=n.getLineContent(l);if(!/\S/.test(u.substring(0,e.startColumn-1))){let e=Po(r,n,n.getLanguageId(),l,c,this._languageConfigurationService);if(e!==null){let t=un(u),r=OE(e,i);if(r!==OE(t,i)){let e=kE(r,i,o);s.push({range:new S(l,1,l,t.length+1),text:e}),u=e+u.substring(t.length)}else{let e=su(n,l,this._languageConfigurationService);if(e===0||e===8)return}}}let d=l;for(;l<e.endLineNumber;){if(!/\S/.test(n.getLineContent(l+1))){l++;continue}break}if(l!==e.endLineNumber){let t=Po(r,{tokenization:{getLineTokens:e=>n.tokenization.getLineTokens(e),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(e,t)=>n.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===d?u:n.getLineContent(e)},n.getLanguageId(),l+1,c,this._languageConfigurationService);if(t!==null){let r=OE(t,i),a=OE(un(n.getLineContent(l+1)),i);if(r!==a){let t=r-a;for(let r=l+1;r<=e.endLineNumber;r++){let e=n.getLineContent(r),a=un(e),c=kE(OE(a,i)+t,i,o);c!==a&&s.push({range:new S(r,1,r,a.length+1),text:c})}}}}if(s.length>0){this.editor.pushUndoStop();let e=new WL(s,this.editor.getSelection());this.editor.executeCommand(`autoIndentOnPaste`,e),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){let n=e=>e.trim().length===0,r=!0;if(t.startLineNumber===t.endLineNumber)r=n(e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1));else for(let i=t.startLineNumber;i<=t.endLineNumber;i++){let a=e.getLineContent(i);if(r=i===t.startLineNumber?n(a.substring(t.startColumn-1)):i===t.endLineNumber?n(a.substring(0,t.endColumn-1)):e.getLineFirstNonWhitespaceColumn(i)===0,!r)break}return r}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},ML.ID=`editor.contrib.autoIndentOnPaste`,ML);GL=NL([PL(1,bu)],GL);function KL(e,t){let n=t=>Jl(e,t)===2;return n(t.getStartPosition())||n(t.getEndPosition())}function qL(e,t,n,r){if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return;let i=``;for(let e=0;e<n;e++)i+=` `;let a=new RegExp(i,`gi`);for(let n=1,o=e.getLineCount();n<=o;n++){let o=e.getLineFirstNonWhitespaceColumn(n);if(o===0&&(o=e.getLineMaxColumn(n)),o===1)continue;let s=new S(n,1,n,o),c=e.getValueInRange(s),l=r?c.replace(/\t/gi,i):c.replace(a,` `);t.addEditOperation(s,l)}}var JL=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),qL(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}},YL=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),qL(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}};M(GL.ID,GL,2),T(FL),T(IL),T(RL),T(zL),T(BL),T(VL),T(HL),T(UL),M(ux.ID,ux,1),Eh.register(hx);var XL=class{constructor(e,t,n){this._editRange=e,this._originalSelection=t,this._text=n}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new j(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new j(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}},ZL,QL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$L=function(e,t){return function(n,r){t(n,r,e)}},eR,tR=(ZL=class{static get(e){return e.getContribution(eR.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){this.currentRequest?.cancel();let n=this.editor.getSelection(),r=this.editor.getModel();if(!r||!n)return;let i=n;if(i.startLineNumber!==i.endLineNumber)return;let a=new wd(this.editor,5),o=r.uri;return this.editorWorkerService.canNavigateValueSet(o)?(this.currentRequest=pu(e=>this.editorWorkerService.navigateValueSet(o,i,t)),this.currentRequest.then(t=>{if(!t||!t.range||!t.value||!a.validate(this.editor))return;let n=S.lift(t.range),r=t.range,o=t.value.length-(i.endColumn-i.startColumn);r={startLineNumber:r.startLineNumber,startColumn:r.startColumn,endLineNumber:r.endLineNumber,endColumn:r.startColumn+t.value.length},o>1&&(i=new j(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+o-1));let s=new XL(n,i,t.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,s),this.editor.pushUndoStop(),this.decorations.set([{range:r,options:eR.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=$o(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(il)}).catch(il)):Promise.resolve(void 0)}},eR=ZL,ZL.ID=`editor.contrib.inPlaceReplaceController`,ZL.DECORATION=G.register({description:`in-place-replace`,className:`valueSetReplacement`}),ZL);tR=eR=QL([$L(1,ia)],tR);var nR=class extends A{constructor(){super({id:`editor.action.inPlaceReplace.up`,label:W(1286,`Replace with Previous Value`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:3159,weight:100}})}run(e,t){let n=tR.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)}},rR=class extends A{constructor(){super({id:`editor.action.inPlaceReplace.down`,label:W(1287,`Replace with Next Value`),precondition:I.writable,kbOpts:{kbExpr:I.editorTextFocus,primary:3161,weight:100}})}run(e,t){let n=tR.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)}};M(tR.ID,tR,4),T(nR),T(rR);var iR=class{constructor(e){this._selection=e,this._selectionId=null}getEditOperations(e,t){let n=aR(e);n&&t.addEditOperation(n.range,n.text),this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function aR(e){let t=e.getLineCount(),n=e.getLineContent(t),r=p(n)===-1;if(!(!t||r))return Ns.insert(new k(t,e.getLineMaxColumn(t)),e.getEOL())}var oR,sR=class e extends A{constructor(){super({id:e.ID,label:W(1288,`Insert Final New Line`),precondition:I.writable})}run(e,t,n){let r=t.getSelection();if(r===null)return;let i=new iR(r);t.pushUndoStop(),t.executeCommands(this.id,[i]),t.pushUndoStop()}};oR=sR,oR.ID=`editor.action.insertFinalNewLine`,T(sR),T(class extends A{constructor(){super({id:`expandLineSelection`,label:W(1289,`Expand Line Selection`),precondition:void 0,kbOpts:{weight:0,kbExpr:I.textInputFocus,primary:2090}})}run(e,t,n){if(n||={},!t.hasModel())return;let r=t._getViewModel();r.model.pushStackElement(),r.setCursorStates(n.source,3,$u.expandLineSelection(r,r.getCursorStates())),r.revealAllCursors(n.source,!0)}});var cR,lR=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},uR=function(e,t){return function(n,r){t(n,r,e)}},dR,fR=new D(`LinkedEditingInputVisible`,!1),pR=(cR=class extends O{static get(e){return e.getContribution(dR.ID)}constructor(e,t,n,r,i){super(),this.languageConfigurationService=r,this._syncRangesToken=0,this._localToDispose=this._register(new b),this._editor=e,this._providers=n.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=fR.bindTo(t),this._debounceInformation=i.for(this._providers,`Linked Editing`,{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new b),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(78)||e.hasChanged(106))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){let t=this._editor.getModel(),n=t!==null&&(this._editor.getOption(78)||this._editor.getOption(106))&&this._providers.has(t);if(n===this._enabled&&!e||(this._enabled=n,this.clearRanges(),this._localToDispose.clear(),!n||t===null))return;this._localToDispose.add(qu.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));let r=new Wc(this._debounceInformation.get(t)),i=()=>{this._rangeUpdateTriggerPromise=r.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},a=new Wc(0),o=e=>{this._rangeSyncTriggerPromise=a.trigger(()=>this._syncRanges(e))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{i()})),this._localToDispose.add(this._editor.onDidChangeModelContent(e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){let t=this._currentDecorations.getRange(0);if(t&&e.changes.every(e=>t.intersectRanges(e.range))){o(this._syncRangesToken);return}}i()})),this._localToDispose.add({dispose:()=>{r.dispose(),a.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;let t=this._editor.getModel(),n=this._currentDecorations.getRange(0);if(!n||n.startLineNumber!==n.endLineNumber)return this.clearRanges();let r=t.getValueInRange(n);if(this._currentWordPattern){let e=r.match(this._currentWordPattern);if((e?e[0].length:0)!==r.length)return this.clearRanges()}let i=[];for(let e=1,n=this._currentDecorations.length;e<n;e++){let n=this._currentDecorations.getRange(e);if(n){if(n.startLineNumber!==n.endLineNumber)i.push({range:n,text:r});else{let e=t.getValueInRange(n),a=r,o=n.startColumn,s=n.endColumn,c=Sn(e,a);o+=c,e=e.substr(c),a=a.substr(c);let l=zr(e,a);s-=l,e=e.substr(0,e.length-l),a=a.substr(0,a.length-l),(o!==s||a.length!==0)&&i.push({range:new S(n.startLineNumber,o,n.endLineNumber,s),text:a})}}}if(i.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;let e=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits(`linkedEditing`,i),this._editor._getViewModel().setPrevEditOperationType(e)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}let t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}let n=this._editor.getModel(),r=n.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===r){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){let e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(t))return}}this._currentRequestPosition?.equals(t)||this._currentDecorations.getRange(0)?.containsPosition(t)||this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=r;let i=this._currentRequestCts=new Eu;try{let e=new xe(!1),a=await gR(this._providers,n,t,i.token);if(this._debounceInformation.update(n,e.elapsed()),i!==this._currentRequestCts||(this._currentRequestCts=null,r!==n.getVersionId()))return;let o=[];a?.ranges&&(o=a.ranges),this._currentWordPattern=a?.wordPattern||this._languageWordPattern;let s=!1;for(let e=0,n=o.length;e<n;e++)if(S.containsPosition(o[e],t)){if(s=!0,e!==0){let t=o[e];o.splice(e,1),o.unshift(t)}break}if(!s){this.clearRanges();return}let c=o.map(e=>({range:e,options:dR.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(c),this._syncRangesToken++}catch(e){Vo(e)||il(e),(this._currentRequestCts===i||!this._currentRequestCts)&&this.clearRanges()}}},dR=cR,cR.ID=`editor.contrib.linkedEditing`,cR.DECORATION=G.register({description:`linked-editing`,stickiness:0,className:`linked-editing-decoration`}),cR);pR=dR=lR([uR(1,Ls),uR(2,U),uR(3,bu),uR(4,Da)],pR);var mR=class extends A{constructor(){super({id:`editor.action.linkedEditing`,label:W(1322,`Start Linked Editing`),precondition:g.and(I.writable,I.hasRenameProvider),kbOpts:{kbExpr:I.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){let n=e.get(Mi),[r,i]=Array.isArray(t)&&t||[void 0,void 0];return Nn.isUri(r)&&k.isIPosition(i)?n.openCodeEditor({resource:r},n.getActiveCodeEditor()).then(e=>{e&&(e.setPosition(i),e.invokeWithinContext(t=>(this.reportTelemetry(t,e),this.run(t,e))))},il):super.runCommand(e,t)}run(e,t){let n=pR.get(t);return n?Promise.resolve(n.updateRanges(!0)):Promise.resolve()}},hR=yt.bindToContribution(pR.get);F(new hR({id:`cancelLinkedEditingInput`,precondition:fR,handler:e=>e.clearRanges(),kbOpts:{kbExpr:I.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function gR(e,t,n,r){let i=e.ordered(t);return Bo(i.map(e=>async()=>{try{return await e.provideLinkedEditingRanges(t,n,r)}catch(e){xc(e);return}}),e=>!!e&&td(e?.ranges))}C(`editor.linkedEditingBackground`,{dark:As.fromHex(`#f00`).transparent(.3),light:As.fromHex(`#f00`).transparent(.3),hcDark:As.fromHex(`#f00`).transparent(.3),hcLight:As.white},R(1321,`Background color when the editor auto renames on type.`)),Tr(`_executeLinkedEditingProvider`,(e,t,n)=>{let{linkedEditingRangeProvider:r}=e.get(U);return gR(r,t,n,L.None)}),M(pR.ID,pR,1),T(mR);var _R,vR=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink==`function`?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(Error(`missing`)))):Promise.reject(Error(`missing`))}},yR=class e{constructor(t){this._disposables=new b;let n=[];for(let[r,i]of t){let t=r.links.map(e=>new vR(e,i));n=e._union(n,t),Rs(r)&&(this._disposables??=new b,this._disposables.add(r))}this.links=n}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(e,t){let n=[],r,i,a,o;for(r=0,a=0,i=e.length,o=t.length;r<i&&a<o;){let i=e[r],o=t[a];if(S.areIntersectingOrTouching(i.range,o.range)){r++;continue}S.compareRangesUsingStarts(i.range,o.range)<0?(n.push(i),r++):(n.push(o),a++)}for(;r<i;r++)n.push(e[r]);for(;a<o;a++)n.push(t[a]);return n}};_R=yR,_R.Empty=new _R([]);async function bR(e,t,n){let r=[],i=e.ordered(t).reverse().map(async(e,i)=>{try{let a=await e.provideLinks(t,n);a&&(r[i]=[a,e])}catch(e){xc(e)}});await Promise.all(i);let a=new yR(kc(r));return n.isCancellationRequested&&(a.dispose(),a=yR.Empty),a}In.registerCommand(`_executeLinkProvider`,async(e,...t)=>{let[n,r]=t;Gi(n instanceof Nn),typeof r!=`number`&&(r=0);let{linkProvider:i}=e.get(U),a=e.get(wt).getModel(n);if(!a)return[];let o=await bR(i,a,L.None);if(!o)return[];for(let e=0;e<Math.min(r,o.links.length);e++)await o.links[e].resolve(L.None);let s=o.links.slice(0);return o.dispose(),s});var xR,SR=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},CR=function(e,t){return function(n,r){t(n,r,e)}},wR,TR=(xR=class extends O{static get(e){return e.getContribution(wR.ID)}constructor(e,t,n,r,i){super(),this.editor=e,this.openerService=t,this.notificationService=n,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=i.for(this.providers,`Links`,{min:1e3,max:4e3}),this.computeLinks=this._register(new Vl(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let a=this._register(new dy(e));this._register(a.onMouseMoveOrRelevantKeyDown(([e,t])=>{this._onEditorMouseMove(e,t)})),this._register(a.onExecute(e=>{this.onEditorMouseUp(e)})),this._register(a.onCancel(e=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(79)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(e=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(e=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(79))return;let e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&=(this.activeLinksList.dispose(),null),this.computePromise=pu(t=>bR(this.providers,e,t));try{let t=new xe(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(e){il(e)}finally{this.computePromise=null}}}updateDecorations(e){let t=this.editor.getOption(86)===`altKey`,n=[],r=Object.keys(this.currentOccurrences);for(let e of r){let t=this.currentOccurrences[e];n.push(t.decorationId)}let i=[];if(e)for(let n of e)i.push(DR.decoration(n,t));this.editor.changeDecorations(t=>{let r=t.deltaDecorations(n,i);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let t=0,n=r.length;t<n;t++){let n=new DR(e[t],r[t]);this.currentOccurrences[n.decorationId]=n}})}_onEditorMouseMove(e,t){let n=this.editor.getOption(86)===`altKey`;if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();let t=this.getLinkOccurrence(e.target.position);t&&this.editor.changeDecorations(e=>{t.activate(e,n),this.activeLinkDecorationId=t.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){let e=this.editor.getOption(86)===`altKey`;if(this.activeLinkDecorationId){let t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(n=>{t.deactivate(n,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;let t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,n=!1){if(!this.openerService)return;let{link:r}=e;r.resolve(L.None).then(e=>{if(typeof e==`string`&&this.editor.hasModel()){let t=this.editor.getModel().uri;if(t.scheme===ic.file&&e.startsWith(`${ic.file}:`)){let n=Nn.parse(e);if(n.scheme===ic.file){let r=nl(n),i=null;r.startsWith(`/./`)||r.startsWith(`\\.\\`)?i=`.${r.substr(1)}`:(r.startsWith(`//./`)||r.startsWith(`\\\\.\\`))&&(i=`.${r.substr(2)}`),i&&(e=zo(t,i))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:n,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},e=>{let t=e instanceof Error?e.message:e;t===`invalid`?this.notificationService.warn(R(1323,`Failed to open this link because it is not well-formed: {0}`,r.url.toString())):t===`missing`?this.notificationService.warn(R(1324,`Failed to open this link because its target is missing.`)):il(e)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;let t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(let e of t){let t=this.currentOccurrences[e.id];if(t)return t}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey||e.isMiddleClick&&e.mouseMiddleClickAction===`openLink`))}stop(){this.computeLinks.cancel(),this.activeLinksList&&=(this.activeLinksList?.dispose(),null),this.computePromise&&=(this.computePromise.cancel(),null)}dispose(){super.dispose(),this.stop()}},wR=xR,xR.ID=`editor.linkDetector`,xR);TR=wR=SR([CR(1,xn),CR(2,gi),CR(3,U),CR(4,Da)],TR);var ER={general:G.register({description:`detected-link`,stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:`detected-link`}),active:G.register({description:`detected-link-active`,stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:`detected-link-active`})},DR=class e{static decoration(t,n){return{range:t.range,options:e._getOptions(t,n,!1)}}static _getOptions(e,t,n){let r={...n?ER.active:ER.general};return r.hoverMessage=OR(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!0))}deactivate(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!1))}};function OR(e,t){let n=e.url&&/^command:/i.test(e.url.toString()),r=e.tooltip?e.tooltip:n?R(1325,`Execute command`):R(1326,`Follow link`),i=t?di?R(1327,`cmd + click`):R(1328,`ctrl + click`):di?R(1329,`option + click`):R(1330,`alt + click`);if(e.url){let t=``;if(/^command:/i.test(e.url.toString())){let n=e.url.toString().match(/^command:([^?#]+)/);if(n){let e=n[1];t=R(1331,`Execute command {0}`,e)}}return new mi(``,!0).appendLink(e.url.toString(!0).replace(/ /g,`%20`),r,t).appendMarkdown(` (${i})`)}return new mi().appendText(`${r} (${i})`)}var kR=class extends A{constructor(){super({id:`editor.action.openLink`,label:W(1332,`Open Link`),precondition:void 0})}run(e,t){let n=TR.get(t);if(!n||!t.hasModel())return;let r=t.getSelections();for(let e of r){let t=n.getLinkOccurrence(e.getEndPosition());t&&n.openLinkOccurrence(t,!1)}}};M(TR.ID,TR,1),T(kR);var AR,jR=class extends O{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(e=>{let t=this._editor.getOption(133);t>=0&&e.target.type===6&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};AR=jR,AR.ID=`editor.contrib.longLinesHelper`,M(jR.ID,jR,2);var MR,NR=class extends O{constructor(e){super(),this._editor=e;let t=ku(this._editor),n=t.getOption(171);this._register(E(e=>{if(!n.read(e))return;let r=t.domNode.read(e);if(!r)return;let i=e.store.add(wi(`scrollingSession`,void 0));e.store.add(this._editor.onMouseDown(e=>{if(i.read(void 0)){i.set(void 0,void 0);return}if(!e.event.middleButton)return;e.event.stopPropagation(),e.event.preventDefault();let t=new b,n=new cd(e.event.posx,e.event.posy),a=PR(Sa(r),n,t).map(e=>e.subtract(n).withThreshold(5)),o=r.getBoundingClientRect(),s=new cd(n.x-o.left,n.y-o.top);i.set({mouseDeltaAfterThreshold:a,initialMousePosInEditor:s,didScroll:!1,dispose:()=>t.dispose()},void 0),t.add(this._editor.onMouseUp(e=>{let t=i.read(void 0);t&&t.didScroll&&i.set(void 0,void 0)})),t.add(this._editor.onKeyDown(e=>{i.set(void 0,void 0)}))})),e.store.add(E(e=>{let t=i.read(e);if(!t)return;let n=Date.now();e.store.add(E(e=>{yO.instance.invalidateOnNextAnimationFrame(e);let r=Date.now(),i=r-n;n=r;let a=t.mouseDeltaAfterThreshold.read(void 0),o=i/32,s=a.scale(o),c=new cd(this._editor.getScrollLeft(),this._editor.getScrollTop());this._editor.setScrollPosition(FR(c.add(s))),s.isZero()||(t.didScroll=!0)}));let a=P(e=>{let n=t.mouseDeltaAfterThreshold.read(e),r=``;return r+=n.y<0?`n`:n.y>0?`s`:``,r+=n.x<0?`w`:n.x>0?`e`:``,r});e.store.add(E(e=>{r.setAttribute(`data-scroll-direction`,a.read(e))}))}));let a=e.store.add(K.div({class:[`scroll-editor-on-middle-click-dot`,i.map(e=>e?``:`hidden`)],style:{left:i.map(e=>e?e.initialMousePosInEditor.x:0),top:i.map(e=>e?e.initialMousePosInEditor.y:0)}}).toDisposableLiveElement());e.store.add(On(r,a.element)),e.store.add(E(e=>{let t=i.read(e);r.classList.toggle(`scroll-editor-on-middle-click-editor`,!!t)}))}))}};MR=NR,MR.ID=`editor.contrib.middleScroll`;function PR(e,t,n){let r=Dt(`pos`,t);return n.add(H(e,`mousemove`,e=>{r.set(new cd(e.pageX,e.pageY),void 0)})),r}function FR(e){return{scrollLeft:e.x,scrollTop:e.y}}M(NR.ID,NR,2);var IR=C(`editor.wordHighlightBackground`,{dark:`#575757B8`,light:`#57575740`,hcDark:null,hcLight:null},R(1615,`Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.`),!0);C(`editor.wordHighlightStrongBackground`,{dark:`#004972B8`,light:`#0e639c40`,hcDark:null,hcLight:null},R(1616,`Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.`),!0),C(`editor.wordHighlightTextBackground`,IR,R(1617,`Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.`),!0);var LR=C(`editor.wordHighlightBorder`,{light:null,dark:null,hcDark:qn,hcLight:qn},R(1618,`Border color of a symbol during read-access, like reading a variable.`));C(`editor.wordHighlightStrongBorder`,{light:null,dark:null,hcDark:qn,hcLight:qn},R(1619,`Border color of a symbol during write-access, like writing to a variable.`)),C(`editor.wordHighlightTextBorder`,LR,R(1620,`Border color of a textual occurrence for a symbol.`));var RR=C(`editorOverviewRuler.wordHighlightForeground`,`#A0A0A0CC`,R(1621,`Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),zR=C(`editorOverviewRuler.wordHighlightStrongForeground`,`#C0A0C0CC`,R(1622,`Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),BR=C(`editorOverviewRuler.wordHighlightTextForeground`,Fu,R(1623,`Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.`),!0),VR=G.register({description:`word-highlight-strong`,stickiness:1,className:`wordHighlightStrong`,overviewRuler:{color:Al(zR),position:Hu.Center},minimap:{color:Al(rn),position:1}}),HR=G.register({description:`word-highlight-text`,stickiness:1,className:`wordHighlightText`,overviewRuler:{color:Al(BR),position:Hu.Center},minimap:{color:Al(rn),position:1}}),UR=G.register({description:`selection-highlight-overview`,stickiness:1,className:`selectionHighlight`,overviewRuler:{color:Al(Fu),position:Hu.Center},minimap:{color:Al(rn),position:1}}),WR=G.register({description:`selection-highlight`,stickiness:1,className:`selectionHighlight`}),GR=G.register({description:`word-highlight`,stickiness:1,className:`wordHighlight`,overviewRuler:{color:Al(RR),position:Hu.Center},minimap:{color:Al(rn),position:1}});function KR(e){return e===te.Write?VR:e===te.Text?HR:GR}function qR(e){return e?WR:UR}Fc((e,t)=>{let n=e.getColor(wu);n&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${n.transparent(.5)}; }`)});var JR,YR,XR=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ZR=function(e,t){return function(n,r){t(n,r,e)}},QR;function $R(e,t){let n=t.filter(t=>!e.find(e=>e.equals(t)));if(n.length>=1){let e=n.map(e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`).join(`, `),t=n.length===1?R(1334,`Cursor added: {0}`,e):R(1335,`Cursors added: {0}`,e);Wt(t)}}var ez=class extends A{constructor(){super({id:`editor.action.insertCursorAbove`,label:W(1344,`Add Cursor Above`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`3_multi`,title:R(1336,`&&Add Cursor Above`),order:2}})}run(e,t,n){if(!t.hasModel())return;let r=!0;n&&n.logicalLine===!1&&(r=!1);let i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();let a=i.getCursorStates();i.setCursorStates(n.source,3,$u.addCursorUp(i,a,r)),i.revealTopMostCursor(n.source),$R(a,i.getCursorStates())}},tz=class extends A{constructor(){super({id:`editor.action.insertCursorBelow`,label:W(1345,`Add Cursor Below`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`3_multi`,title:R(1337,`A&&dd Cursor Below`),order:3}})}run(e,t,n){if(!t.hasModel())return;let r=!0;n&&n.logicalLine===!1&&(r=!1);let i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();let a=i.getCursorStates();i.setCursorStates(n.source,3,$u.addCursorDown(i,a,r)),i.revealBottomMostCursor(n.source),$R(a,i.getCursorStates())}},nz=class extends A{constructor(){super({id:`editor.action.insertCursorAtEndOfEachLineSelected`,label:W(1346,`Add Cursors to Line Ends`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`3_multi`,title:R(1338,`Add C&&ursors to Line Ends`),order:4}})}getCursorsForSelection(e,t,n){if(!e.isEmpty()){for(let r=e.startLineNumber;r<e.endLineNumber;r++){let e=t.getLineMaxColumn(r);n.push(new j(r,e,r,e))}e.endColumn>1&&n.push(new j(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections(),i=t._getViewModel(),a=i.getCursorStates(),o=[];r.forEach(e=>this.getCursorsForSelection(e,n,o)),o.length>0&&t.setSelections(o),$R(a,i.getCursorStates())}},rz=class extends A{constructor(){super({id:`editor.action.addCursorsToBottom`,label:W(1347,`Add Cursors to Bottom`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getSelections(),r=t.getModel().getLineCount(),i=[];for(let e=n[0].startLineNumber;e<=r;e++)i.push(new j(e,n[0].startColumn,e,n[0].endColumn));let a=t._getViewModel(),o=a.getCursorStates();i.length>0&&t.setSelections(i),$R(o,a.getCursorStates())}},iz=class extends A{constructor(){super({id:`editor.action.addCursorsToTop`,label:W(1348,`Add Cursors to Top`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getSelections(),r=[];for(let e=n[0].startLineNumber;e>=1;e--)r.push(new j(e,n[0].startColumn,e,n[0].endColumn));let i=t._getViewModel(),a=i.getCursorStates();r.length>0&&t.setSelections(r),$R(a,i.getCursorStates())}},az=class{constructor(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}},oz=class e{static create(t,n){if(!t.hasModel())return null;let r=n.getState();if(!t.hasTextFocus()&&r.isRevealed&&r.searchString.length>0)return new e(t,n,!1,r.searchString,r.wholeWord,r.matchCase,null);let i=!1,a,o,s=t.getSelections();s.length===1&&s[0].isEmpty()?(i=!0,a=!0,o=!0):(a=r.wholeWord,o=r.matchCase);let c=t.getSelection(),l,u=null;if(c.isEmpty()){let e=t.getConfiguredWordAtPosition(c.getStartPosition());if(!e)return null;l=e.word,u=new j(c.startLineNumber,e.startColumn,c.startLineNumber,e.endColumn)}else l=t.getModel().getValueInRange(c).replace(/\r\n/g,`
|
|
49
|
-
`);return new e(t,n,i,l,a,o,u)}constructor(e,t,n,r,i,a,o){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=r,this.wholeWord=i,this.matchCase=a,this.currentMatch=o}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();return e?new az(this._editor.getSelections().concat(e),e,0):null}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();if(!e)return null;let t=this._editor.getSelections();return new az(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return n?new j(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();return e?new az(this._editor.getSelections().concat(e),e,0):null}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();if(!e)return null;let t=this._editor.getSelections();return new az(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return n?new j(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();let t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}},sz=class e extends O{static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._sessionDispose=this._register(new b),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){let t=oz.create(this._editor,e);if(!t)return;this._session=t;let n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(e=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(e=>{(e.matchCase||e.wholeWord)&&this._endSession()}))}}_endSession(){this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController&&this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1),this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;let n=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return n?new j(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){let t=this._editor.getSelections();if(t.length>1){let n=e.getState().matchCase;if(!_z(this._editor.getModel(),t,n)){let e=this._editor.getModel(),n=[];for(let r=0,i=t.length;r<i;r++)n[r]=this._expandEmptyToWord(e,t[r]);this._editor.setSelections(n);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null,n=e.getState();if(n.isRevealed&&n.searchString.length>0&&n.isRegex){let e=this._editor.getModel();t=n.searchScope?e.findMatches(n.searchString,n.searchScope,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(148):null,!1,1073741824):e.findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(n.searchScope)}if(t.length>0){let e=this._editor.getSelection();for(let n=0,r=t.length;n<r;n++){let r=t[n];if(r.range.intersectRanges(e)){t[n]=t[0],t[0]=r;break}}this._setSelections(t.map(e=>new j(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)))}}};JR=sz,JR.ID=`editor.contrib.multiCursorController`;var cz=class extends A{run(e,t){let n=sz.get(t);if(!n)return;let r=t._getViewModel();if(r){let i=r.getCursorStates(),a=iC.get(t);if(a)this._run(n,a);else{let r=e.get(x).createInstance(iC,t);this._run(n,r),r.dispose()}$R(i,r.getCursorStates())}}},lz=class extends cz{constructor(){super({id:`editor.action.addSelectionToNextFindMatch`,label:W(1349,`Add Selection to Next Find Match`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2082,weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`3_multi`,title:R(1339,`Add &&Next Occurrence`),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}},uz=class extends cz{constructor(){super({id:`editor.action.addSelectionToPreviousFindMatch`,label:W(1350,`Add Selection to Previous Find Match`),precondition:void 0,menuOpts:{menuId:q.MenubarSelectionMenu,group:`3_multi`,title:R(1340,`Add P&&revious Occurrence`),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}},dz=class extends cz{constructor(){super({id:`editor.action.moveSelectionToNextFindMatch`,label:W(1351,`Move Last Selection to Next Find Match`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:mn(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}},fz=class extends cz{constructor(){super({id:`editor.action.moveSelectionToPreviousFindMatch`,label:W(1352,`Move Last Selection to Previous Find Match`),precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}},pz=class extends cz{constructor(){super({id:`editor.action.selectHighlights`,label:W(1353,`Select All Occurrences of Find Match`),precondition:void 0,kbOpts:{kbExpr:I.focus,primary:3114,weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`3_multi`,title:R(1341,`Select All &&Occurrences`),order:7}})}_run(e,t){e.selectAll(t)}},mz=class extends cz{constructor(){super({id:`editor.action.changeAll`,label:W(1354,`Change All Occurrences`),precondition:g.and(I.writable,I.editorTextFocus),kbOpts:{kbExpr:I.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:`1_modification`,order:1.2}})}_run(e,t){e.selectAll(t)}},hz=class{constructor(e,t,n,r,i){this._model=e,this._searchText=t,this._matchCase=n,this._wordSeparators=r,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),i&&this._model===i._model&&this._searchText===i._searchText&&this._matchCase===i._matchCase&&this._wordSeparators===i._wordSeparators&&this._modelVersionId===i._modelVersionId&&(this._cachedFindMatches=i._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(S.compareRangesUsingStarts)),this._cachedFindMatches}},gz=(YR=class extends O{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Vl(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(t=>{this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123)})),this._register(e.onDidChangeCursorSelection(e=>{this._isEnabled&&(e.selection.isEmpty()?e.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(e=>{this._setState(null)})),this._register(e.onDidChangeModelContent(e=>{this._isEnabled&&this.updateSoon.schedule()}));let n=iC.get(e);n&&this._register(n.getState().onFindReplaceStateChange(e=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(QR._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(e,t,n,r,i){if(!t||!i.hasModel())return null;if(!n){let e=i.getSelection();if(e.startLineNumber!==e.endLineNumber)return null}let a=sz.get(i);if(!a)return null;let o=iC.get(i);if(!o)return null;let s=a.getSession(o);if(!s){let e=i.getSelections();if(e.length>1){let t=o.getState().matchCase;if(!_z(i.getModel(),e,t))return null}s=oz.create(i,o)}if(!s||s.currentMatch||/^[ \t]+$/.test(s.searchText)||r>0&&s.searchText.length>r)return null;let c=o.getState(),l=c.matchCase;if(c.isRevealed){let e=c.searchString;l||(e=e.toLowerCase());let t=s.searchText;if(l||(t=t.toLowerCase()),e===t&&s.matchCase===c.matchCase&&s.wholeWord===c.wholeWord&&!c.isRegex)return null}return new hz(i.getModel(),s.searchText,s.matchCase,s.wholeWord?i.getOption(148):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;let t=this.editor.getModel();if(t.isTooLargeForTokenization())return;let n=this.state.findMatches(),r=this.editor.getSelections();r.sort(S.compareRangesUsingStarts);let i=[];for(let e=0,t=0,a=n.length,o=r.length;e<a;){let a=n[e];if(t>=o)i.push(a),e++;else{let n=S.compareRangesUsingStarts(a,r[t]);n<0?((r[t].isEmpty()||!S.areIntersecting(a,r[t]))&&i.push(a),e++):(n>0||e++,t++)}}let a=this.editor.getOption(90)!==`off`,o=this._languageFeaturesService.documentHighlightProvider.has(t)&&a,s=i.map(e=>({range:e,options:qR(o)}));this._decorations.set(s)}dispose(){this._setState(null),super.dispose()}},QR=YR,YR.ID=`editor.contrib.selectionHighlighter`,YR);gz=QR=XR([ZR(1,U)],gz);function _z(e,t,n){let r=vz(e,t[0],!n);for(let i=1,a=t.length;i<a;i++){let a=t[i];if(a.isEmpty()||r!==vz(e,a,!n))return!1}return!0}function vz(e,t,n){let r=e.getValueInRange(t);return n?r.toLowerCase():r}var yz=class extends A{constructor(){super({id:`editor.action.focusNextCursor`,label:W(1355,`Focus Next Cursor`),metadata:{description:R(1342,`Focuses the next cursor`),args:[]},precondition:void 0})}run(e,t,n){if(!t.hasModel())return;let r=t._getViewModel();if(r.cursorConfig.readOnly)return;r.model.pushStackElement();let i=Array.from(r.getCursorStates()),a=i.shift();a&&(i.push(a),r.setCursorStates(n.source,3,i),r.revealPrimaryCursor(n.source,!0),$R(i,r.getCursorStates()))}},bz=class extends A{constructor(){super({id:`editor.action.focusPreviousCursor`,label:W(1356,`Focus Previous Cursor`),metadata:{description:R(1343,`Focuses the previous cursor`),args:[]},precondition:void 0})}run(e,t,n){if(!t.hasModel())return;let r=t._getViewModel();if(r.cursorConfig.readOnly)return;r.model.pushStackElement();let i=Array.from(r.getCursorStates()),a=i.pop();a&&(i.unshift(a),r.setCursorStates(n.source,3,i),r.revealPrimaryCursor(n.source,!0),$R(i,r.getCursorStates()))}};M(sz.ID,sz,4),M(gz.ID,gz,1),T(ez),T(tz),T(nz),T(lz),T(uz),T(dz),T(fz),T(pz),T(mz),T(rz),T(iz),T(yz),T(bz);var xz={Visible:new D(`parameterHintsVisible`,!1),MultipleSignatures:new D(`parameterHintsMultipleSignatures`,!1)};async function Sz(e,t,n,r,i){let a=e.ordered(t);for(let e of a)try{let a=await e.provideSignatureHelp(t,n,i,r);if(a)return a}catch(e){xc(e)}}In.registerCommand(`_executeSignatureHelpProvider`,async(e,...t)=>{let[n,r,i]=t;Gi(Nn.isUri(n)),Gi(k.isIPosition(r)),Gi(typeof i==`string`||!i);let a=e.get(U),o=await e.get(xi).createModelReference(n);try{let e=await Sz(a.signatureHelpProvider,o.object.textEditorModel,k.lift(r),{triggerKind:kt.Invoke,isRetrigger:!1,triggerCharacter:i},L.None);return e?(setTimeout(()=>e.dispose(),0),e.value):void 0}finally{o.dispose()}});var Cz,wz;(function(e){e.Default={type:0};class t{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}}e.Pending=t;class n{constructor(e){this.hints=e,this.type=1}}e.Active=n})(wz||={});var Tz=class e extends O{constructor(t,n,r=e.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new B),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=wz.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Ne),this.triggerChars=new jn,this.retriggerChars=new jn,this.triggerId=0,this.editor=t,this.providers=n,this.throttledDelayer=this._register(new Wc(r)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(e=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(e=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(e=>this.onCursorChange(e))),this._register(this.editor.onDidChangeModelContent(e=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(e=>this.onDidType(e))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=wz.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){let n=this.editor.getModel();if(!n||!this.providers.has(n))return;let r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(il)}next(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t%e===e-1,r=this.editor.getOption(98).cycle;if((e<2||n)&&!r){this.cancel();return}this.updateActiveSignature(n&&r?0:t+1)}previous(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t===0,r=this.editor.getOption(98).cycle;if((e<2||n)&&!r){this.cancel();return}this.updateActiveSignature(n&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new wz.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){let t=this.state.type===1||this.state.type===2,n=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;let r=this._pendingTriggers.reduce(Ez);this._pendingTriggers=[];let i={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:n};if(!this.editor.hasModel())return!1;let a=this.editor.getModel(),o=this.editor.getPosition();this.state=new wz.Pending(pu(e=>Sz(this.providers,a,o,i,e)),n);try{let t=await this.state.request;return e===this.triggerId?!t||!t.value.signatures||t.value.signatures.length===0?(t?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new wz.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(t?.dispose(),!1)}catch(t){return e===this.triggerId&&(this.state=wz.Default),il(t),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();let e=this.editor.getModel();if(e)for(let t of this.providers.ordered(e)){for(let e of t.signatureHelpTriggerCharacters||[])if(e.length){let t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(let e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;let t=e.length-1,n=e.charCodeAt(t);(this.triggerChars.has(n)||this.isTriggered&&this.retriggerChars.has(n))&&this.trigger({triggerKind:kt.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source===`mouse`?this.cancel():this.isTriggered&&this.trigger({triggerKind:kt.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:kt.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(98).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Cz=Tz,Cz.DEFAULT_DELAY=120;function Ez(e,t){switch(t.triggerKind){case kt.Invoke:return t;case kt.ContentChange:return e;case kt.TriggerCharacter:default:return t}}var Dz,Oz=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kz=function(e,t){return function(n,r){t(n,r,e)}},Az,jz=N,Mz=$s(`parameter-hints-next`,w.chevronDown,R(1358,`Icon for show next parameter hint.`)),Nz=$s(`parameter-hints-previous`,w.chevronUp,R(1359,`Icon for show previous parameter hint.`)),Pz=(Dz=class extends O{constructor(e,t,n,r){super(),this.editor=e,this.model=t,this.markdownRendererService=r,this.renderDisposeables=this._register(new b),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=xz.Visible.bindTo(n),this.keyMultipleSignatures=xz.MultipleSignatures.bindTo(n)}createParameterHintDOMNodes(){let e=jz(`.editor-widget.parameter-hints-widget`),t=z(e,jz(`.phwrapper`));t.tabIndex=-1;let n=z(t,jz(`.controls`)),r=z(n,jz(`.button`+tt.asCSSSelector(Nz))),i=z(n,jz(`.overloads`)),a=z(n,jz(`.button`+tt.asCSSSelector(Mz)));this._register(H(r,`click`,e=>{ua.stop(e),this.previous()})),this._register(H(a,`click`,e=>{ua.stop(e),this.next()}));let o=jz(`.body`),s=new Du(o,{alwaysConsumeMouseWheel:!0});this._register(s),t.appendChild(s.getDomNode());let c=z(o,jz(`.signature`)),l=z(o,jz(`.docs`));e.style.userSelect=`text`,this.domNodes={element:e,signature:c,overloads:i,docs:l,scrollbar:s},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(e=>{this.visible&&this.editor.layoutContentWidget(this)}));let u=()=>{if(!this.domNodes)return;let e=this.editor.getOption(59),t=this.domNodes.element;t.style.fontSize=`${e.fontSize}px`,t.style.lineHeight=`${e.lineHeight/e.fontSize}`,t.style.setProperty(`--vscode-parameterHintsWidget-editorFontFamily`,e.fontFamily),t.style.setProperty(`--vscode-parameterHintsWidget-editorFontFamilyDefault`,Ui.fontFamily)};u(),this._register(qu.chain(this.editor.onDidChangeConfiguration.bind(this.editor),e=>e.filter(e=>e.hasChanged(59)))(u)),this._register(this.editor.onDidLayoutChange(e=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add(`visible`)},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove(`visible`),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;let t=e.signatures.length>1;this.domNodes.element.classList.toggle(`multiple`,t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText=``,this.domNodes.docs.innerText=``;let n=e.signatures[e.activeSignature];if(!n)return;let r=z(this.domNodes.signature,jz(`.code`)),i=n.parameters.length>0,a=n.activeParameter??e.activeParameter;if(i)this.renderParameters(r,n,a);else{let e=z(r,jz(`span`));e.textContent=n.label}let o=n.parameters[a];if(o?.documentation){let e=jz(`span.documentation`);if(typeof o.documentation==`string`)e.textContent=o.documentation;else{let t=this.renderMarkdownDocs(o.documentation);e.appendChild(t.element)}z(this.domNodes.docs,jz(`p`,{},e))}if(n.documentation!==void 0){if(typeof n.documentation==`string`)z(this.domNodes.docs,jz(`p`,{},n.documentation));else{let e=this.renderMarkdownDocs(n.documentation);z(this.domNodes.docs,e.element)}}let s=this.hasDocs(n,o);if(this.domNodes.signature.classList.toggle(`has-docs`,s),this.domNodes.docs.classList.toggle(`empty`,!s),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,`0`)+`/`+e.signatures.length,o){let e=``,t=n.parameters[a];e=Array.isArray(t.label)?n.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+=typeof t.documentation==`string`?`, ${t.documentation}`:`, ${t.documentation.value}`),n.documentation&&(e+=typeof n.documentation==`string`?`, ${n.documentation}`:`, ${n.documentation.value}`),this.announcedLabel!==e&&(hl(R(1360,`{0}, hint`,e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){let t=this.renderDisposeables.add(this.markdownRendererService.render(e,{context:this.editor,asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));return t.element.classList.add(`markdown-docs`),t}hasDocs(e,t){return!!(t&&typeof t.documentation==`string`&&ta(t.documentation).length>0||t&&typeof t.documentation==`object`&&ta(t.documentation).value.length>0||e.documentation&&typeof e.documentation==`string`&&ta(e.documentation).length>0||e.documentation&&typeof e.documentation==`object`&&ta(e.documentation.value).length>0)}renderParameters(e,t,n){let[r,i]=this.getParameterLabelOffsets(t,n),a=document.createElement(`span`);a.textContent=t.label.substring(0,r);let o=document.createElement(`span`);o.textContent=t.label.substring(r,i),o.className=`parameter active`;let s=document.createElement(`span`);s.textContent=t.label.substring(i),z(e,a,o,s)}getParameterLabelOffsets(e,t){let n=e.parameters[t];if(!n)return[0,0];if(Array.isArray(n.label))return n.label;if(n.label.length){let t=RegExp(`(\\W|^)${vi(n.label)}(?=\\W|$)`,`g`);t.test(e.label);let r=t.lastIndex-n.label.length;return r>=0?[r,t.lastIndex]:[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Az.ID}updateMaxHeight(){if(!this.domNodes)return;let e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;let t=this.domNodes.element.getElementsByClassName(`phwrapper`);t.length&&(t[0].style.maxHeight=e)}},Az=Dz,Dz.ID=`editor.widget.parameterHintsWidget`,Dz);Pz=Az=Oz([kz(2,Ls),kz(3,lt)],Pz),C(`editorHoverWidget.highlightForeground`,Pi,R(1361,`Foreground color of the active item in the parameter hint.`));var Fz,Iz=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lz=function(e,t){return function(n,r){t(n,r,e)}},Rz,zz=(Fz=class extends O{static get(e){return e.getContribution(Rz.ID)}constructor(e,t,n){super(),this.editor=e,this.model=this._register(new Tz(e,n.signatureHelpProvider)),this._register(this.model.onChangedHints(e=>{e?(this.widget.value.show(),this.widget.value.render(e)):this.widget.rawValue?.hide()})),this.widget=new Nc(()=>this._register(t.createInstance(Pz,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(e){this.model.trigger(e,0)}},Rz=Fz,Fz.ID=`editor.controller.parameterHints`,Fz);zz=Rz=Iz([Lz(1,x),Lz(2,U)],zz);var Bz=class extends A{constructor(){super({id:`editor.action.triggerParameterHints`,label:W(1357,`Trigger Parameter Hints`),precondition:I.hasSignatureHelpProvider,kbOpts:{kbExpr:I.editorTextFocus,primary:3082,weight:100}})}run(e,t){zz.get(t)?.trigger({triggerKind:kt.Invoke})}};M(zz.ID,zz,2),T(Bz);var Vz=175,Hz=yt.bindToContribution(zz.get);F(new Hz({id:`closeParameterHints`,precondition:xz.Visible,handler:e=>e.cancel(),kbOpts:{weight:Vz,kbExpr:I.focus,primary:9,secondary:[1033]}})),F(new Hz({id:`showPrevParameterHint`,precondition:g.and(xz.Visible,xz.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:Vz,kbExpr:I.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),F(new Hz({id:`showNextParameterHint`,precondition:g.and(xz.Visible,xz.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:Vz,kbExpr:I.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Uz,Wz=class extends O{constructor(e){super(),this._editor=e,this._editorObs=ku(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=xr({owner:this,equalsFn:Xl},e=>{let t=this._placeholderText.read(e);if(t&&this._editorObs.valueIsEmpty.read(e))return{placeholder:t}}),this._shouldViewBeAlive=Gz(this,e=>this._state.read(e)?.placeholder!==void 0),this._view=P(e=>{if(!this._shouldViewBeAlive.read(e))return;let t=Ou(`div.editorPlaceholder`);e.store.add(E(e=>{let n=this._state.read(e),r=n?.placeholder!==void 0;t.root.style.display=r?`block`:`none`,t.root.innerText=n?.placeholder??``})),e.store.add(E(e=>{let n=this._editorObs.layoutInfo.read(e);t.root.style.left=`${n.contentLeft}px`,t.root.style.width=n.contentWidth-n.verticalScrollbarWidth+`px`,t.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),e.store.add(E(e=>{t.root.style.fontFamily=this._editorObs.getOption(58).read(e),t.root.style.fontSize=this._editorObs.getOption(61).read(e)+`px`,t.root.style.lineHeight=this._editorObs.getOption(75).read(e)+`px`})),e.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:Ec(0),position:Ec(null),domNode:t.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};Uz=Wz,Uz.ID=`editor.contrib.placeholderText`;function Gz(e,t){return lr(e,(e,n)=>n===!0||t(e))}var Kz=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qz=function(e,t){return function(n,r){t(n,r,e)}},Jz=class{constructor(e){this.instantiationService=e}init(...e){}};function Yz(e){return e()}var Xz=class extends Jz{constructor(e,t){super(t),this.init(e)}};Xz=Kz([qz(1,x)],Xz),M(Wz.ID,Yz(()=>Wz),0),C(`editor.placeholder.foreground`,u,R(1380,`Foreground color of the placeholder text in the editor.`));var Zz,Qz=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$z=function(e,t){return function(n,r){t(n,r,e)}},eB=(Zz=class extends O{constructor(e,t,n){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=n,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(81)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(t=>{let n=this.editor.getModel()?.getLanguageId();n&&t.affects(n)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(t=>{this.options&&!t.hasChanged(81)||(this.options=this.createOptions(e.getOption(81)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(e=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(e=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Vl(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;let t=this.editor.getModel().getLanguageId();if(!t)return;let n=this.languageConfigurationService.getLanguageConfiguration(t).comments,r=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!n&&!r?.markers))return{foldingRules:r,markSectionHeaderRegex:e.markSectionHeaderRegex,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;let e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;let t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(n=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(n)})}updateDecorations(e){let t=this.editor.getModel();t&&(e=e.filter(e=>{if(!e.shouldBeInComments)return!0;let n=t.validateRange(e.range),r=t.tokenization.getLineTokens(n.startLineNumber),i=r.findTokenIndexAtOffset(n.startColumn-1),a=r.getStandardTokenType(i),o=t.getLanguageIdAtPosition(n.startLineNumber,n.startColumn);return r.getLanguageId(i)===o&&a===1}));let n=Object.values(this.currentOccurrences).map(e=>e.decorationId),r=e.map(e=>tB(e));this.editor.changeDecorations(t=>{let i=t.deltaDecorations(n,r);this.currentOccurrences={};for(let t=0,n=i.length;t<n;t++){let n={sectionHeader:e[t],decorationId:i[t]};this.currentOccurrences[n.decorationId]=n}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&=(this.computePromise.cancel(),null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Zz.ID=`editor.sectionHeaderDetector`,Zz);eB=Qz([$z(1,bu),$z(2,ia)],eB);function tB(e){return{range:e.range,options:G.createDynamic({description:`section-header`,stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}M(eB.ID,eB,1);function nB(e){for(let t=0,n=e.length;t<n;t+=4){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3];e[t+0]=a,e[t+1]=i,e[t+2]=r,e[t+3]=n}}function rB(e){let t=new Uint8Array(e.buffer,e.byteOffset,e.length*4);return Tt()||nB(t),rr.wrap(t)}function iB(e){let t=new Uint32Array(aB(e)),n=0;if(t[n++]=e.id,e.type===`full`)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(let r of e.deltas)t[n++]=r.start,t[n++]=r.deleteCount,r.data?(t[n++]=r.data.length,t.set(r.data,n),n+=r.data.length):t[n++]=0}return rB(t)}function aB(e){let t=0;if(t+=2,e.type===`full`)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(let n of e.deltas)n.data&&(t+=n.data.length)}return t}function oB(e){return e&&!!e.data}function sB(e){return e&&Array.isArray(e.edits)}var cB=class{constructor(e,t,n){this.provider=e,this.tokens=t,this.error=n}};function lB(e,t){return e.has(t)}function uB(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function dB(e,t,n,r,i){let a=uB(e,t),o=await Promise.all(a.map(async e=>{let a,o=null;try{a=await e.provideDocumentSemanticTokens(t,e===n?r:null,i)}catch(e){o=e,a=null}return(!a||!oB(a)&&!sB(a))&&(a=null),new cB(e,a,o)}));for(let e of o){if(e.error)throw e.error;if(e.tokens)return e}return o.length>0?o[0]:null}function fB(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:null}var pB=class{constructor(e,t){this.provider=e,this.tokens=t}};function mB(e,t){return e.has(t)}function hB(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function gB(e,t,n,r){let i=hB(e,t),a=await Promise.all(i.map(async e=>{let i;try{i=await e.provideDocumentRangeSemanticTokens(t,n,r)}catch(e){xc(e),i=null}return(!i||!oB(i))&&(i=null),new pB(e,i)}));for(let e of a)if(e.tokens)return e;return a.length>0?a[0]:null}In.registerCommand(`_provideDocumentSemanticTokensLegend`,async(e,...t)=>{let[n]=t;Gi(n instanceof Nn);let r=e.get(wt).getModel(n);if(!r)return;let{documentSemanticTokensProvider:i}=e.get(U),a=fB(i,r);return a?a[0].getLegend():e.get(or).executeCommand(`_provideDocumentRangeSemanticTokensLegend`,n)}),In.registerCommand(`_provideDocumentSemanticTokens`,async(e,...t)=>{let[n]=t;Gi(n instanceof Nn);let r=e.get(wt).getModel(n);if(!r)return;let{documentSemanticTokensProvider:i}=e.get(U);if(!lB(i,r))return e.get(or).executeCommand(`_provideDocumentRangeSemanticTokens`,n,r.getFullModelRange());let a=await dB(i,r,null,null,L.None);if(!a)return;let{provider:o,tokens:s}=a;if(!s||!oB(s))return;let c=iB({id:0,type:`full`,data:s.data});return s.resultId&&o.releaseDocumentSemanticTokens(s.resultId),c}),In.registerCommand(`_provideDocumentRangeSemanticTokensLegend`,async(e,...t)=>{let[n,r]=t;Gi(n instanceof Nn);let i=e.get(wt).getModel(n);if(!i)return;let{documentRangeSemanticTokensProvider:a}=e.get(U),o=hB(a,i);if(o.length===0)return;if(o.length===1)return o[0].getLegend();if(!r||!S.isIRange(r))return console.warn(`provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in`),o[0].getLegend();let s=await gB(a,i,S.lift(r),L.None);if(s)return s.provider.getLegend()}),In.registerCommand(`_provideDocumentRangeSemanticTokens`,async(e,...t)=>{let[n,r]=t;Gi(n instanceof Nn),Gi(S.isIRange(r));let i=e.get(wt).getModel(n);if(!i)return;let{documentRangeSemanticTokensProvider:a}=e.get(U),o=await gB(a,i,S.lift(r),L.None);if(!(!o||!o.tokens))return iB({id:0,type:`full`,data:o.tokens.data})});var _B=`editor.semanticHighlighting`;function vB(e,t,n){let r=n.getValue(_B,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return typeof r==`boolean`?r:t.getColorTheme().semanticHighlighting}var yB,bB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xB=function(e,t){return function(n,r){t(n,r,e)}},SB,CB=class extends O{constructor(e,t,n,r,i,a){super(),this._watchers=new ba,this._providerChangeListeners=this._register(new b);let o=a.documentSemanticTokensProvider,s=t=>{this._watchers.get(t.uri)?.dispose(),this._watchers.set(t.uri,new wB(t,e,n,i,a))},c=(e,t)=>{t.dispose(),this._watchers.delete(e.uri)},l=()=>{for(let e of t.getModels()){let t=this._watchers.get(e.uri);vB(e,n,r)?t||s(e):t&&c(e,t)}},u=()=>{this._providerChangeListeners.clear();for(let e of o.allNoModel())typeof e.onDidChange==`function`&&this._providerChangeListeners.add(e.onDidChange(()=>{for(let t of this._watchers.values())t.handleProviderDidChange(e)}))};t.getModels().forEach(e=>{vB(e,n,r)&&s(e)}),this._register(t.onModelAdded(e=>{vB(e,n,r)&&s(e)})),this._register(t.onModelRemoved(e=>{let t=this._watchers.get(e.uri);t&&c(e,t)})),this._register(r.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.semanticHighlighting`)&&l()})),this._register(n.onDidColorThemeChange(l)),u(),this._register(o.onDidChange(()=>{u();for(let e of this._watchers.values())e.handleRegistryChange()}))}dispose(){_(this._watchers.values()),this._watchers.clear(),super.dispose()}};CB=bB([xB(0,qs),xB(1,wt),xB(2,nu),xB(3,Ea),xB(4,Da),xB(5,U)],CB);var wB=(yB=class extends O{constructor(e,t,n,r,i){super(),this._semanticTokensStylingService=t,this._relevantProviders=new Set,this._isDisposed=!1,this._model=e,this._provider=i.documentSemanticTokensProvider,this._debounceInformation=r.for(this._provider,`DocumentSemanticTokens`,{min:SB.REQUEST_MIN_DELAY,max:SB.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Vl(()=>this._fetchDocumentSemanticTokensNow(),SB.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._providersChangedDuringRequest=!1,this._updateRelevantProviders(),this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._currentDocumentRequestCancellationTokenSource&&=(this._currentDocumentRequestCancellationTokenSource.cancel(),null),this._setDocumentSemanticTokens(null,null,null,[]),this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(0)})),this._register(n.onDidColorThemeChange(e=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}handleRegistryChange(){this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}handleProviderDidChange(e){if(this._relevantProviders.has(e)){if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}}_updateRelevantProviders(){this._relevantProviders=new Set(this._provider.all(this._model))}dispose(){this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._currentDocumentRequestCancellationTokenSource&&=(this._currentDocumentRequestCancellationTokenSource.cancel(),null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!lB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;let e=new Eu,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,n=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=dB(this._provider,this._model,t,n,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;let i=[],a=this._model.onDidChangeContent(e=>{i.push(e)}),o=new xe(!1);r.then(e=>{if(this._debounceInformation.update(this._model,o.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,a.dispose(),!e)this._setDocumentSemanticTokens(null,null,null,i);else{let{provider:t,tokens:n}=e,r=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,n||null,r,i)}},e=>{e&&(Vo(e)||typeof e.message==`string`&&e.message.indexOf(`busy`)!==-1)||il(e),this._currentDocumentRequestCancellationTokenSource=null,a.dispose(),(i.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,n,r,i){i=Math.min(i,n.length-r,e.length-t);for(let a=0;a<i;a++)n[r+a]=e[t+a]}_setDocumentSemanticTokens(e,t,n,r){let i=this._currentDocumentResponse,a=()=>{(r.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&=(this._currentDocumentResponse.dispose(),null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!n){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),a();return}if(sB(t)){if(!i){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:i.data};else{let e=0;for(let n of t.edits)e+=(n.data?n.data.length:0)-n.deleteCount;let r=i.data,a=new Uint32Array(r.length+e),o=r.length,s=a.length;for(let e=t.edits.length-1;e>=0;e--){let c=t.edits[e];if(c.start>r.length){n.warnInvalidEditStart(i.resultId,t.resultId,e,c.start,r.length),this._model.tokenization.setSemanticTokens(null,!0);return}let l=o-(c.start+c.deleteCount);l>0&&(SB._copy(r,o-l,a,s-l,l),s-=l),c.data&&(SB._copy(c.data,0,a,s-c.data.length,c.data.length),s-=c.data.length),o=c.start}o>0&&SB._copy(r,0,a,0,o),t={resultId:t.resultId,data:a}}}if(oB(t)){this._currentDocumentResponse=new TB(e,t.resultId,t.data);let i=m(t,n,this._model.getLanguageId());if(r.length>0)for(let e of r)for(let t of i)for(let n of e.changes)t.applyEdit(n.range,n.text);this._model.tokenization.setSemanticTokens(i,!0)}else this._model.tokenization.setSemanticTokens(null,!0);a()}},SB=yB,yB.REQUEST_MIN_DELAY=300,yB.REQUEST_MAX_DELAY=2e3,yB);wB=SB=bB([xB(1,qs),xB(2,nu),xB(3,Da),xB(4,U)],wB);var TB=class{constructor(e,t,n){this.provider=e,this.resultId=t,this.data=n}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}};ss(CB);var EB,DB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},OB=function(e,t){return function(n,r){t(n,r,e)}},kB=(EB=class extends O{constructor(e,t,n,r,i,a){super(),this._semanticTokensStylingService=t,this._themeService=n,this._configurationService=r,this._editor=e,this._provider=a.documentRangeSemanticTokensProvider,this._debounceInformation=i.for(this._provider,`DocumentRangeSemanticTokens`,{min:100,max:500}),this._tokenizeViewport=this._register(new Vl(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[],this._rangeProvidersChangeListeners=[];let o=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))},s=()=>{if(this._cleanupProviderListeners(),this._editor.hasModel()){let e=this._editor.getModel();for(let t of this._provider.all(e)){let e=t.onDidChange?.(()=>{this._cancelAll(),o()});e&&this._rangeProvidersChangeListeners.push(e)}}};this._register(this._editor.onDidScrollChange(()=>{o()})),this._register(this._editor.onDidChangeModel(()=>{s(),this._cancelAll(),o()})),this._register(this._editor.onDidChangeModelLanguage(()=>{s(),this._cancelAll(),o()})),this._register(this._editor.onDidChangeModelContent(e=>{this._cancelAll(),o()})),s(),this._register(this._provider.onDidChange(()=>{s(),this._cancelAll(),o()})),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.semanticHighlighting`)&&(this._cancelAll(),o())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),o()})),o()}dispose(){this._cleanupProviderListeners(),super.dispose()}_cleanupProviderListeners(){_(this._rangeProvidersChangeListeners),this._rangeProvidersChangeListeners=[]}_cancelAll(){for(let e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,n=this._outstandingRequests.length;t<n;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;let e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!vB(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!mB(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}let t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(t=>this._requestRange(e,t)))}_requestRange(e,t){let n=e.getVersionId(),r=pu(n=>Promise.resolve(gB(this._provider,e,t,n))),i=new xe(!1);return r.then(r=>{if(this._debounceInformation.update(e,i.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==n)return;let{provider:a,tokens:o}=r,s=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,m(o,s,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}},EB.ID=`editor.contrib.viewportSemanticTokens`,EB);kB=DB([OB(1,qs),OB(2,nu),OB(3,Ea),OB(4,Da),OB(5,U)],kB),M(kB.ID,kB,1);var AB=class{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){let n=[];for(let r of t){let t=[];n.push(t),this.selectSubwords&&this._addInWordRanges(t,e,r),this._addWordRanges(t,e,r),this._addWhitespaceLine(t,e,r),t.push({range:e.getFullModelRange()})}return n}_addInWordRanges(e,t,n){let r=t.getWordAtPosition(n);if(!r)return;let{word:i,startColumn:a}=r,o=n.column-a,s=o,c=o,l=0;for(;s>=0;s--){let e=i.charCodeAt(s);if(s!==o&&(e===95||e===45)||va(e)&&Dr(l))break;l=e}for(s+=1;c<i.length;c++){let e=i.charCodeAt(c);if(Dr(e)&&va(l)||e===95||e===45)break;l=e}s<c&&e.push({range:new S(n.lineNumber,a+s,n.lineNumber,a+c)})}_addWordRanges(e,t,n){let r=t.getWordAtPosition(n);r&&e.push({range:new S(n.lineNumber,r.startColumn,n.lineNumber,r.endColumn)})}_addWhitespaceLine(e,t,n){t.getLineLength(n.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(n.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(n.lineNumber)===0&&e.push({range:new S(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})}},jB,MB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},NB=function(e,t){return function(n,r){t(n,r,e)}},PB,FB=class e{constructor(e,t){this.index=e,this.ranges=t}mov(t){let n=this.index+(t?1:-1);if(n<0||n>=this.ranges.length)return this;let r=new e(n,this.ranges);return r.ranges[n].equalsRange(this.ranges[this.index])?r.mov(t):r}},IB=(jB=class{static get(e){return e.getContribution(PB.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(e){if(!this._editor.hasModel())return;let t=this._editor.getSelections(),n=this._editor.getModel();if(this._state||await BB(this._languageFeaturesService.selectionRangeProvider,n,t.map(e=>e.getPosition()),this._editor.getOption(129),L.None).then(e=>{if(!(!td(e)||e.length!==t.length)&&!(!this._editor.hasModel()||!Nu(this._editor.getSelections(),t,(e,t)=>e.equalsSelection(t)))){for(let n=0;n<e.length;n++)e[n]=e[n].filter(e=>e.containsPosition(t[n].getStartPosition())&&e.containsPosition(t[n].getEndPosition())),e[n].unshift(t[n]);this._state=e.map(e=>new FB(0,e)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(t=>t.mov(e));let r=this._state.map(e=>j.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}},PB=jB,jB.ID=`editor.contrib.smartSelectController`,jB);IB=PB=MB([NB(1,U)],IB);var LB=class extends A{constructor(e,t){super(t),this._forward=e}async run(e,t){let n=IB.get(t);n&&await n.run(this._forward)}},RB=class extends LB{constructor(){super(!0,{id:`editor.action.smartSelect.expand`,label:W(1449,`Expand Selection`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`1_basic`,title:R(1447,`&&Expand Selection`),order:2}})}};In.registerCommandAlias(`editor.action.smartSelect.grow`,`editor.action.smartSelect.expand`);var zB=class extends LB{constructor(){super(!1,{id:`editor.action.smartSelect.shrink`,label:W(1450,`Shrink Selection`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:`1_basic`,title:R(1448,`&&Shrink Selection`),order:3}})}};M(IB.ID,IB,4),T(RB),T(zB);async function BB(e,t,n,r,i){let a=e.all(t).concat(new AB(r.selectSubwords));a.length===1&&a.unshift(new tj);let o=[],s=[];for(let e of a)o.push(Promise.resolve(e.provideSelectionRanges(t,n,i)).then(e=>{if(td(e)&&e.length===n.length)for(let t=0;t<n.length;t++){s[t]||(s[t]=[]);for(let r of e[t])S.isIRange(r.range)&&S.containsPosition(r.range,n[t])&&s[t].push(S.lift(r.range))}},xc));return await Promise.all(o),s.map(e=>{if(e.length===0)return[];e.sort((e,t)=>k.isBefore(e.getStartPosition(),t.getStartPosition())?1:k.isBefore(t.getStartPosition(),e.getStartPosition())||k.isBefore(e.getEndPosition(),t.getEndPosition())?-1:+!!k.isBefore(t.getEndPosition(),e.getEndPosition()));let n=[],i;for(let t of e)(!i||S.containsRange(t,i)&&!S.equalsRange(t,i))&&(n.push(t),i=t);if(!r.selectLeadingAndTrailingWhitespace)return n;let a=[n[0]];for(let e=1;e<n.length;e++){let r=n[e-1],i=n[e];if(i.startLineNumber!==r.startLineNumber||i.endLineNumber!==r.endLineNumber){let e=new S(r.startLineNumber,t.getLineFirstNonWhitespaceColumn(r.startLineNumber),r.endLineNumber,t.getLineLastNonWhitespaceColumn(r.endLineNumber));e.containsRange(r)&&!e.equalsRange(r)&&i.containsRange(e)&&!i.equalsRange(e)&&a.push(e);let n=new S(r.startLineNumber,1,r.endLineNumber,t.getLineMaxColumn(r.endLineNumber));n.containsRange(r)&&!n.equalsRange(e)&&i.containsRange(n)&&!i.equalsRange(n)&&a.push(n)}a.push(i)}return a})}In.registerCommand(`_executeSelectionRangeProvider`,async function(e,...t){let[n,r]=t;Gi(Nn.isUri(n)),Gi(da(r,e=>k.isIPosition(e)));let i=e.get(U).selectionRangeProvider,a=await e.get(xi).createModelReference(n);try{return BB(i,a.object.textEditorModel,r.map(k.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},L.None)}finally{a.dispose()}});var VB=Object.freeze({View:W(1692,`View`),Help:W(1693,`Help`),Test:W(1694,`Test`),File:W(1695,`File`),Preferences:W(1696,`Preferences`),Developer:W(1697,`Developer`)}),HB=class extends zi{constructor(){super({id:`editor.action.toggleStickyScroll`,title:{...W(1498,`Toggle Editor Sticky Scroll`),mnemonicTitle:R(1494,`&&Toggle Editor Sticky Scroll`)},metadata:{description:W(1499,`Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport`)},category:VB.View,toggled:{condition:g.equals(`config.editor.stickyScroll.enabled`,!0),title:R(1495,`Sticky Scroll`),mnemonicTitle:R(1496,`&&Sticky Scroll`)},menu:[{id:q.CommandPalette},{id:q.MenubarAppearanceMenu,group:`4_editor`,order:3},{id:q.StickyScrollContext}]})}async runEditorCommand(e,t){let n=e.get(Ea),r=!n.getValue(`editor.stickyScroll.enabled`),i=$M.get(t)?.isFocused();n.updateValue(`editor.stickyScroll.enabled`,r),i&&t.focus()}},UB=100,WB=class extends zi{constructor(){super({id:`editor.action.focusStickyScroll`,title:{...W(1500,`Focus Editor Sticky Scroll`),mnemonicTitle:R(1497,`&&Focus Editor Sticky Scroll`)},precondition:g.and(g.has(`config.editor.stickyScroll.enabled`),I.stickyScrollVisible),menu:[{id:q.CommandPalette}]})}runEditorCommand(e,t){$M.get(t)?.focus()}},GB=class extends zi{constructor(){super({id:`editor.action.selectNextStickyScrollLine`,title:W(1501,`Select the next editor sticky scroll line`),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:UB,primary:18}})}runEditorCommand(e,t){$M.get(t)?.focusNext()}},KB=class extends zi{constructor(){super({id:`editor.action.selectPreviousStickyScrollLine`,title:W(1502,`Select the previous sticky scroll line`),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:UB,primary:16}})}runEditorCommand(e,t){$M.get(t)?.focusPrevious()}},qB=class extends zi{constructor(){super({id:`editor.action.goToFocusedStickyScrollLine`,title:W(1503,`Go to the focused sticky scroll line`),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:UB,primary:3}})}runEditorCommand(e,t){$M.get(t)?.goToFocused()}},JB=class extends zi{constructor(){super({id:`editor.action.selectEditor`,title:W(1504,`Select Editor`),precondition:I.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:UB,primary:9}})}runEditorCommand(e,t){$M.get(t)?.selectEditor()}};M($M.ID,$M,1),We(HB),We(WB),We(KB),We(GB),We(qB),We(JB);var YB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},XB=function(e,t){return function(n,r){t(n,r,e)}},ZB=class{constructor(e,t,n,r,i,a,o){this.range=e,this.insertText=t,this.filterText=n,this.additionalTextEdits=r,this.command=i,this.gutterMenuLinkAction=a,this.completion=o,this.doNotLog=!0}},QB=class extends Yn{constructor(e,t,n,r,i,a){super(i.disposable),this.model=e,this.line=t,this.word=n,this.completionModel=r,this._suggestMemoryService=a}canBeReused(e,t,n){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===n.startColumn&&this.word.endColumn<n.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){let e=[],{items:t}=this.completionModel,n=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),r=Ln.slice(t,n),i=Ln.slice(t,0,n),a=5;for(let t of Ln.concat(r,i)){if(t.score===Jt.Default)continue;let n=new S(t.editStart.lineNumber,t.editStart.column,t.editInsertEnd.lineNumber,t.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),r=t.completion.insertTextRules&&t.completion.insertTextRules&4?{snippet:t.completion.insertText}:t.completion.insertText;e.push(new ZB(n,r,t.filterTextLow??t.labelLow,t.completion.additionalTextEdits,t.completion.command,t.completion.action,t)),a-->=0&&t.resolve(L.None)}return e}};QB=YB([XB(5,BA)],QB);var $B=class extends O{constructor(e,t,n,r){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=n,this._editorService=r,this._store.add(e.inlineCompletionsProvider.register(`*`,this))}async provideInlineCompletions(e,t,n,r){if(n.selectedSuggestionInfo)return;let i;for(let t of this._editorService.listCodeEditors())if(t.getModel()===e){i=t;break}if(!i)return;let a=i.getOption(102);if(LT.isAllOff(a))return;e.tokenization.tokenizeIfCheap(t.lineNumber);let o=e.tokenization.getLineTokens(t.lineNumber),s=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(LT.valueFor(a,s)!==`inline`)return;let c=e.getWordAtPosition(t),l;if(c?.word||(l=this._getTriggerCharacterInfo(e,t)),!c?.word&&!l||(c||=e.getWordUntilPosition(t),c.endColumn!==t.column))return;let u,d=e.getValueInRange(new S(t.lineNumber,1,t.lineNumber,t.column));if(!l&&this._lastResult?.canBeReused(e,t.lineNumber,c)){let e=new QA(d,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),u=this._lastResult}else{let n=await AT(this._languageFeatureService.completionProvider,e,t,new OT(void 0,uj.createSuggestFilter(i).itemKind,l?.providers),l&&{triggerKind:1,triggerCharacter:l.ch},r),a;n.needsClipboard&&(a=await this._clipboardService.readText());let o=new $A(n.items,t.column,new QA(d,0),rj.None,i.getOption(134),i.getOption(128),{boostFullMatch:!1,firstMatchCanBeWeak:!1},a);u=new QB(e,t.lineNumber,c,o,n,this._suggestMemoryService)}return this._lastResult=u,u}handleItemDidShow(e,t){t.completion.resolve(L.None)}disposeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){let n=e.getValueInRange(S.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),r=new Set;for(let t of this._languageFeatureService.completionProvider.all(e))t.triggerCharacters?.includes(n)&&r.add(t);if(r.size!==0)return{providers:r,ch:n}}};$B=YB([XB(0,U),XB(1,we),XB(2,BA),XB(3,Mi)],$B),ss($B),T(class extends A{constructor(){super({id:`editor.action.forceRetokenize`,label:W(1584,`Developer: Force Retokenize`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();n.tokenization.resetTokenization();let r=new xe;n.tokenization.forceTokenization(n.getLineCount()),r.stop(),console.log(`tokenization took ${r.elapsed()}`)}});var eV,tV=class e extends id{constructor(){super({id:e.ID,title:W(1582,`Toggle Tab Key Moves Focus`),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:W(1583,`Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.`)},f1:!0})}run(){let e=!ji.getTabFocusMode();ji.setTabFocusMode(e),hl(e?R(1580,`Pressing Tab will now move focus to the next focusable element`):R(1581,`Pressing Tab will now insert the tab character`))}};eV=tV,eV.ID=`editor.action.toggleTabFocusMode`,We(tV);var nV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rV=function(e,t){return function(n,r){t(n,r,e)}},iV=class extends O{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute(`aria-disabled`,`false`),this.el.tabIndex=0,this.el.style.pointerEvents=`auto`,this.el.style.opacity=`1`,this.el.style.cursor=`pointer`,this._enabled=!1):(this.el.setAttribute(`aria-disabled`,`true`),this.el.tabIndex=-1,this.el.style.pointerEvents=`none`,this.el.style.opacity=`0.4`,this.el.style.cursor=`default`,this._enabled=!0),this._enabled=e}constructor(e,t,n={},r,i){super(),this._link=t,this._hoverService=r,this._enabled=!0,this.el=z(e,N(`a.monaco-link`,{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=n.hoverDelegate??js(`mouse`),this.setTooltip(t.title),this.el.setAttribute(`role`,`button`);let a=this._register(new xa(this.el,`click`)),o=this._register(new xa(this.el,`keydown`)),s=qu.chain(o.event,e=>e.map(e=>new Pt(e)).filter(e=>e.keyCode===3||e.keyCode===10)),c=this._register(new xa(this.el,Ju.Tap)).event;this._register(Wr.addTarget(this.el));let l=qu.any(a.event,s,c);this._register(l(e=>{this.enabled&&(ua.stop(e,!0),n?.opener?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};iV=nV([rV(3,_a),rV(4,xn)],iV);var aV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oV=function(e,t){return function(n,r){t(n,r,e)}},sV=26,cV=class extends O{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(lV))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,sV)}};cV=aV([oV(1,x)],cV);var lV=class extends O{constructor(e,t){super(),this.instantiationService=e,this.markdownRendererService=t,this.element=N(`div.editor-banner`),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message==`string`)return e.message}getBannerMessage(e){if(typeof e==`string`){let t=N(`span`);return t.innerText=e,t}return this.markdownRendererService.render(e).element}clear(){qc(this.element)}show(e){qc(this.element);let t=this.getAriaLabel(e);t&&this.element.setAttribute(`aria-label`,t);let n=z(this.element,N(`div.icon-container`));n.setAttribute(`aria-hidden`,`true`),e.icon&&n.appendChild(N(`div${tt.asCSSSelector(e.icon)}`));let r=z(this.element,N(`div.message-container`));if(r.setAttribute(`aria-hidden`,`true`),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=z(this.element,N(`div.message-actions-container`)),e.actions)for(let t of e.actions)this._register(this.instantiationService.createInstance(iV,this.messageActionsContainer,{...t,tabIndex:-1},{}));let i=z(this.element,N(`div.action-container`));this.actionBar=this._register(new Bn(i)),this.actionBar.push(this._register(new pn(`banner.close`,R(1585,`Close Banner`),tt.asClassName(ee),!0,()=>{typeof e.onClose==`function`&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};lV=aV([oV(0,x),oV(1,lt)],lV);var uV,dV,fV,pV,mV,hV,gV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_V=function(e,t){return function(n,r){t(n,r,e)}},vV=$s(`extensions-warning-message`,w.warning,R(1586,`Icon shown with a warning message in the extensions editor.`)),yV=(uV=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=n,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;let t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount),n;if(e.nonBasicAsciiCharacterCount>=t)n={message:R(1587,`This document contains many non-basic ASCII unicode characters`),command:new PV};else if(e.ambiguousCharacterCount>=t)n={message:R(1588,`This document contains many ambiguous unicode characters`),command:new MV};else if(e.invisibleCharacterCount>=t)n={message:R(1589,`This document contains many invisible unicode characters`),command:new NV};else throw Error(`Unreachable`);this._bannerController.show({id:`unicodeHighlightBanner`,message:n.message,icon:vV,actions:[{label:n.command.shortLabel,href:`command:${n.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(cV,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(142),this._register(n.onDidChangeTrust(e=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(142)&&(this._options=e.getOption(142),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&=(this._highlighter.dispose(),null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&=(this._highlighter.dispose(),null),!this._editor.hasModel())return;let e=bV(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(e=>e===!1))return;let t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(e=>e.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(e=>e===`_os`?Un.NumberFormat().value.resolvedOptions().locale:e===`_vscode`?gl:e)};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new xV(this._editor,t,this._updateState,this._editorWorkerService):new SV(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},uV.ID=`editor.contrib.unicodeHighlighter`,uV);yV=gV([_V(1,ia),_V(2,Kn),_V(3,x)],yV);function bV(e,t){return{nonBasicASCII:t.nonBasicASCII===`inUntrustedWorkspace`?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===`inUntrustedWorkspace`?!e:t.includeComments,includeStrings:t.includeStrings===`inUntrustedWorkspace`?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}var xV=class extends O{constructor(e,t,n,r){super(),this._editor=e,this._options=t,this._updateState=n,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Vl(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}let e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);let n=[];if(!t.hasMore)for(let e of t.ranges)n.push({range:e,options:kV.instance.getDecorationFromOptions(this._options)});this._decorations.set(n)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel();return Xi(t,e)?{reason:OV(t.getValueInRange(e.range),this._options),inComment:Xt(t,e),inString:aa(t,e)}:null}};xV=gV([_V(3,ia)],xV);var SV=class extends O{constructor(e,t,n){super(),this._editor=e,this._options=t,this._updateState=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Vl(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}let e=this._editor.getVisibleRanges(),t=[],n={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(let t of e){let e=Je.computeUnicodeHighlights(this._model,this._options,t);for(let t of e.ranges)n.ranges.push(t);n.ambiguousCharacterCount+=n.ambiguousCharacterCount,n.invisibleCharacterCount+=n.invisibleCharacterCount,n.nonBasicAsciiCharacterCount+=n.nonBasicAsciiCharacterCount,n.hasMore=n.hasMore||e.hasMore}if(!n.hasMore)for(let e of n.ranges)t.push({range:e,options:kV.instance.getDecorationFromOptions(this._options)});this._updateState(n),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel(),n=t.getValueInRange(e.range);return Xi(t,e)?{reason:OV(n,this._options),inComment:Xt(t,e),inString:aa(t,e)}:null}},CV=R(1590,`Configure Unicode Highlight Options`),wV=class{constructor(e,t){this._editor=e,this._markdownRendererService=t,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),r=this._editor.getContribution(yV.ID);if(!r)return[];let i=[],a=new Set,o=300;for(let e of t){let t=r.getDecorationInfo(e);if(!t)continue;let s=n.getValueInRange(e.range).codePointAt(0),c=EV(s),l;switch(t.reason.kind){case 0:l=wl(t.reason.confusableWith)?R(1591,`The character {0} could be confused with the ASCII character {1}, which is more common in source code.`,c,EV(t.reason.confusableWith.codePointAt(0))):R(1592,`The character {0} could be confused with the character {1}, which is more common in source code.`,c,EV(t.reason.confusableWith.codePointAt(0)));break;case 1:l=R(1593,`The character {0} is invisible.`,c);break;case 2:l=R(1594,`The character {0} is not a basic ASCII character.`,c)}if(a.has(l))continue;a.add(l);let u={codePoint:s,reason:t.reason,inComment:t.inComment,inString:t.inString},d=R(1595,`Adjust settings`),f=Ii(FV.ID,u),p=new mi(``,!0).appendMarkdown(l).appendText(` `).appendLink(f,d,CV);i.push(new kv(this,e.range,[p],!1,o++))}return i}renderHoverParts(e,t){return Pv(e,t,this._editor,this._markdownRendererService)}getAccessibleContent(e){return e.contents.map(e=>e.value).join(`
|
|
50
|
-
`)}};wV=gV([_V(1,lt)],wV);function TV(e){return`U+${e.toString(16).padStart(4,`0`)}`}function EV(e){let t=`\`${TV(e)}\``;return Ht.isInvisibleCharacter(e)||(t+=` "${`${DV(e)}`}"`),t}function DV(e){return e===96?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}function OV(e,t){return Je.computeUnicodeHighlightReason(e,t)}var kV=class{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){let n=`${e}${t}`,r=this.map.get(n);return r||(r=G.createDynamic({description:`unicode-highlight`,stickiness:1,className:`unicode-highlight`,showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(n,r)),r}};dV=kV,dV.instance=new dV;var AV=class extends A{constructor(){super({id:MV.ID,label:W(1604,`Disable highlighting of characters in comments`),precondition:void 0}),this.shortLabel=R(1596,`Disable Highlight In Comments`)}async run(e,t){let n=e.get(Ea);n&&this.runAction(n)}async runAction(e){await e.updateValue(ea.includeComments,!1,2)}},jV=class extends A{constructor(){super({id:MV.ID,label:W(1605,`Disable highlighting of characters in strings`),precondition:void 0}),this.shortLabel=R(1597,`Disable Highlight In Strings`)}async run(e,t){let n=e.get(Ea);n&&this.runAction(n)}async runAction(e){await e.updateValue(ea.includeStrings,!1,2)}},MV=class e extends id{constructor(){super({id:e.ID,title:W(1606,`Disable highlighting of ambiguous characters`),precondition:void 0,f1:!1}),this.shortLabel=R(1598,`Disable Ambiguous Highlight`)}async run(e,t){let n=e.get(Ea);n&&this.runAction(n)}async runAction(e){await e.updateValue(ea.ambiguousCharacters,!1,2)}};fV=MV,fV.ID=`editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters`;var NV=class e extends id{constructor(){super({id:e.ID,title:W(1607,`Disable highlighting of invisible characters`),precondition:void 0,f1:!1}),this.shortLabel=R(1599,`Disable Invisible Highlight`)}async run(e,t){let n=e.get(Ea);n&&this.runAction(n)}async runAction(e){await e.updateValue(ea.invisibleCharacters,!1,2)}};pV=NV,pV.ID=`editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters`;var PV=class e extends id{constructor(){super({id:e.ID,title:W(1608,`Disable highlighting of non basic ASCII characters`),precondition:void 0,f1:!1}),this.shortLabel=R(1600,`Disable Non ASCII Highlight`)}async run(e,t){let n=e.get(Ea);n&&this.runAction(n)}async runAction(e){await e.updateValue(ea.nonBasicASCII,!1,2)}};mV=PV,mV.ID=`editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters`;var FV=class e extends id{constructor(){super({id:e.ID,title:W(1609,`Show Exclude Options`),precondition:void 0,f1:!1})}async run(e,t){let{codePoint:n,reason:r,inString:i,inComment:a}=t,o=String.fromCodePoint(n),s=e.get(Bi),c=e.get(Ea);function l(e){return Ht.isInvisibleCharacter(e)?R(1601,`Exclude {0} (invisible character) from being highlighted`,TV(e)):R(1602,`Exclude {0} from being highlighted`,`${TV(e)} "${o}"`)}let u=[];if(r.kind===0)for(let e of r.notAmbiguousInLocales)u.push({label:R(1603,`Allow unicode characters that are more common in the language "{0}".`,e),run:async()=>{LV(c,[e])}});if(u.push({label:l(n),run:()=>IV(c,[n])}),a){let e=new AV;u.push({label:e.label,run:async()=>e.runAction(c)})}else if(i){let e=new jV;u.push({label:e.label,run:async()=>e.runAction(c)})}function d(e){return typeof e.desc.title==`string`?e.desc.title:e.desc.title.value}if(r.kind===0){let e=new MV;u.push({label:d(e),run:async()=>e.runAction(c)})}else if(r.kind===1){let e=new NV;u.push({label:d(e),run:async()=>e.runAction(c)})}else if(r.kind===2){let e=new PV;u.push({label:d(e),run:async()=>e.runAction(c)})}else RV(r);let f=await s.pick(u,{title:CV});f&&await f.run()}};hV=FV,hV.ID=`editor.action.unicodeHighlight.showExcludeOptions`;async function IV(e,t){let n=e.getValue(ea.allowedCharacters),r;r=typeof n==`object`&&n?n:{};for(let e of t)r[String.fromCodePoint(e)]=!0;await e.updateValue(ea.allowedCharacters,r,2)}async function LV(e,t){let n=e.inspect(ea.allowedLocales).user?.value,r;r=typeof n==`object`&&n?Object.assign({},n):{};for(let e of t)r[e]=!0;await e.updateValue(ea.allowedLocales,r,2)}function RV(e){throw Error(`Unexpected value: ${e}`)}We(MV),We(NV),We(PV),We(FV),M(yV.ID,yV,1),Eh.register(wV);var zV,BV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VV=function(e,t){return function(n,r){t(n,r,e)}},HV=`ignoreUnusualLineTerminators`;function UV(e,t,n){e.setModelProperty(t.uri,HV,n)}function WV(e,t){return e.getModelProperty(t.uri,HV)}var GV=(zV=class extends O{constructor(e,t,n){super(),this._editor=e,this._dialogService=t,this._codeEditorService=n,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(143)&&(this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(e=>{e.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config===`off`||!this._editor.hasModel())return;let e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||WV(this._codeEditorService,e)===!0||this._editor.getOption(104))return;if(this._config===`auto`){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let t;try{this._isPresentingDialog=!0,t=await this._dialogService.confirm({title:R(1610,`Unusual Line Terminators`),message:R(1611,`Detected unusual line terminators`),detail:R(1612,`The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).
|
|
51
|
-
|
|
52
|
-
It is recommended to remove them from the file. This can be configured via \`editor.unusualLineTerminators\`.`,Uc(e.uri)),primaryButton:R(1613,`&&Remove Unusual Line Terminators`),cancelButton:R(1614,`Ignore`)})}finally{this._isPresentingDialog=!1}if(!t.confirmed){UV(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},zV.ID=`editor.contrib.unusualLineTerminatorsDetector`,zV);GV=BV([VV(1,Ae),VV(2,Mi)],GV),M(GV.ID,GV,1);var KV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qV=function(e,t){return function(n,r){t(n,r,e)}},JV=class{constructor(){this.selector={language:`*`}}provideDocumentHighlights(e,t,n){if(e.isDisposed())return;let r=[],i=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return i?e.findMatches(i.word,!0,!1,!0,dd,!1).map(e=>({range:e.range,kind:te.Text})):Promise.resolve(r)}provideMultiDocumentHighlights(e,t,n,r){if(e.isDisposed())return;let i=new ba,a=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!a)return Promise.resolve(i);for(let t of[e,...n]){if(t.isDisposed())continue;let e=t.findMatches(a.word,!0,!1,!0,dd,!1).map(e=>({range:e.range,kind:te.Text}));e&&i.set(t.uri,e)}return i}},YV=class extends O{constructor(e){super(),this._register(e.documentHighlightProvider.register(`*`,new JV)),this._register(e.multiDocumentHighlightProvider.register(`*`,new JV))}};YV=KV([qV(0,U)],YV);var XV,ZV,QV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$V=function(e,t){return function(n,r){t(n,r,e)}},eH,tH,nH=new D(`hasWordHighlights`,!1);function rH(e,t,n,r){let i=e.ordered(t);return Bo(i.map(e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,r)).then(void 0,xc)),e=>e!=null).then(e=>{if(e){let n=new ba;return n.set(t.uri,e),n}return new ba})}function iH(e,t,n,r,i){let a=e.ordered(t);return Bo(a.map(e=>()=>{let a=i.filter(e=>oi(e)).filter(t=>He(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(e.provideMultiDocumentHighlights(t,n,a,r)).then(void 0,xc)}),e=>e!=null)}var aH=class{constructor(e,t,n){this._model=e,this._selection=t,this._wordSeparators=n,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||=pu(e=>this._compute(this._model,this._selection,this._wordSeparators,e)),this._result}_getCurrentWordRange(e,t){let n=e.getWordAtPosition(t.getPosition());return n?new S(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}cancel(){this.result.cancel()}},oH=class extends aH{constructor(e,t,n,r){super(e,t,n),this._providers=r}_compute(e,t,n,r){return rH(this._providers,e,t.getPosition(),r).then(e=>e||new ba)}},sH=class extends aH{constructor(e,t,n,r,i){super(e,t,n),this._providers=r,this._otherModels=i}_compute(e,t,n,r){return iH(this._providers,e,t.getPosition(),r,this._otherModels).then(e=>e||new ba)}};function cH(e,t,n,r){return new oH(t,n,r,e)}function lH(e,t,n,r,i){return new sH(t,n,r,e,i)}Tr(`_executeDocumentHighlights`,async(e,t,n)=>(await rH(e.get(U).documentHighlightProvider,t,n,L.None))?.get(t.uri));var uH=(XV=class{constructor(e,t,n,r,i,a,o,s){this.toUnhook=new b,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new ba,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new Wc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=a,this.textModelService=i,this.configurationService=o,this.logService=s,this._hasWordHighlights=nH.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue(`editor.occurrencesHighlightDelay`),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(e=>{this._ignorePositionChangeEvent||this.occurrencesHighlightEnablement!==`off`&&this.runDelayer.trigger(()=>{this._onPositionChanged(e)}).catch(il)})),this.toUnhook.add(e.onDidFocusEditorText(e=>{this.occurrencesHighlightEnablement!==`off`&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}).catch(il))})),this.toUnhook.add(e.onDidChangeModelContent(e=>{ae(this.model.uri,`output`)||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():eH.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(e=>{let t=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==t)switch(this.occurrencesHighlightEnablement=t,t){case`off`:this._stopAll();break;case`singleFile`:this._stopAll(eH.query?.modelInfo?.modelURI);break;case`multiFile`:eH.query&&this._run(!0);break;default:console.warn(`Unknown occurrencesHighlight setting value:`,t)}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`editor.occurrencesHighlightDelay`)){let e=o.getValue(`editor.occurrencesHighlightDelay`);this.occurrencesHighlightDelay!==e&&(this.occurrencesHighlightDelay=e)}})),this.toUnhook.add(e.onDidBlurEditorWidget(()=>{let e=this.codeEditorService.getFocusedCodeEditor();e?e.getModel()?.uri.scheme===ic.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==ic.vscodeNotebookCell&&this._stopAll():this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,eH.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(e){this.occurrencesHighlightEnablement!==`off`&&(this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,e)}).catch(il))}stop(){this.occurrencesHighlightEnablement!==`off`&&this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(S.compareRangesUsingStarts)}moveNext(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);hl(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);hl(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let e=eH.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),eH.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){let t=this.codeEditorService.listCodeEditors(),n=[];for(let r of t){if(!r.hasModel()||mo(r.getModel().uri,e))continue;let t=eH.storedDecorationIDs.get(r.getModel().uri);if(!t)continue;r.removeDecorations(t),n.push(r.getModel().uri);let i=dH.get(r);i?.wordHighlighter&&i.wordHighlighter.decorations.length>0&&(i.wordHighlighter.decorations.clear(),i.wordHighlighter.workerRequest=null,i.wordHighlighter._hasWordHighlights.set(!1))}for(let e of n)eH.storedDecorationIDs.delete(e)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==ic.vscodeNotebookCell&&eH.query?.modelInfo?.modelURI.scheme!==ic.vscodeNotebookCell?(eH.query=null,this._run()):eH.query?.modelInfo&&(eH.query.modelInfo=null)),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_onPositionChanged(e){if(this.occurrencesHighlightEnablement===`off`){this._stopAll();return}if(e.source!==`api`&&e.reason!==3){this._stopAll();return}this._run()}_getWord(){let e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===ic.vscodeNotebookCell){let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){let n=r.getModel();n&&n!==e&&n.uri.scheme===ic.vscodeNotebookCell&&t.push(n)}return t}let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){if(!Il(r))continue;let n=r.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if(this.occurrencesHighlightEnablement===`singleFile`)return[];for(let r of n){let n=r.getModel();n&&n!==e&&t.push(n)}return t}async _run(e,t){if(this.editor.hasTextFocus()){let e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber){eH.query=null,this._stopAll();return}let t=e.startColumn,n=e.endColumn,r=this._getWord();if(!r||r.startColumn>t||r.endColumn<n){eH.query=null,this._stopAll();return}eH.query={modelInfo:{modelURI:this.model.uri,selection:e}}}else if(!eH.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),mo(this.editor.getModel().uri,eH.query.modelInfo?.modelURI)){if(!e){let e=this.decorations.getRanges();for(let t of e)if(t.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model.uri:void 0);let n=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let r=this.getOtherModelsToHighlight(this.editor.getModel());if(!eH.query||!eH.query.modelInfo)return;let i=await this.textModelService.createModelReference(eH.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(i.object.textEditorModel,eH.query.modelInfo.selection,r),this.workerRequest?.result.then(e=>{n===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},il)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{i.dispose()}}else if(this.model.uri.scheme===ic.vscodeNotebookCell){let e=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!eH.query||!eH.query.modelInfo)return;let n=await this.textModelService.createModelReference(eH.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(n.object.textEditorModel,eH.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then(n=>{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=n||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},il)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{n.dispose()}}}computeWithModel(e,t,n){return n.length?lH(this.multiDocumentProviders,e,t,this.editor.getOption(148),n):cH(this.providers,e,t,this.editor.getOption(148))}_beginRenderDecorations(e){let t=new Date().getTime(),n=this.lastCursorPositionChangeTime+e;t>=n?(this.renderDecorationsTimer=void 0,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},n-t)}renderDecorations(){this.renderDecorationsTimer=void 0;let e=this.codeEditorService.listCodeEditors();for(let t of e){let e=dH.get(t);if(!e)continue;let n=[],r=t.getModel()?.uri;if(r&&this.workerRequestValue.has(r)){let i=eH.storedDecorationIDs.get(r),a=this.workerRequestValue.get(r);if(a)for(let e of a)e.range&&n.push({range:e.range,options:KR(e.kind)});let o=[];t.changeDecorations(e=>{o=e.deltaDecorations(i??[],n)}),eH.storedDecorationIDs=eH.storedDecorationIDs.set(r,o),n.length>0&&(e.wordHighlighter?.decorations.set(n),e.wordHighlighter?._hasWordHighlights.set(!0))}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}},eH=XV,XV.storedDecorationIDs=new ba,XV.query=null,XV);uH=eH=QV([$V(4,xi),$V(5,Mi),$V(6,Ea),$V(7,$l)],uH);var dH=(ZV=class extends O{static get(e){return e.getContribution(tH.ID)}constructor(e,t,n,r,i,a,o){super(),this._wordHighlighter=null;let s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&e.getModel().uri.scheme!==ic.accessibleView&&(this._wordHighlighter=new uH(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,i,r,a,o))};this._register(e.onDidChangeModel(e=>{this._wordHighlighter&&=(!e.newModelUrl&&e.oldModelUrl?.scheme!==ic.vscodeNotebookCell&&this.wordHighlighter?.stop(),this._wordHighlighter.dispose(),null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore(250)}dispose(){this._wordHighlighter&&=(this._wordHighlighter.dispose(),null),super.dispose()}},tH=ZV,ZV.ID=`editor.contrib.wordHighlighter`,ZV);dH=tH=QV([$V(1,Ls),$V(2,U),$V(3,Mi),$V(4,xi),$V(5,Ea),$V(6,$l)],dH);var fH=class extends A{constructor(e,t){super(t),this._isNext=e}run(e,t){let n=dH.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}},pH=class extends fH{constructor(){super(!0,{id:`editor.action.wordHighlight.next`,label:W(1624,`Go to Next Symbol Highlight`),precondition:nH,kbOpts:{kbExpr:I.editorTextFocus,primary:65,weight:100}})}},mH=class extends fH{constructor(){super(!1,{id:`editor.action.wordHighlight.prev`,label:W(1625,`Go to Previous Symbol Highlight`),precondition:nH,kbOpts:{kbExpr:I.editorTextFocus,primary:1089,weight:100}})}},hH=class extends A{constructor(){super({id:`editor.action.wordHighlight.trigger`,label:W(1626,`Trigger Symbol Highlight`),precondition:void 0,kbOpts:{kbExpr:I.editorTextFocus,primary:0,weight:100}})}run(e,t){let n=dH.get(t);n&&n.restoreViewState(!0)}};M(dH.ID,dH,0),T(pH),T(mH),T(hH),ss(YV);var gH=class extends yt{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;let r=Ws(t.getOption(148),t.getOption(147)),i=t.getModel(),a=t.getSelections(),o=a.length>1,s=a.map(e=>{let t=new k(e.positionLineNumber,e.positionColumn),n=this._move(r,i,t,this._wordNavigationType,o);return this._moveTo(e,n,this._inSelectionMode)});if(i.pushStackElement(),t._getViewModel().setCursorStates(`moveWordCommand`,3,s.map(e=>Lr.fromModelSelection(e))),s.length===1){let e=new k(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new j(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new j(t.lineNumber,t.column,t.lineNumber,t.column)}},_H=class extends gH{_move(e,t,n,r,i){return nc.moveWordLeft(e,t,n,r,i)}},vH=class extends gH{_move(e,t,n,r,i){return nc.moveWordRight(e,t,n,r)}},yH=class extends _H{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartLeft`,precondition:void 0})}},bH=class extends _H{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndLeft`,precondition:void 0})}},xH=class extends _H{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:`cursorWordLeft`,precondition:void 0,kbOpts:{kbExpr:g.and(I.textInputFocus,g.and(Ct,gr)?.negate()),primary:2063,mac:{primary:527},weight:100}})}},SH=class extends _H{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartLeftSelect`,precondition:void 0})}},CH=class extends _H{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndLeftSelect`,precondition:void 0})}},wH=class extends _H{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:`cursorWordLeftSelect`,precondition:void 0,kbOpts:{kbExpr:g.and(I.textInputFocus,g.and(Ct,gr)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}},TH=class extends _H{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityLeft`,precondition:void 0})}_move(e,t,n,r,i){return super._move(Ws(en.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},EH=class extends _H{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityLeftSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(Ws(en.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},DH=class extends vH{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartRight`,precondition:void 0})}},OH=class extends vH{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndRight`,precondition:void 0,kbOpts:{kbExpr:g.and(I.textInputFocus,g.and(Ct,gr)?.negate()),primary:2065,mac:{primary:529},weight:100}})}},kH=class extends vH{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordRight`,precondition:void 0})}},AH=class extends vH{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartRightSelect`,precondition:void 0})}},jH=class extends vH{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndRightSelect`,precondition:void 0,kbOpts:{kbExpr:g.and(I.textInputFocus,g.and(Ct,gr)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}},MH=class extends vH{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordRightSelect`,precondition:void 0})}},NH=class extends vH{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityRight`,precondition:void 0})}_move(e,t,n,r,i){return super._move(Ws(en.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},PH=class extends vH{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityRightSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(Ws(en.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},FH=class extends yt{constructor(e){super({canTriggerInlineEdits:!0,...e}),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){let r=e?.get(bu);if(!t.hasModel()||!r)return;let i=Ws(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections(),s=t.getOption(10),c=t.getOption(15),l=r.getLanguageConfiguration(a.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),d=o.map(e=>{let n=this._delete({wordSeparators:i,model:a,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(13),autoClosingBrackets:s,autoClosingQuotes:c,autoClosingPairs:l,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new ct(n,``)});t.pushUndoStop(),t.executeCommands(this.id,d),t.pushUndoStop()}},IH=class extends FH{_delete(e,t){return nc.deleteWordLeft(e,t)||new S(1,1,1,1)}},LH=class extends FH{_delete(e,t){let n=nc.deleteWordRight(e,t);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new S(r,i,r,i)}},RH=class extends IH{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartLeft`,precondition:I.writable})}},zH=class extends IH{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndLeft`,precondition:I.writable})}},BH=class extends IH{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordLeft`,precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},VH=class extends LH{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartRight`,precondition:I.writable})}},HH=class extends LH{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndRight`,precondition:I.writable})}},UH=class extends LH{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordRight`,precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},WH=class extends A{constructor(){super({id:`deleteInsideWord`,precondition:I.writable,label:W(1628,`Delete Word`),metadata:{description:W(1629,`Delete the word at the cursor`),args:[{name:`args`,schema:{type:`object`,properties:{onlyWord:{type:`boolean`,default:!1,description:R(1627,`Delete only the word and leave surrounding whitespace`)}}}}]}})}run(e,t,n){if(!t.hasModel())return;let r=!!(n&&typeof n==`object`&&n.onlyWord),i=Ws(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections().map(e=>{let t=nc.deleteInsideWord(i,a,e,r);return new ct(t,``)});t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}};F(new yH),F(new bH),F(new xH),F(new SH),F(new CH),F(new wH),F(new DH),F(new OH),F(new kH),F(new AH),F(new jH),F(new MH),F(new TH),F(new EH),F(new NH),F(new PH),F(new RH),F(new zH),F(new BH),F(new VH),F(new HH),F(new UH),T(WH);var GH=class extends FH{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordPartLeft`,precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return re.deleteWordPartLeft(e)||new S(1,1,1,1)}},KH=class extends FH{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordPartRight`,precondition:I.writable,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){let n=re.deleteWordPartRight(e);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new S(r,i,r,i)}},qH=class extends gH{_move(e,t,n,r,i){return re.moveWordPartLeft(e,t,n,i)}},JH=class extends qH{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordPartLeft`,precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};In.registerCommandAlias(`cursorWordPartStartLeft`,`cursorWordPartLeft`);var YH=class extends qH{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordPartLeftSelect`,precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};In.registerCommandAlias(`cursorWordPartStartLeftSelect`,`cursorWordPartLeftSelect`);var XH=class extends gH{_move(e,t,n,r,i){return re.moveWordPartRight(e,t,n)}},ZH=class extends XH{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordPartRight`,precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},QH=class extends XH{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordPartRightSelect`,precondition:void 0,kbOpts:{kbExpr:I.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};F(new GH),F(new KH),F(new JH),F(new YH),F(new ZH),F(new QH);var $H,eU=class extends O{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let e=Sf.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(105);t||=this.editor.isSimpleWidget?new mi(R(1427,`Cannot edit in read-only input`)):new mi(R(1428,`Cannot edit in read-only editor`)),e.showMessage(t,this.editor.getPosition())}}};$H=eU,$H.ID=`editor.contrib.readOnlyMessageController`,M(eU.ID,eU,2);var tU=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nU=function(e,t){return function(n,r){t(n,r,e)}},rU=class extends O{constructor(e,t,n){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=n,this._currentModel=Dt(this,void 0);let r=Ie(`documentSymbolProvider.onDidChange`,this._languageFeaturesService.documentSymbolProvider.onDidChange),i=Ie(`_textModel.onDidChangeContent`,qu.debounce(e=>this._textModel.onDidChangeContent(e),()=>void 0,100));this._register(qt(async(e,t)=>{r.read(e),i.read(e);let n=t.add(new Vs),a=await this._outlineModelService.getOrCreate(this._textModel,n.token);t.isDisposed||this._currentModel.set(a,void 0)}))}getBreadcrumbItems(e,t){let n=this._currentModel.read(t);if(!n)return[];let r=n.asListOfDocumentSymbols().filter(t=>e.contains(t.range.startLineNumber)&&!e.contains(t.range.endLineNumber));return r.sort(ci(xs(e=>e.range.endLineNumber-e.range.startLineNumber,ke))),r.map(e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber}))}getAt(e,t){let n=this._currentModel.read(t);if(!n)return[];let r=n.asListOfDocumentSymbols().filter(t=>new ld(t.range.startLineNumber,t.range.endLineNumber).contains(e));return r.length===0?[]:(r.sort(ci(xs(e=>e.range.endLineNumber-e.range.startLineNumber,ke))),r.map(e=>({name:e.name,kind:e.kind,startLineNumber:e.range.startLineNumber})))}};rU=tU([nU(1,U),nU(2,Qw)],rU),oa.setBreadcrumbsSourceFactory((e,t)=>t.createInstance(rU,e));var iU,aU=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oU=function(e,t){return function(n,r){t(n,r,e)}},sU=(iU=class extends O{constructor(e,t,n,r){super();let i=this._register(ku(e)),a=P(e=>i.model.read(e)?.uri),o=this._register(t.createInstance(cU,q.EditorContent,e.contextKeyService,a));this._register(E(e=>{o.hasActions.read(e)&&e.store.add(i.createOverlayWidget({allowEditorOverflow:!1,domNode:o.element,minContentWidthInPx:Ec(0),position:Ec({preference:1})}))}))}},iU.ID=`editor.contrib.floatingToolbar`,iU);sU=aU([oU(1,x),oU(2,Ir),oU(3,Ua)],sU);var cU=class extends O{constructor(e,t,n,r,i,a){super();let o=this._register(a.createMenu(e,t)),s=yd(this,o.onDidChange,()=>o.getActions()),c=P(e=>{let t=s.read(e),{primary:n}=Fa(t,()=>!0);return n.filter(e=>e.id!==Ar.ID)});this.hasActions=P(e=>c.read(e).length>0),this.element=Ou(`div.floating-menu-overlay-widget`).root,this._register(Tn(()=>this.element.remove())),this._register(E(t=>{let a=c.read(t),o=a.length>0,s=o?a[0].id:void 0,l=a.length===1;if(this.element.classList.toggle(`single-button`,l),this.element.style.height=l?`28px`:`26px`,!o)return;let u=r.createInstance(jo,this.element,e,{actionViewItemProvider:(e,t)=>{if(e instanceof Hr)return r.createInstance(class extends Ic{render(t){super.render(t),e.id===s&&this.element?.classList.add(`primary`)}updateLabel(){let t=i.lookupKeybinding(e.id),n=t?t.getLabel():void 0;this.options.label&&this.label&&(this.label.textContent=n?`${this._commandAction.label} (${n})`:this._commandAction.label)}},e,{...t,keybindingNotRenderedWithLabel:!0})},hiddenItemStrategy:0,menuOptions:{shouldForwardArgs:!0},telemetrySource:`editor.overlayToolbar`,toolbarOptions:{primaryGroup:()=>!0,useSeparatorsInPrimaryActions:!0}});t.store.add(u),t.store.add(E(e=>{let t=n.read(e);u.context=t}))}))}};cU=aU([oU(3,x),oU(4,Ir),oU(5,Ua)],cU),M(sU.ID,sU,1);var lU,uU,dU=class extends O{constructor(e){super(),this.editor=e,this.widget=null,le&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){let e=!this.editor.getOption(104);!this.widget&&e?this.widget=new fU(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&=(this.widget.dispose(),null)}};lU=dU,lU.ID=`editor.contrib.iPadShowKeyboard`;var fU=class e extends O{constructor(e){super(),this.editor=e,this._domNode=document.createElement(`textarea`),this._domNode.className=`iPadShowKeyboard`,this._register(H(this._domNode,`touchstart`,e=>{this.editor.focus()})),this._register(H(this._domNode,`focus`,e=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};uU=fU,uU.ID=`editor.contrib.ShowKeyboardWidget`,M(dU.ID,dU,3);var pU,mU,hU=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gU=function(e,t){return function(n,r){t(n,r,e)}},_U,vU=(pU=class extends O{static get(e){return e.getContribution(_U.ID)}constructor(e,t,n){super(),this._editor=e,this._languageService=n,this._widget=null,this._register(this._editor.onDidChangeModel(e=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(e=>this.stop())),this._register(Li.onDidChange(e=>this.stop())),this._register(this._editor.onKeyUp(e=>e.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new SU(this._editor,this._languageService))}stop(){this._widget&&=(this._widget.dispose(),null)}},_U=pU,pU.ID=`editor.contrib.inspectTokens`,pU);vU=_U=hU([gU(1,nd),gU(2,os)],vU);var yU=class extends A{constructor(){super({id:`editor.action.inspectTokens`,label:Gu.inspectTokensAction,alias:`Developer: Inspect Tokens`,precondition:void 0})}run(e,t){vU.get(t)?.launch()}};function bU(e){let t=``;for(let n=0,r=e.length;n<r;n++){let r=e.charCodeAt(n);switch(r){case 9:t+=`→`;break;case 32:t+=`·`;break;default:t+=String.fromCharCode(r)}}return t}function xU(e,t){let n=Li.get(t);if(n)return n;let r=e.encodeLanguageId(t);return{getInitialState:()=>Jr,tokenize:(e,n,r)=>Ee(t,r),tokenizeEncoded:(e,t,n)=>Vu(r,n)}}var SU=class e extends O{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement(`div`),this._domNode.className=`tokens-inspect-widget`,this._tokenizationSupport=xU(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(e=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return e._ID}_compute(e){let t=this._getTokensAtLine(e.lineNumber),n=0;for(let r=t.tokens1.length-1;r>=0;r--){let i=t.tokens1[r];if(e.column-1>=i.offset){n=r;break}}let r=0;for(let n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){r=n;break}let i=this._model.getLineContent(e.lineNumber),a=``;if(n<t.tokens1.length){let e=t.tokens1[n].offset,r=n+1<t.tokens1.length?t.tokens1[n+1].offset:i.length;a=i.substring(e,r)}ni(this._domNode,N(`h2.tm-token`,void 0,bU(a),N(`span.tm-token-length`,void 0,`${a.length} ${a.length===1?`char`:`chars`}`))),z(this._domNode,N(`hr.tokens-inspect-separator`,{style:`clear:both`}));let o=(r<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(r<<1)+1]):null;z(this._domNode,N(`table.tm-metadata-table`,void 0,N(`tbody`,void 0,N(`tr`,void 0,N(`td.tm-metadata-key`,void 0,`language`),N(`td.tm-metadata-value`,void 0,`${o?o.languageId:`-?-`}`)),N(`tr`,void 0,N(`td.tm-metadata-key`,void 0,`token type`),N(`td.tm-metadata-value`,void 0,`${o?this._tokenTypeToString(o.tokenType):`-?-`}`)),N(`tr`,void 0,N(`td.tm-metadata-key`,void 0,`font style`),N(`td.tm-metadata-value`,void 0,`${o?this._fontStyleToString(o.fontStyle):`-?-`}`)),N(`tr`,void 0,N(`td.tm-metadata-key`,void 0,`foreground`),N(`td.tm-metadata-value`,void 0,`${o?As.Format.CSS.formatHex(o.foreground):`-?-`}`)),N(`tr`,void 0,N(`td.tm-metadata-key`,void 0,`background`),N(`td.tm-metadata-value`,void 0,`${o?As.Format.CSS.formatHex(o.background):`-?-`}`))))),z(this._domNode,N(`hr.tokens-inspect-separator`)),n<t.tokens1.length&&z(this._domNode,N(`span.tm-token-type`,void 0,t.tokens1[n].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){let t=Li.getColorMap(),n=hc.getLanguageId(e),r=hc.getTokenType(e),i=hc.getFontStyle(e),a=hc.getForeground(e),o=hc.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(n),tokenType:r,fontStyle:i,foreground:t[a],background:t[o]}}_tokenTypeToString(e){switch(e){case 0:return`Other`;case 1:return`Comment`;case 2:return`String`;case 3:return`RegEx`;default:return`??`}}_fontStyleToString(e){let t=``;return e&1&&(t+=`italic `),e&2&&(t+=`bold `),e&4&&(t+=`underline `),e&8&&(t+=`strikethrough `),t.length===0&&(t=`---`),t}_getTokensAtLine(e){let t=this._getStateBeforeLine(e),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),r=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:n.tokens,tokens2:r.tokens,endState:n.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let n=1;n<e;n++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(n),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};mU=SU,mU._ID=`editor.contrib.inspectTokensWidget`,M(vU.ID,vU,4),T(yU);var CU,wU=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},TU=function(e,t){return function(n,r){t(n,r,e)}},EU,DU=(CU=class{constructor(e,t,n){this.quickInputService=e,this.keybindingService=t,this.contextKeyService=n,this.registry=Jn.as(Cu.Quickaccess)}provide(e){let t=new b;return t.add(e.onDidAccept(()=>{let[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(e=>{let t=this.registry.getQuickAccessProvider(e.substr(EU.PREFIX.length),this.contextKeyService);t?.prefix&&t.prefix!==EU.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(e=>e.prefix!==EU.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders(this.contextKeyService).sort((e,t)=>e.prefix.localeCompare(t.prefix)).flatMap(e=>this.createPicks(e))}createPicks(e){return e.helpEntries.map(t=>{let n=t.prefix||e.prefix,r=n||`…`;return{prefix:n,label:r,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:R(1811,`{0}, {1}`,r,t.description),description:t.description}})}},EU=CU,CU.PREFIX=`?`,CU);DU=EU=wU([TU(0,Bi),TU(1,Ir),TU(2,Ls)],DU),Jn.as(Cu.Quickaccess).registerQuickAccessProvider({ctor:DU,prefix:``,helpEntries:[{description:ve.helpQuickAccessActionLabel}]});var OU=class{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,n){let r=new b;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let i=r.add(new Ne);return i.value=this.doProvide(e,t,n),r.add(this.onDidActiveTextEditorControlChange(()=>{i.value=void 0,i.value=this.doProvide(e,t)})),r}doProvide(e,t,n){let r=new b,i=this.activeTextEditorControl;if(i&&this.canProvideWithTextEditor(i)){let a={editor:i},o=cu(i);if(o){let e=i.saveViewState()??void 0;r.add(o.onDidChangeCursorPosition(()=>{e=i.saveViewState()??void 0})),a.restoreViewState=()=>{e&&i===this.activeTextEditorControl&&i.restoreViewState(e)},r.add(sr(t.onCancellationRequested)(()=>a.restoreViewState?.()))}r.add(Tn(()=>this.clearDecorations(i))),r.add(this.provideWithTextEditor(a,e,t,n))}else r.add(this.provideWithoutTextEditor(e,t));return r}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,`code.jump`),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();let n=this.getModel(e);if(n){let e=n.getLineContent(t.range.startLineNumber);Wt(R(1381,`Line {0}, column {1}: {2}`,t.range.startLineNumber,t.range.startColumn,e))}}getModel(e){return Il(e)?e.getModel()?.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(e=>{let n=[];this.rangeHighlightDecorationId&&=(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),void 0);let r=[{range:t,options:{description:`quick-access-range-highlight`,className:`rangeHighlight`,isWholeLine:!0}},{range:t,options:{description:`quick-access-range-highlight-overview`,overviewRuler:{color:Al(ko),position:Hu.Full}}}],[i,a]=e.deltaDecorations(n,r);this.rangeHighlightDecorationId={rangeHighlightId:i,overviewRulerDecorationId:a}})}clearDecorations(e){let t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}},kU,AU=class e extends OU{constructor(){super({canAcceptInBackground:!0})}get useZeroBasedOffset(){return this.storageService.getBoolean(e.ZERO_BASED_OFFSET_STORAGE_KEY,-1,!1)}set useZeroBasedOffset(t){this.storageService.store(e.ZERO_BASED_OFFSET_STORAGE_KEY,t,-1,0)}provideWithoutTextEditor(e){let t=R(1382,`Open a text editor first to go to a line or an offset.`);return e.items=[{label:t}],e.ariaLabel=t,O.None}provideWithTextEditor(t,n,r){let i=t.editor,a=new b;n.ariaLabel=R(1383,`Go to line. Type a line number, optionally followed by colon and column number.`),a.add(n.onDidAccept(e=>{let[r]=n.selectedItems;if(r){if(!r.lineNumber)return;this.gotoLocation(t,{range:this.toRange(r.lineNumber,r.column),keyMods:n.keyMods,preserveFocus:e.inBackground}),e.inBackground||n.hide()}}));let o={iconClass:tt.asClassName(w.indexZero),tooltip:R(1384,`Toggle Zero-Based Offset`),location:ln.Input,toggle:{checked:this.useZeroBasedOffset}},s=()=>{let t=n.value.trim().substring(e.GO_TO_LINE_PREFIX.length),{inOffsetMode:r,lineNumber:a,column:s,label:c}=this.parsePosition(i,t);if(n.buttons=r?[o]:[],n.items=[{lineNumber:a,column:s,label:c,ariaLabel:a?R(1385,`Go to line {0}, column {1}. Press Enter to navigate.`,a,s||1):c}],!a){this.clearDecorations(i);return}let l=this.toRange(a,s);i.revealRangeInCenter(l,0),this.addDecorations(i,l)};a.add(n.onDidTriggerButton(e=>{e===o&&(this.useZeroBasedOffset=e.toggle?.checked??!this.useZeroBasedOffset,s())})),s(),a.add(n.onDidChangeValue(()=>s()));let c=cu(i);return c&&c.getOptions().get(76).renderType===2&&(c.updateOptions({lineNumbers:`on`}),a.add(Tn(()=>c.updateOptions({lineNumbers:`relative`})))),a}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){let n=this.getModel(e);if(!n)return{label:R(1386,`Open a text editor first to go to a line or an offset.`)};if(t.startsWith(`:`)){let e=parseInt(t.substring(1),10),r=n.getValueLength();if(isNaN(e))return{inOffsetMode:!0,label:this.useZeroBasedOffset?R(1387,`Type a character position to go to (from 0 to {0}).`,r-1):R(1388,`Type a character position to go to (from 1 to {0}).`,r)};{let t=e<0;this.useZeroBasedOffset||(e-=Math.sign(e)),t&&(e+=r);let i=n.getPositionAt(e),a=he.visibleColumnFromColumn(n.getLineContent(i.lineNumber),i.column,n.getOptions().tabSize)+1;return{...i,inOffsetMode:!0,label:R(1389,`Press 'Enter' to go to line {0} at column {1}.`,i.lineNumber,a)}}}{let e=t.split(/,|:|#/),r=n.getLineCount(),i=parseInt(e[0]?.trim(),10);if(e.length<1||isNaN(i))return{label:R(1390,`Type a line number to go to (from 1 to {0}).`,r)};i=i>=0?i:r+1+i,i=Math.min(Math.max(1,i),r);let a=n.getOptions().tabSize,o=n.getLineContent(i),s=he.visibleColumnFromColumn(o,n.getLineMaxColumn(i),a)+1,c=parseInt(e[1]?.trim(),10);if(e.length<2||isNaN(c))return{lineNumber:i,column:1,label:e.length<2?R(1391,`Press 'Enter' to go to line {0} or enter colon : to add a column number.`,i):R(1392,`Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).`,i,s)};c=c>=0?c:s+c,c=Math.min(Math.max(1,c),s);let l=he.columnFromVisibleColumn(o,c-1,a);return{lineNumber:i,column:l,label:R(1393,`Press 'Enter' to go to line {0} at column {1}.`,i,c)}}}};kU=AU,kU.GO_TO_LINE_PREFIX=`:`,kU.GO_TO_OFFSET_PREFIX=`::`,kU.ZERO_BASED_OFFSET_STORAGE_KEY=`gotoLine.useZeroBasedOffset`;var jU,MU,NU=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},PU=function(e,t){return function(n,r){t(n,r,e)}},FU=class extends AU{constructor(e,t){super(),this.editorService=e,this.storageService=t,this.onDidActiveTextEditorControlChange=qu.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};FU=NU([PU(0,Mi),PU(1,sl)],FU);var IU=class e extends A{constructor(){super({id:e.ID,label:Va.gotoLineActionLabel,alias:`Go to Line/Column...`,precondition:void 0,kbOpts:{kbExpr:I.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Bi).quickAccess.show(FU.GO_TO_LINE_PREFIX)}};jU=IU,jU.ID=`editor.action.gotoLine`,T(IU),Jn.as(Cu.Quickaccess).registerQuickAccessProvider({ctor:FU,prefix:FU.GO_TO_LINE_PREFIX,helpEntries:[{description:Va.gotoLineActionLabel,commandId:IU.ID}]});var LU=class e extends A{constructor(){super({id:e.ID,label:Va.gotoOffsetActionLabel,alias:`Go to Offset...`,precondition:void 0})}run(e){e.get(Bi).quickAccess.show(FU.GO_TO_OFFSET_PREFIX)}};MU=LU,MU.ID=`editor.action.gotoOffset`,T(LU),Jn.as(Cu.Quickaccess).registerQuickAccessProvider({ctor:FU,prefix:FU.GO_TO_OFFSET_PREFIX,helpEntries:[{description:Va.gotoOffsetActionLabel,commandId:LU.ID}]});var RU=[void 0,[]];function zU(e,t,n=0,r=0){let i=t;return i.values&&i.values.length>1?BU(e,i.values,n,r):VU(e,t,n,r)}function BU(e,t,n,r){let i=0,a=[];for(let o of t){let[t,s]=VU(e,o,n,r);if(typeof t!=`number`)return RU;i+=t,a.push(...s)}return[i,HU(a)]}function VU(e,t,n,r){let i=Sr(t.normalized,t.normalizedLowercase,n,e,e.toLowerCase(),r,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return i?[i[0],ma(i)]:RU}function HU(e){let t=e.sort((e,t)=>e.start-t.start),n=[],r;for(let e of t)!r||!UU(r,e)?(r=e,n.push(e)):(r.start=Math.min(r.start,e.start),r.end=Math.max(r.end,e.end));return n}function UU(e,t){return!(e.end<t.start||t.end<e.start)}function WU(e){return e.startsWith(`"`)&&e.endsWith(`"`)}var GU=` `;function KU(e){typeof e!=`string`&&(e=``);let t=e.toLowerCase(),{pathNormalized:n,normalized:r,normalizedLowercase:i}=qU(e),a=n.indexOf(ut)>=0,o=WU(e),s,c=e.split(GU);if(c.length>1)for(let e of c){let t=WU(e),{pathNormalized:n,normalized:r,normalizedLowercase:i}=qU(e);r&&(s||=[],s.push({original:e,originalLowercase:e.toLowerCase(),pathNormalized:n,normalized:r,normalizedLowercase:i,expectContiguousMatch:t}))}return{original:e,originalLowercase:t,pathNormalized:n,normalized:r,normalizedLowercase:i,values:s,containsPathSeparator:a,expectContiguousMatch:o}}function qU(e){let t;t=nn?e.replace(/\//g,ut):e.replace(/\\/g,ut);let n=t.replace(/[\*\u2026\s"]/g,``).replace(RegExp(`(?<=.)#$`,``),``);return{pathNormalized:t,normalized:n,normalizedLowercase:n.toLowerCase()}}function JU(e){return KU(Array.isArray(e)?e.map(e=>e.original).join(GU):e.original)}var YU,XU=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ZU=function(e,t){return function(n,r){t(n,r,e)}},QU,$U=(YU=class extends OU{constructor(e,t,n=Object.create(null)){super(n),this._languageFeaturesService=e,this._outlineModelService=t,this.options=n,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,R(1394,`To go to a symbol, first open a text editor with symbol information.`)),O.None}provideWithTextEditor(e,t,n,r){let i=e.editor,a=this.getModel(i);return a?this._languageFeaturesService.documentSymbolProvider.has(a)?this.doProvideWithEditorSymbols(e,a,t,n,r):this.doProvideWithoutEditorSymbols(e,a,t,n):O.None}doProvideWithoutEditorSymbols(e,t,n,r){let i=new b;return this.provideLabelPick(n,R(1395,`The active text editor does not provide symbol information.`)),(async()=>{!await this.waitForLanguageSymbolRegistry(t,i)||r.isCancellationRequested||i.add(this.doProvideWithEditorSymbols(e,t,n,r))})(),i}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;let n=new Ma,r=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(r.dispose(),n.complete(!0))}));return t.add(Tn(()=>n.complete(!1))),n.p}doProvideWithEditorSymbols(e,t,n,r,i){let a=e.editor,o=new b;o.add(n.onDidAccept(t=>{let[r]=n.selectedItems;if(r&&r.range){if(n.keyMods.shift&&r.attach){r.attach(n.keyMods,t);return}this.gotoLocation(e,{range:r.range.selection,keyMods:n.keyMods,preserveFocus:t.inBackground}),i?.handleAccept?.(r,t.inBackground),t.inBackground||n.hide()}})),o.add(n.onDidTriggerItemButton(({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())}));let s=this.getDocumentSymbols(t,r),c=o.add(new Ne),l=async e=>{c?.value?.cancel(),n.busy=!1,c.value=new Eu,n.busy=!0;try{let i=KU(n.value.substr(QU.PREFIX.length).trim()),a=await this.doGetSymbolPicks(s,i,void 0,c.value.token,t);if(r.isCancellationRequested)return;if(a.length>0){if(n.items=a,e&&i.original.length===0){let t=Te(a,t=>!!(t.type!==`separator`&&t.range&&S.containsPosition(t.range.decoration,e)));t&&(n.activeItems=[t])}}else i.original.length>0?this.provideLabelPick(n,R(1396,`No matching editor symbols`)):this.provideLabelPick(n,R(1397,`No editor symbols`))}finally{r.isCancellationRequested||(n.busy=!1)}};return o.add(n.onDidChangeValue(()=>l(void 0))),l(a.getSelection()?.getPosition()),o.add(n.onDidChangeActive(()=>{let[e]=n.activeItems;e&&e.range&&(a.revealRangeInCenter(e.range.selection,0),this.addDecorations(a,e.range.decoration))})),o}async doGetSymbolPicks(e,t,n,r,i){let a=await e;if(r.isCancellationRequested)return[];let o=t.original.indexOf(QU.SCOPE_PREFIX)===0,s=+!!o,c,l;t.values&&t.values.length>1?(c=JU(t.values[0]),l=JU(t.values.slice(1))):c=t;let u,d=this.options?.openSideBySideDirection?.();d&&(u=[{iconClass:d===`right`?tt.asClassName(w.splitHorizontal):tt.asClassName(w.splitVertical),tooltip:d===`right`?R(1398,`Open to the Side`):R(1399,`Open to the Bottom`)}]);let f=[];for(let e=0;e<a.length;e++){let r=a[e],o=eu(r.name),d=`$(${hi.toIcon(r.kind).id}) ${o}`,p=d.length-o.length,m=r.containerName;n?.extraContainerLabel&&(m=m?`${n.extraContainerLabel} • ${m}`:n.extraContainerLabel);let h,g,_,v;if(t.original.length>s){let e=!1;if(c!==t&&([h,g]=zU(d,{...t,values:void 0},s,p),typeof h==`number`&&(e=!0)),typeof h!=`number`&&([h,g]=zU(d,c,s,p),typeof h!=`number`))continue;if(!e&&l){if(m&&l.original.length>0&&([_,v]=zU(m,l)),typeof _!=`number`)continue;typeof h==`number`&&(h+=_)}}let y=r.tags&&r.tags.indexOf(1)>=0;f.push({index:e,kind:r.kind,score:h,label:d,ariaLabel:_t(r.name,r.kind),description:m,highlights:y?void 0:{label:g,description:v},range:{selection:S.collapseToStart(r.selectionRange),decoration:r.range},uri:i.uri,symbolName:o,strikethrough:y,buttons:u})}let p=f.sort((e,t)=>o?this.compareByKindAndScore(e,t):this.compareByScore(e,t)),m=[];if(o){let e,t,n=0;function r(){t&&typeof e==`number`&&n>0&&(t.label=xt(tW[e]||eW,n))}for(let i of p)e===i.kind?n++:(r(),e=i.kind,n=1,t={type:`separator`},m.push(t)),m.push(i);r()}else p.length>0&&(m=[{label:R(1400,`symbols ({0})`,f.length),type:`separator`},...p]);return m}compareByScore(e,t){if(typeof e.score!=`number`&&typeof t.score==`number`)return 1;if(typeof e.score==`number`&&typeof t.score!=`number`)return-1;if(typeof e.score==`number`&&typeof t.score==`number`){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:+(e.index>t.index)}compareByKindAndScore(e,t){let n=tW[e.kind]||eW,r=tW[t.kind]||eW,i=n.localeCompare(r);return i===0?this.compareByScore(e,t):i}async getDocumentSymbols(e,t){let n=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:n.asListOfDocumentSymbols()}},QU=YU,YU.PREFIX=`@`,YU.SCOPE_PREFIX=`:`,YU.PREFIX_BY_CATEGORY=`${YU.PREFIX}${YU.SCOPE_PREFIX}`,YU);$U=QU=XU([ZU(0,U),ZU(1,Qw)],$U);var eW=R(1401,`properties ({0})`),tW={5:R(1402,`methods ({0})`),11:R(1403,`functions ({0})`),8:R(1404,`constructors ({0})`),12:R(1405,`variables ({0})`),4:R(1406,`classes ({0})`),22:R(1407,`structs ({0})`),23:R(1408,`events ({0})`),24:R(1409,`operators ({0})`),10:R(1410,`interfaces ({0})`),2:R(1411,`namespaces ({0})`),3:R(1412,`packages ({0})`),25:R(1413,`type parameters ({0})`),1:R(1414,`modules ({0})`),6:R(1415,`properties ({0})`),9:R(1416,`enumerations ({0})`),21:R(1417,`enumeration members ({0})`),14:R(1418,`strings ({0})`),0:R(1419,`files ({0})`),17:R(1420,`arrays ({0})`),15:R(1421,`numbers ({0})`),16:R(1422,`booleans ({0})`),18:R(1423,`objects ({0})`),19:R(1424,`keys ({0})`),7:R(1425,`fields ({0})`),13:R(1426,`constants ({0})`)},nW,rW=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iW=function(e,t){return function(n,r){t(n,r,e)}},aW=class extends $U{constructor(e,t,n){super(t,n),this.editorService=e,this.onDidActiveTextEditorControlChange=qu.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};aW=rW([iW(0,Mi),iW(1,U),iW(2,Qw)],aW);var oW=class e extends A{constructor(){super({id:e.ID,label:Pu.quickOutlineActionLabel,alias:`Go to Symbol...`,precondition:I.hasDocumentSymbolProvider,kbOpts:{kbExpr:I.focus,primary:3117,weight:100},contextMenuOpts:{group:`navigation`,order:3}})}run(e){e.get(Bi).quickAccess.show($U.PREFIX,{itemActivation:bt.NONE})}};nW=oW,nW.ID=`editor.action.quickOutline`,T(oW),Jn.as(Cu.Quickaccess).registerQuickAccessProvider({ctor:aW,prefix:$U.PREFIX,helpEntries:[{description:Pu.quickOutlineActionLabel,prefix:$U.PREFIX,commandId:oW.ID},{description:Pu.quickOutlineByCategoryActionLabel,prefix:$U.PREFIX_BY_CATEGORY}]});function sW(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}var cW=class e{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){let n=this.computeEmbedding(e),r=new Map,i=[];for(let[e,a]of this.documents){if(t.isCancellationRequested)return[];for(let t of a.chunks){let a=this.computeSimilarityScore(t,n,r);a>0&&i.push({key:e,score:a})}}return i}static termFrequencies(t){return sW(e.splitTerms(t))}static*splitTerms(e){let t=e=>e.toLowerCase();for(let[n]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(n);let e=n.replace(/([a-z])([A-Z])/g,`$1 $2`).split(/\s+/g);if(e.length>1)for(let n of e)n.length>2&&/\p{Letter}{3,}/gu.test(n)&&(yield t(n))}}updateDocuments(t){for(let{key:e}of t)this.deleteDocument(e);for(let n of t){let t=[];for(let r of n.textChunks){let n=e.termFrequencies(r);for(let e of n.keys())this.chunkOccurrences.set(e,(this.chunkOccurrences.get(e)??0)+1);t.push({text:r,tf:n})}this.chunkCount+=t.length,this.documents.set(n.key,{chunks:t})}return this}deleteDocument(e){let t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(let e of t.chunks)for(let t of e.tf.keys()){let e=this.chunkOccurrences.get(t);if(typeof e==`number`){let n=e-1;n<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,n)}}}}computeSimilarityScore(e,t,n){let r=0;for(let[i,a]of Object.entries(t)){let t=e.tf.get(i);if(!t)continue;let o=n.get(i);typeof o!=`number`&&(o=this.computeIdf(i),n.set(i,o));let s=t*o;r+=s*a}return r}computeEmbedding(t){let n=e.termFrequencies(t);return this.computeTfidf(n)}computeIdf(e){let t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){let t=Object.create(null);for(let[n,r]of e){let e=this.computeIdf(n);e>0&&(t[n]=r*e)}return t}};function lW(e){let t=e.slice(0);t.sort((e,t)=>t.score-e.score);let n=t[0]?.score??0;if(n>0)for(let e of t)e.score/=n;return t}var uW;(function(e){e[e.NO_ACTION=0]=`NO_ACTION`,e[e.CLOSE_PICKER=1]=`CLOSE_PICKER`,e[e.REFRESH_PICKER=2]=`REFRESH_PICKER`,e[e.REMOVE_ITEM=3]=`REMOVE_ITEM`})(uW||={});function dW(e){let t=e;return Array.isArray(t.items)}function fW(e){let t=e;return!!t.picks&&t.additionalPicks instanceof Promise}var pW=class extends O{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,n){let r=new b;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let i,o=r.add(new Ne),s=async()=>{i?.dispose(!0),e.busy=!1;let r=o.value=new b;i=r.add(new Eu(t));let s=i.token,c=e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(c=c.trim());let l=this._getPicks(c,r,s,n),u=(t,n)=>{let r,i;if(dW(t)?(r=t.items,i=t.active):r=t,r.length===0){if(n)return!1;(c.length>0||e.hideInput)&&this.options?.noResultsPick&&(r=a(this.options.noResultsPick)?[this.options.noResultsPick(c)]:[this.options.noResultsPick])}return e.items=r,i&&(e.activeItems=[i]),!0},d=async t=>{let n=!1,r=!1;await Promise.all([(async()=>{typeof t.mergeDelay==`number`&&(await $o(t.mergeDelay),s.isCancellationRequested)||r||(n=u(t.picks,!0))})(),(async()=>{e.busy=!0;try{let r=await t.additionalPicks;if(s.isCancellationRequested)return;let i,a;dW(t.picks)?(i=t.picks.items,a=t.picks.active):i=t.picks;let o,c;if(dW(r)?(o=r.items,c=r.active):o=r,o.length>0||!n){let t;if(!a&&!c){let n=e.activeItems[0];n&&i.indexOf(n)!==-1&&(t=n)}u({items:[...i,...o],active:a||c||t})}}finally{s.isCancellationRequested||(e.busy=!1),r=!0}})()])};if(l!==null){if(fW(l))await d(l);else if(!(l instanceof Promise))u(l);else{e.busy=!0;try{let e=await l;if(s.isCancellationRequested)return;fW(e)?await d(e):u(e)}finally{s.isCancellationRequested||(e.busy=!1)}}}};r.add(e.onDidChangeValue(()=>s())),s(),r.add(e.onDidAccept(t=>{if(n?.handleAccept){t.inBackground||e.hide(),n.handleAccept?.(e.activeItems[0],t.inBackground);return}let[r]=e.selectedItems;if(typeof r?.accept==`function`){if(Cl(e.keyMods)&&r.attach){r.attach(e.keyMods,t);return}t.inBackground||e.hide(),r.accept(e.keyMods,t)}}));let c=async(n,r)=>{if(typeof r.trigger!=`function`)return;let i=r.buttons?.indexOf(n)??-1;if(i>=0){let n=r.trigger(i,e.keyMods),a=typeof n==`number`?n:await n;if(t.isCancellationRequested)return;switch(a){case uW.NO_ACTION:break;case uW.CLOSE_PICKER:e.hide();break;case uW.REFRESH_PICKER:s();break;case uW.REMOVE_ITEM:{let t=e.items.indexOf(r);if(t!==-1){let n=e.items.slice(),r=n.splice(t,1),i=e.activeItems.filter(e=>e!==r[0]),a=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=n,i&&(e.activeItems=i),e.keepScrollPosition=a}break}}}};return r.add(e.onDidTriggerItemButton(({button:e,item:t})=>c(e,t))),r.add(e.onDidTriggerSeparatorButton(({button:e,separator:t})=>c(e,t))),r}},mW,hW,gW=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_W=function(e,t){return function(n,r){t(n,r,e)}},vW,yW,bW=(mW=class extends pW{constructor(e,t,n,r,i,a){super(vW.PREFIX,e),this.keybindingService=n,this.commandService=r,this.telemetryService=i,this.dialogService=a,this.commandsHistory=this._register(t.createInstance(xW)),this.options=e}async _getPicks(e,t,n,r){let i=await this.getCommandPicks(n);if(n.isCancellationRequested)return[];let a=sr(()=>{let t=new cW;return t.updateDocuments(i.map(e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]}))),lW(t.calculateScores(e,n)).filter(e=>e.score>vW.TFIDF_THRESHOLD).slice(0,vW.TFIDF_MAX_RESULTS)}),o=[];for(let t of i){let r=vW.WORD_FILTER(e,t.label)??void 0,i;if(t.commandAlias&&(i=vW.WORD_FILTER(e,t.commandAlias)??void 0),r||i)t.highlights={label:r,detail:this.options.showAlias?i:void 0},o.push(t);else if(e===t.commandId)o.push(t);else if(e.length>=3){let e=a();if(n.isCancellationRequested)return[];let r=e.find(e=>e.key===t.commandId);r&&(t.tfIdfScore=r.score,o.push(t))}}let s=new Map;for(let e of o){let t=s.get(e.label);t?(e.description=e.commandId,t.description=t.commandId):s.set(e.label,e)}o.sort((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;let n=this.commandsHistory.peek(e.commandId),r=this.commandsHistory.peek(t.commandId);if(n&&r)return n>r?-1:1;if(n)return-1;if(r)return 1;if(this.options.suggestedCommandIds){let n=this.options.suggestedCommandIds.has(e.commandId),r=this.options.suggestedCommandIds.has(t.commandId);if(n&&r)return 0;if(n)return-1;if(r)return 1}let i=e.commandCategory===VB.Developer.value,a=t.commandCategory===VB.Developer.value;return i&&!a?1:!i&&a?-1:e.label.localeCompare(t.label)});let c=[],l=!1,u=!0,d=!!this.options.suggestedCommandIds;for(let e=0;e<o.length;e++){let t=o[e],n=!!this.commandsHistory.peek(t.commandId);e===0&&n&&(c.push({type:`separator`,label:R(1803,`recently used`)}),l=!0),u&&t.tfIdfScore!==void 0&&(c.push({type:`separator`,label:R(1804,`similar commands`)}),u=!1),d&&t.tfIdfScore===void 0&&!n&&this.options.suggestedCommandIds?.has(t.commandId)&&(c.push({type:`separator`,label:R(1805,`commonly used`)}),l=!0,d=!1),l&&t.tfIdfScore===void 0&&!n&&!this.options.suggestedCommandIds?.has(t.commandId)&&(c.push({type:`separator`,label:R(1806,`other commands`)}),l=!1),c.push(this.toCommandPick(t,r,n))}return this.hasAdditionalCommandPicks(e,n)?{picks:c,additionalPicks:(async()=>{let t=await this.getAdditionalCommandPicks(i,o,e,n);if(n.isCancellationRequested)return[];let a=t.map(e=>this.toCommandPick(e,r));return u&&a[0]?.type!==`separator`&&a.unshift({type:`separator`,label:R(1807,`similar commands`)}),a})()}:c}toCommandPick(e,t,n=!1){if(e.type===`separator`)return e;let r=e.tooltip??e.commandDescription?.value,i=this.keybindingService.lookupKeybinding(e.commandId),a=i?R(1808,`{0}, {1}`,e.label,i.getAriaLabel()):e.label,o=e.buttons||[],s=n?[...o,{iconClass:tt.asClassName(w.close),tooltip:R(1809,`Remove from Recently Used`)}]:e.buttons;return{...e,tooltip:r,ariaLabel:a,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,buttons:s,accept:async()=>{this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2(`workbenchActionExecuted`,{id:e.commandId,from:t?.from??`quick open`});try{e.args?.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(t){Vo(t)||this.dialogService.error(R(1810,`Command '{0}' resulted in an error`,e.label),tp(t))}},trigger:n?(t,n)=>t===o.length?(this.commandsHistory.remove(e.commandId),uW.REMOVE_ITEM):e.trigger?e.trigger(t,n):uW.NO_ACTION:e.trigger}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:n}){let r=e;return t&&t!==e&&(r+=` - ${t}`),n&&n.value!==e&&(r+=` - ${n.value===n.original?n.value:`${n.value} (${n.original})`}`),r}},vW=mW,mW.PREFIX=`>`,mW.TFIDF_THRESHOLD=.5,mW.TFIDF_MAX_RESULTS=5,mW.WORD_FILTER=Pl(No,Lc),mW);bW=vW=gW([_W(1,x),_W(2,Ir),_W(3,or),_W(4,Tu),_W(5,Ae)],bW);var xW=(hW=class extends O{constructor(e,t,n){super(),this.storageService=e,this.configurationService=t,this.logService=n,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===wc.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration(`workbench.commandPalette.history`)||(this.configuredCommandsHistoryLength=yW.getConfiguredCommandHistoryLength(this.configurationService),yW.cache&&yW.cache.limit!==this.configuredCommandsHistoryLength&&(yW.cache.limit=this.configuredCommandsHistoryLength,yW.hasChanges=!0))}load(){let e=this.storageService.get(yW.PREF_KEY_CACHE,0),t;if(e)try{t=JSON.parse(e)}catch(e){this.logService.error(`[CommandsHistory] invalid data: ${e}`)}let n=yW.cache=new Qo(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort((e,t)=>e.value-t.value),e.forEach(e=>n.set(e.key,e.value))}yW.counter=this.storageService.getNumber(yW.PREF_KEY_COUNTER,0,yW.counter)}push(e){yW.cache&&(yW.cache.set(e,yW.counter++),yW.hasChanges=!0)}peek(e){return yW.cache?.peek(e)}remove(e){yW.cache&&(yW.cache.delete(e),yW.hasChanges=!0)}saveState(){if(!yW.cache||!yW.hasChanges)return;let e={usesLRU:!0,entries:[]};yW.cache.forEach((t,n)=>e.entries.push({key:n,value:t})),this.storageService.store(yW.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(yW.PREF_KEY_COUNTER,yW.counter,0,0),yW.hasChanges=!1}static getConfiguredCommandHistoryLength(e){let t=e.getValue().workbench?.commandPalette?.history;return typeof t==`number`?t:yW.DEFAULT_COMMANDS_HISTORY_LENGTH}},yW=hW,hW.DEFAULT_COMMANDS_HISTORY_LENGTH=50,hW.PREF_KEY_CACHE=`commandPalette.mru.cache`,hW.PREF_KEY_COUNTER=`commandPalette.mru.counter`,hW.counter=1,hW.hasChanges=!1,hW);xW=yW=gW([_W(0,sl),_W(1,Ea),_W(2,$l)],xW);var SW=class extends bW{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a)}getCodeEditorCommandPicks(){let e=this.activeTextEditorControl;if(!e)return[];let t=[];for(let n of e.getSupportedActions()){let e;n.metadata?.description&&(e=gs(n.metadata.description)?n.metadata.description:{original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:e,label:yl(n.label)||n.id})}return t}},CW,wW=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},TW=function(e,t){return function(n,r){t(n,r,e)}},EW=class extends SW{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,n,r,i,a){super({showAlias:!1},e,n,r,i,a),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};EW=wW([TW(0,x),TW(1,Mi),TW(2,Ir),TW(3,or),TW(4,Tu),TW(5,Ae)],EW);var DW=class e extends A{constructor(){super({id:e.ID,label:Br.quickCommandActionLabel,alias:`Command Palette`,precondition:void 0,kbOpts:{kbExpr:I.focus,primary:59,weight:100},contextMenuOpts:{group:`z_commands`,order:1}})}run(e){e.get(Bi).quickAccess.show(EW.PREFIX)}};CW=DW,CW.ID=`editor.action.quickCommand`,T(DW),Jn.as(Cu.Quickaccess).registerQuickAccessProvider({ctor:EW,prefix:EW.PREFIX,helpEntries:[{description:Br.quickCommandHelp,commandId:DW.ID}]});var OW=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kW=function(e,t){return function(n,r){t(n,r,e)}},AW=class extends bb{constructor(e,t,n,r,i,a,o){super(!0,e,t,n,r,i,a,o)}};AW=OW([kW(1,Ls),kW(2,Mi),kW(3,gi),kW(4,x),kW(5,sl),kW(6,Ea)],AW),M(bb.ID,AW,4),T(class extends A{constructor(){super({id:`editor.action.toggleHighContrast`,label:Qr.toggleHighContrast,alias:`Toggle High Contrast Theme`,precondition:void 0}),this._originalThemeName=null}run(e,t){let n=e.get(nd),r=n.getColorTheme();ti(r.type)?(n.setTheme(this._originalThemeName||(Ru(r.type)?`vs-dark`:`vs`)),this._originalThemeName=null):(n.setTheme(Ru(r.type)?ls:Xo),this._originalThemeName=r.themeName)}});var jW=e({MonacoLspClient:()=>Mq,WebSocketTransport:()=>Iq,createTransportToIFrame:()=>zq,createTransportToWorker:()=>Rq}),MW=Object.defineProperty,NW=(e,t,n)=>t in e?MW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,X=(e,t,n)=>NW(e,typeof t==`symbol`?t:t+``,n),PW,FW,IW,LW,RW;function zW(e){return e.method!==void 0}var BW;(function(e){function t(e){return e}e.create=t})(BW||={});var VW;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(e){return-32099<=e&&e<=-32e3}e.isServerError=t;function n(e){if(!t(e))throw Error(`Invalid range for a server error.`);return e}e.serverError=n,e.unexpectedServerError=-32e3;function r(e){return!0}e.isApplicationError=r;function i(e){return e}e.applicationError=i,e.genericApplicationError=-320100})(VW||={});var HW=class{constructor(){X(this,`listeners`,new Set),X(this,`event`,e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}}))}fire(e){this.listeners.forEach(t=>t(e))}},UW=class{constructor(e){X(this,`_value`),X(this,`eventEmitter`),this._value=e,this.eventEmitter=new HW}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function WW(e,t){let n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function GW(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var KW=class{constructor(){X(this,`_state`,`none`),X(this,`promise`),X(this,`resolve`,()=>{}),X(this,`reject`,()=>{}),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},qW=(PW=class{constructor(){X(this,`_unprocessedMessages`,[]),X(this,`_messageListener`),X(this,`id`,PW.id++),X(this,`_state`,new UW({state:`open`})),X(this,`state`,this._state)}setListener(e){if(this._messageListener=e,e)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){let e=this._unprocessedMessages.shift();this._messageListener(e)}}send(e){return this._sendImpl(e)}_dispatchReceivedMessage(e){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(e):this._unprocessedMessages.push(e)}_onConnectionClosed(){this._state.value={state:`closed`,error:void 0}}log(e){return new JW(this,e??new YW)}},X(PW,`id`,0),PW),JW=class{constructor(e,t){X(this,`baseStream`),X(this,`logger`),this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,`incoming`,t),e(t)})}send(e){return this.logger.log(this.baseStream,`outgoing`,e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},YW=class{log(e,t,n){console.log(`${t===`incoming`?`<-`:`->`} [${e.toString()}] ${JSON.stringify(n)}`)}},XW=class e{constructor(e){X(this,`connect`),this.connect=e}mapContext(t){return new e(e=>this.connect(e?ZW(e,t):void 0))}};function ZW(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var QW=class e{constructor(e,t,n){X(this,`_stream`),X(this,`_listener`),X(this,`_logger`),X(this,`_unprocessedResponses`,new Map),X(this,`_lastUsedRequestId`,0),this._stream=e,this._listener=t,this._logger=n,this._stream.setListener(e=>{zW(e)?e.id===void 0?this._processNotification(e):this._processRequest(e):this._processResponse(e)})}static createChannel(t,n){let r=!1;return new XW(i=>{if(r)throw Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new e(t,i,n)})}get state(){return this._stream.state}async _processNotification(e){if(e.id!==void 0)throw Error();if(!this._listener){this._logger&&this._logger.debug({text:`Notification ignored`,message:e});return}try{await this._listener.handleNotification({method:e.method,params:e.params||null})}catch(t){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${t}`,exception:t,message:e})}}async _processRequest(e){if(e.id===void 0)throw Error();let t;if(this._listener)try{t=await this._listener.handleRequest({method:e.method,params:e.params||null},e.id)}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${n}`,message:e,exception:n}),t={error:{code:VW.internalError,message:`An unexpected exception was thrown.`,data:void 0}}}else this._logger&&this._logger.debug({text:`Received request even though not listening for requests`,message:e}),t={error:{code:VW.methodNotFound,message:`This endpoint does not listen for requests or notifications.`,data:void 0}};let n;n=`result`in t?{jsonrpc:`2.0`,id:e.id,result:t.result}:{jsonrpc:`2.0`,id:e.id,error:t.error},await this._stream.send(n)}_processResponse(e){let t=``+e.id,n=this._unprocessedResponses.get(t);if(!n){this._logger&&this._logger.debug({text:`Got an unexpected response message`,message:e});return}this._unprocessedResponses.delete(t),n(e)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(e,t,n){let r={jsonrpc:`2.0`,id:this._newRequestId(),method:e.method,params:e.params||void 0};return n&&n(r.id),new Promise((e,t)=>{let n=``+r.id;this._unprocessedResponses.set(n,n=>{`result`in n?e({result:n.result}):(n.error||t(Error(`Response had neither 'result' nor 'error' field set.`)),e({error:n.error}))}),this._stream.send(r).then(void 0,e=>{this._unprocessedResponses.delete(n),t(e)})})}sendNotification(e,t){let n={jsonrpc:`2.0`,id:void 0,method:e.method,params:e.params||void 0};return this._stream.send(n)}toString(){return`StreamChannel/`+this._stream.toString()}},$W;(function(e){function t(){return{deserializeFromJson:e=>({hasErrors:!1,value:e}),serializeToJson:e=>e}}e.sAny=t;function n(){return{deserializeFromJson:e=>({hasErrors:!1,value:{}}),serializeToJson:e=>({})}}e.sEmptyObject=n;function r(){return{deserializeFromJson:e=>({hasErrors:!1,value:void 0}),serializeToJson:e=>null}}e.sVoidFromNull=r})($W||={});var eG=Symbol(`OptionalMethodNotFound`),tG=class{contextualize(e){return new nG(this,e)}},nG=class extends tG{constructor(e,t){super(),X(this,`underylingTypedChannel`),X(this,`converters`),this.underylingTypedChannel=e,this.converters=t}async request(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.request(e,t,r)}async notify(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.notify(e,t,r)}registerNotificationHandler(e,t){return this.underylingTypedChannel.registerNotificationHandler(e,async(e,n)=>await t(e,await this.converters.getNewContext(n)))}registerRequestHandler(e,t){return this.underylingTypedChannel.registerRequestHandler(e,async(e,n,r)=>await t(e,n,await this.converters.getNewContext(r)))}},rG=class e extends tG{constructor(e,t={}){super(),X(this,`channelCtor`),X(this,`_requestSender`),X(this,`_handler`,new Map),X(this,`_unknownNotificationHandler`,new Set),X(this,`_timeout`),X(this,`sendExceptionDetails`,!1),X(this,`_logger`),X(this,`listeningDeferred`,new KW),X(this,`onListening`,this.listeningDeferred.promise),X(this,`_requestDidErrorEventEmitter`,new HW),X(this,`onRequestDidError`,this._requestDidErrorEventEmitter.event),this.channelCtor=e,this._logger=t.logger,this.sendExceptionDetails=!!t.sendExceptionDetails,this._timeout=WW(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(t,n={}){return new e(QW.createChannel(t,n.logger),n)}startListen(){if(this._requestSender)throw Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&=(this._timeout.dispose(),void 0),this._requestSender=this.channelCtor.connect({handleRequest:(e,t,n)=>this.handleRequest(e,t,n),handleNotification:(e,t)=>this.handleNotification(e,t)}),this.listeningDeferred.resolve()}checkChannel(e){if(!e)throw Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(e,t,n){let r=this._handler.get(e.method);if(!r)return this._logger&&this._logger.debug({text:`No request handler for "${e.method}".`,data:{requestObject:e}}),{error:{code:VW.methodNotFound,message:`No request handler for "${e.method}".`,data:{method:e.method}}};if(r.kind!=`request`){let t=`"${e.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e}}),{error:{code:VW.invalidRequest,message:t,data:{method:e.method}}}}let i=r.requestType.paramsSerializer.deserializeFromJson(e.params);if(i.hasErrors){let t=`Got invalid params: ${i.errorMessage}`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e,errorMessage:i.errorMessage}}),{error:{code:VW.invalidParams,message:t,data:{errors:i.errorMessage}}}}{let a=i.value,o;try{let e=await r.handler(a,t,n);if(`error`in e||`errorMessage`in e){let t=e.error?r.requestType.errorSerializer.serializeToJson(e.error):void 0;o={error:{code:e.errorCode||VW.genericApplicationError,message:e.errorMessage||`An error was returned`,data:t}}}else o={result:r.requestType.resultSerializer.serializeToJson(e.ok)}}catch(t){t instanceof aG?o={error:{code:t.code,message:t.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${t}.`,exception:t,data:{requestObject:e}}),o={error:{code:VW.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${t}.`:`Server has thrown an unexpected exception`}})}return o}}async handleNotification(e,t){let n=this._handler.get(e.method);if(!n){for(let t of this._unknownNotificationHandler)t(e);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${e.method}"`,data:{requestObject:e}});return}if(n.kind!=`notification`){this._logger&&this._logger.debug({text:`"${e.method}" is registered as request, but was sent as notification.`,data:{requestObject:e}});return}let r=n.notificationType.paramsSerializer.deserializeFromJson(e.params);if(r.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${r}`,data:{requestObject:e,errorMessage:r.errorMessage}});return}let i=r.value;for(let r of n.handlers)try{r(i,t)}catch(t){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${t}.`,exception:t,data:{requestObject:e}})}}registerUnknownNotificationHandler(e){return GW(this._unknownNotificationHandler,e)}registerRequestHandler(e,t){if(this._handler.get(e.method))throw Error(`Handler with method "${e.method}" already registered.`);return GW(this._handler,e.method,{kind:`request`,requestType:e,handler:t})}registerNotificationHandler(e,t){let n=this._handler.get(e.method);if(!n)n={kind:`notification`,notificationType:e,handlers:new Set},this._handler.set(e.method,n);else{if(n.kind!==`notification`)throw Error(`Method "${e.method}" was already registered as request handler.`);if(n.notificationType!==e)throw Error(`Method "${e.method}" was registered for a different type.`)}return GW(n.handlers,t)}getRegisteredTypes(){let e=[];for(let t of this._handler.values())t.kind===`notification`?e.push(t.notificationType):t.kind===`request`&&e.push(t.requestType);return e}async request(e,t,n){if(!this.checkChannel(this._requestSender))throw Error(`Impossible`);let r=e.paramsSerializer.serializeToJson(t);iG(r);let i=await this._requestSender.sendRequest({method:e.method,params:r},n);if(`error`in i){if(e.isOptional&&i.error.code===VW.methodNotFound)return eG;let t;if(i.error.data!==void 0){let n=e.errorSerializer.deserializeFromJson(i.error.data);if(n.hasErrors)throw Error(n.errorMessage);t=n.value}else t=void 0;let n=new aG(i.error.message,t,i.error.code);throw this._requestDidErrorEventEmitter.fire({error:n}),n}{let t=e.resultSerializer.deserializeFromJson(i.result);if(t.hasErrors)throw Error(`Could not deserialize response: `+t.errorMessage+`
|
|
53
|
-
|
|
54
|
-
${JSON.stringify(i,null,2)}`);return t.value}}async notify(e,t,n){if(!this.checkChannel(this._requestSender))throw Error();let r=e.paramsSerializer.serializeToJson(t);iG(r),this._requestSender.sendNotification({method:e.method,params:r},n)}};function iG(e){if(e!==null&&Array.isArray(e)&&typeof e!=`object`)throw Error(`Invalid value! Only null, array and object is allowed.`)}var aG=class e extends Error{constructor(t,n,r=VW.genericApplicationError){super(t),X(this,`data`),X(this,`code`),this.data=n,this.code=r,Object.setPrototypeOf(this,e.prototype)}},oG=class e{constructor(e,t,n,r,i=!1){X(this,`method`),X(this,`paramsSerializer`),X(this,`resultSerializer`),X(this,`errorSerializer`),X(this,`isOptional`),X(this,`kind`,`request`),this.method=e,this.paramsSerializer=t,this.resultSerializer=n,this.errorSerializer=r,this.isOptional=i}withMethod(t){return new e(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new e(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},sG=class e{constructor(e,t){X(this,`method`),X(this,`paramsSerializer`),X(this,`kind`,`notification`),this.method=e,this.paramsSerializer=t}withMethod(t){return new e(t,this.paramsSerializer)}};function Z(e){return new oG((e||{}).method,$W.sAny(),$W.sAny(),$W.sAny())}function cG(e){return new sG((e||{}).method,$W.sAny())}var lG=(FW=Symbol(),IW=class{constructor(e){X(this,`error`),X(this,FW),this.error=e}},X(IW,`factory`,e=>new IW(e)),IW);function uG(e){let t=dG(e.server),n=dG(e.client);return new fG(e.tags||[],t,n)}function dG(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.method?r.method:n;t[n]=r.withMethod(e)}return t}var fG=class e{constructor(e=[],t,n){X(this,`tags`),X(this,`server`),X(this,`client`),this.tags=e,this.server=t,this.client=n}_onlyDesignTime(){return Error(`This property is not meant to be accessed at runtime`)}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}getInterface(e,t,n,r){let i=this.buildCounterpart(e,n),a=this.registerHandlers(e,t,r,i);return{counterpart:i,dispose:()=>a.dispose()}}buildCounterpart(e,t){let n={};for(let[r,i]of Object.entries(t)){let t;t=i.kind===`request`?i.isOptional?async(t,n)=>{t===void 0&&(t={});try{return await e.request(i,t,n)}catch(e){if(e&&e.code===VW.methodNotFound)return eG;throw e}}:(t,n)=>(t===void 0&&(t={}),e.request(i,t,n)):(t,n)=>(t===void 0&&(t={}),e.notify(i,t,n)),n[r]=t}return n}registerHandlers(e,t,n,r){let i=[];for(let[a,o]of Object.entries(t))if(o.kind===`request`){let t=n[a];if(!t)continue;let s=this.createRequestHandler(r,t);i.push(e.registerRequestHandler(o,s))}else{let t=n[a];t&&i.push(e.registerNotificationHandler(o,(e,n)=>{t(e,{context:n,counterpart:r})}))}return{dispose:()=>i.forEach(e=>e.dispose())}}createRequestHandler(e,t){return async(n,r,i)=>{let a=await t(n,{context:i,counterpart:e,newErr:lG.factory,requestId:r});return a instanceof lG?a.error:{ok:a}}}static getServerFromStream(e,t,n,r){let i=rG.fromTransport(t,n),{server:a}=e.getServer(i,r);return i.startListen(),{channel:i,server:a}}static registerServerToStream(e,t,n,r){let i=rG.fromTransport(t,n),{client:a}=e.registerServer(i,r);return i.startListen(),{channel:i,client:a}}getServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.client,this.server,t);return{server:n,dispose:r}}registerServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.server,this.client,t);return{client:n,dispose:r}}withContext(){return new e(this.tags,this.server,this.client)}},pG=(function(e){return e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`,e})({}),mG=(function(e){return e[e.File=1]=`File`,e[e.Module=2]=`Module`,e[e.Namespace=3]=`Namespace`,e[e.Package=4]=`Package`,e[e.Class=5]=`Class`,e[e.Method=6]=`Method`,e[e.Property=7]=`Property`,e[e.Field=8]=`Field`,e[e.Constructor=9]=`Constructor`,e[e.Enum=10]=`Enum`,e[e.Interface=11]=`Interface`,e[e.Function=12]=`Function`,e[e.Variable=13]=`Variable`,e[e.Constant=14]=`Constant`,e[e.String=15]=`String`,e[e.Number=16]=`Number`,e[e.Boolean=17]=`Boolean`,e[e.Array=18]=`Array`,e[e.Object=19]=`Object`,e[e.Key=20]=`Key`,e[e.Null=21]=`Null`,e[e.EnumMember=22]=`EnumMember`,e[e.Struct=23]=`Struct`,e[e.Event=24]=`Event`,e[e.Operator=25]=`Operator`,e[e.TypeParameter=26]=`TypeParameter`,e})({}),hG=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),gG=(function(e){return e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`,e})({}),_G=(function(e){return e[e.None=0]=`None`,e[e.Full=1]=`Full`,e[e.Incremental=2]=`Incremental`,e})({}),vG=(function(e){return e[e.Text=1]=`Text`,e[e.Method=2]=`Method`,e[e.Function=3]=`Function`,e[e.Constructor=4]=`Constructor`,e[e.Field=5]=`Field`,e[e.Variable=6]=`Variable`,e[e.Class=7]=`Class`,e[e.Interface=8]=`Interface`,e[e.Module=9]=`Module`,e[e.Property=10]=`Property`,e[e.Unit=11]=`Unit`,e[e.Value=12]=`Value`,e[e.Enum=13]=`Enum`,e[e.Keyword=14]=`Keyword`,e[e.Snippet=15]=`Snippet`,e[e.Color=16]=`Color`,e[e.File=17]=`File`,e[e.Reference=18]=`Reference`,e[e.Folder=19]=`Folder`,e[e.EnumMember=20]=`EnumMember`,e[e.Constant=21]=`Constant`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`,e})({}),yG=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),bG=(function(e){return e[e.PlainText=1]=`PlainText`,e[e.Snippet=2]=`Snippet`,e})({}),xG=(function(e){return e[e.Text=1]=`Text`,e[e.Read=2]=`Read`,e[e.Write=3]=`Write`,e})({}),SG=(function(e){return e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`,e})({}),CG=(function(e){return e.PlainText=`plaintext`,e.Markdown=`markdown`,e})({}),wG=(function(e){return e[e.Error=1]=`Error`,e[e.Warning=2]=`Warning`,e[e.Information=3]=`Information`,e[e.Hint=4]=`Hint`,e})({}),TG=(function(e){return e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`,e})({}),EG=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=3]=`TriggerForIncompleteCompletions`,e})({}),DG=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`,e})({}),OG=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.Automatic=2]=`Automatic`,e})({}),kG=(function(e){return e.Relative=`relative`,e})({}),AG=class{constructor(e){this.method=e}},Q={textDocumentImplementation:new AG(`textDocument/implementation`),textDocumentTypeDefinition:new AG(`textDocument/typeDefinition`),textDocumentDocumentColor:new AG(`textDocument/documentColor`),textDocumentColorPresentation:new AG(`textDocument/colorPresentation`),textDocumentFoldingRange:new AG(`textDocument/foldingRange`),textDocumentDeclaration:new AG(`textDocument/declaration`),textDocumentSelectionRange:new AG(`textDocument/selectionRange`),textDocumentPrepareCallHierarchy:new AG(`textDocument/prepareCallHierarchy`),textDocumentSemanticTokensFull:new AG(`textDocument/semanticTokens/full`),textDocumentSemanticTokensFullDelta:new AG(`textDocument/semanticTokens/full/delta`),textDocumentLinkedEditingRange:new AG(`textDocument/linkedEditingRange`),workspaceWillCreateFiles:new AG(`workspace/willCreateFiles`),workspaceWillRenameFiles:new AG(`workspace/willRenameFiles`),workspaceWillDeleteFiles:new AG(`workspace/willDeleteFiles`),textDocumentMoniker:new AG(`textDocument/moniker`),textDocumentPrepareTypeHierarchy:new AG(`textDocument/prepareTypeHierarchy`),textDocumentInlineValue:new AG(`textDocument/inlineValue`),textDocumentInlayHint:new AG(`textDocument/inlayHint`),textDocumentDiagnostic:new AG(`textDocument/diagnostic`),textDocumentInlineCompletion:new AG(`textDocument/inlineCompletion`),textDocumentWillSaveWaitUntil:new AG(`textDocument/willSaveWaitUntil`),textDocumentCompletion:new AG(`textDocument/completion`),textDocumentHover:new AG(`textDocument/hover`),textDocumentSignatureHelp:new AG(`textDocument/signatureHelp`),textDocumentDefinition:new AG(`textDocument/definition`),textDocumentReferences:new AG(`textDocument/references`),textDocumentDocumentHighlight:new AG(`textDocument/documentHighlight`),textDocumentDocumentSymbol:new AG(`textDocument/documentSymbol`),textDocumentCodeAction:new AG(`textDocument/codeAction`),workspaceSymbol:new AG(`workspace/symbol`),textDocumentCodeLens:new AG(`textDocument/codeLens`),textDocumentDocumentLink:new AG(`textDocument/documentLink`),textDocumentFormatting:new AG(`textDocument/formatting`),textDocumentRangeFormatting:new AG(`textDocument/rangeFormatting`),textDocumentRangesFormatting:new AG(`textDocument/rangesFormatting`),textDocumentOnTypeFormatting:new AG(`textDocument/onTypeFormatting`),textDocumentRename:new AG(`textDocument/rename`),workspaceExecuteCommand:new AG(`workspace/executeCommand`),workspaceDidCreateFiles:new AG(`workspace/didCreateFiles`),workspaceDidRenameFiles:new AG(`workspace/didRenameFiles`),workspaceDidDeleteFiles:new AG(`workspace/didDeleteFiles`),workspaceDidChangeConfiguration:new AG(`workspace/didChangeConfiguration`),textDocumentDidOpen:new AG(`textDocument/didOpen`),textDocumentDidChange:new AG(`textDocument/didChange`),textDocumentDidClose:new AG(`textDocument/didClose`),textDocumentDidSave:new AG(`textDocument/didSave`),textDocumentWillSave:new AG(`textDocument/willSave`),workspaceDidChangeWatchedFiles:new AG(`workspace/didChangeWatchedFiles`)},jG=uG({server:{textDocumentImplementation:Z({method:`textDocument/implementation`}),textDocumentTypeDefinition:Z({method:`textDocument/typeDefinition`}),textDocumentDocumentColor:Z({method:`textDocument/documentColor`}),textDocumentColorPresentation:Z({method:`textDocument/colorPresentation`}),textDocumentFoldingRange:Z({method:`textDocument/foldingRange`}),textDocumentDeclaration:Z({method:`textDocument/declaration`}),textDocumentSelectionRange:Z({method:`textDocument/selectionRange`}),textDocumentPrepareCallHierarchy:Z({method:`textDocument/prepareCallHierarchy`}),callHierarchyIncomingCalls:Z({method:`callHierarchy/incomingCalls`}),callHierarchyOutgoingCalls:Z({method:`callHierarchy/outgoingCalls`}),textDocumentSemanticTokensFull:Z({method:`textDocument/semanticTokens/full`}),textDocumentSemanticTokensFullDelta:Z({method:`textDocument/semanticTokens/full/delta`}),textDocumentSemanticTokensRange:Z({method:`textDocument/semanticTokens/range`}),textDocumentLinkedEditingRange:Z({method:`textDocument/linkedEditingRange`}),workspaceWillCreateFiles:Z({method:`workspace/willCreateFiles`}),workspaceWillRenameFiles:Z({method:`workspace/willRenameFiles`}),workspaceWillDeleteFiles:Z({method:`workspace/willDeleteFiles`}),textDocumentMoniker:Z({method:`textDocument/moniker`}),textDocumentPrepareTypeHierarchy:Z({method:`textDocument/prepareTypeHierarchy`}),typeHierarchySupertypes:Z({method:`typeHierarchy/supertypes`}),typeHierarchySubtypes:Z({method:`typeHierarchy/subtypes`}),textDocumentInlineValue:Z({method:`textDocument/inlineValue`}),textDocumentInlayHint:Z({method:`textDocument/inlayHint`}),inlayHintResolve:Z({method:`inlayHint/resolve`}),textDocumentDiagnostic:Z({method:`textDocument/diagnostic`}),workspaceDiagnostic:Z({method:`workspace/diagnostic`}),textDocumentInlineCompletion:Z({method:`textDocument/inlineCompletion`}),initialize:Z({method:`initialize`}),shutdown:Z({method:`shutdown`}),textDocumentWillSaveWaitUntil:Z({method:`textDocument/willSaveWaitUntil`}),textDocumentCompletion:Z({method:`textDocument/completion`}),completionItemResolve:Z({method:`completionItem/resolve`}),textDocumentHover:Z({method:`textDocument/hover`}),textDocumentSignatureHelp:Z({method:`textDocument/signatureHelp`}),textDocumentDefinition:Z({method:`textDocument/definition`}),textDocumentReferences:Z({method:`textDocument/references`}),textDocumentDocumentHighlight:Z({method:`textDocument/documentHighlight`}),textDocumentDocumentSymbol:Z({method:`textDocument/documentSymbol`}),textDocumentCodeAction:Z({method:`textDocument/codeAction`}),codeActionResolve:Z({method:`codeAction/resolve`}),workspaceSymbol:Z({method:`workspace/symbol`}),workspaceSymbolResolve:Z({method:`workspaceSymbol/resolve`}),textDocumentCodeLens:Z({method:`textDocument/codeLens`}),codeLensResolve:Z({method:`codeLens/resolve`}),textDocumentDocumentLink:Z({method:`textDocument/documentLink`}),documentLinkResolve:Z({method:`documentLink/resolve`}),textDocumentFormatting:Z({method:`textDocument/formatting`}),textDocumentRangeFormatting:Z({method:`textDocument/rangeFormatting`}),textDocumentRangesFormatting:Z({method:`textDocument/rangesFormatting`}),textDocumentOnTypeFormatting:Z({method:`textDocument/onTypeFormatting`}),textDocumentRename:Z({method:`textDocument/rename`}),textDocumentPrepareRename:Z({method:`textDocument/prepareRename`}),workspaceExecuteCommand:Z({method:`workspace/executeCommand`}),workspaceDidChangeWorkspaceFolders:cG({method:`workspace/didChangeWorkspaceFolders`}),windowWorkDoneProgressCancel:cG({method:`window/workDoneProgress/cancel`}),workspaceDidCreateFiles:cG({method:`workspace/didCreateFiles`}),workspaceDidRenameFiles:cG({method:`workspace/didRenameFiles`}),workspaceDidDeleteFiles:cG({method:`workspace/didDeleteFiles`}),notebookDocumentDidOpen:cG({method:`notebookDocument/didOpen`}),notebookDocumentDidChange:cG({method:`notebookDocument/didChange`}),notebookDocumentDidSave:cG({method:`notebookDocument/didSave`}),notebookDocumentDidClose:cG({method:`notebookDocument/didClose`}),initialized:cG({method:`initialized`}),exit:cG({method:`exit`}),workspaceDidChangeConfiguration:cG({method:`workspace/didChangeConfiguration`}),textDocumentDidOpen:cG({method:`textDocument/didOpen`}),textDocumentDidChange:cG({method:`textDocument/didChange`}),textDocumentDidClose:cG({method:`textDocument/didClose`}),textDocumentDidSave:cG({method:`textDocument/didSave`}),textDocumentWillSave:cG({method:`textDocument/willSave`}),workspaceDidChangeWatchedFiles:cG({method:`workspace/didChangeWatchedFiles`}),setTrace:cG({method:`$/setTrace`}),cancelRequest:cG({method:`$/cancelRequest`}),progress:cG({method:`$/progress`})},client:{workspaceWorkspaceFolders:Z({method:`workspace/workspaceFolders`}).optional(),workspaceConfiguration:Z({method:`workspace/configuration`}).optional(),workspaceFoldingRangeRefresh:Z({method:`workspace/foldingRange/refresh`}).optional(),windowWorkDoneProgressCreate:Z({method:`window/workDoneProgress/create`}).optional(),workspaceSemanticTokensRefresh:Z({method:`workspace/semanticTokens/refresh`}).optional(),windowShowDocument:Z({method:`window/showDocument`}).optional(),workspaceInlineValueRefresh:Z({method:`workspace/inlineValue/refresh`}).optional(),workspaceInlayHintRefresh:Z({method:`workspace/inlayHint/refresh`}).optional(),workspaceDiagnosticRefresh:Z({method:`workspace/diagnostic/refresh`}).optional(),clientRegisterCapability:Z({method:`client/registerCapability`}).optional(),clientUnregisterCapability:Z({method:`client/unregisterCapability`}).optional(),windowShowMessageRequest:Z({method:`window/showMessageRequest`}).optional(),workspaceCodeLensRefresh:Z({method:`workspace/codeLens/refresh`}).optional(),workspaceApplyEdit:Z({method:`workspace/applyEdit`}).optional(),windowShowMessage:cG({method:`window/showMessage`}),windowLogMessage:cG({method:`window/logMessage`}),telemetryEvent:cG({method:`telemetry/event`}),textDocumentPublishDiagnostics:cG({method:`textDocument/publishDiagnostics`}),logTrace:cG({method:`$/logTrace`}),cancelRequest:cG({method:`$/cancelRequest`}),progress:cG({method:`$/progress`})}});function MG(e,t){if(e.textModel!==t)throw Error(`Expected text model to be ${t}, but got ${e.textModel}`);return e}var NG=(LW=class{constructor(){X(this,`_store`,new PG)}dispose(){this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}},X(LW,`None`,Object.freeze({dispose(){}})),LW),PG=(RW=class{constructor(){X(this,`_toDispose`,new Set),X(this,`_isDisposed`,!1)}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(let e of this._toDispose)e.dispose()}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._isDisposed?RW.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(e),e}},X(RW,`DISABLE_DISPOSED_WARNING`,!1),RW),FG=new Map([[SG.Empty,``],[SG.QuickFix,`quickfix`],[SG.Refactor,`refactor`],[SG.RefactorExtract,`refactor.extract`],[SG.RefactorInline,`refactor.inline`],[SG.RefactorRewrite,`refactor.rewrite`],[SG.Source,`source`],[SG.SourceOrganizeImports,`source.organizeImports`],[SG.SourceFixAll,`source.fixAll`]]);function IG(e){if(e)return FG.get(e)??e}var LG=new Map([[V.CodeActionTriggerType.Invoke,OG.Invoked],[V.CodeActionTriggerType.Auto,OG.Automatic]]);function RG(e){return LG.get(e)??OG.Invoked}var zG=new Map([[vG.Text,V.CompletionItemKind.Text],[vG.Method,V.CompletionItemKind.Method],[vG.Function,V.CompletionItemKind.Function],[vG.Constructor,V.CompletionItemKind.Constructor],[vG.Field,V.CompletionItemKind.Field],[vG.Variable,V.CompletionItemKind.Variable],[vG.Class,V.CompletionItemKind.Class],[vG.Interface,V.CompletionItemKind.Interface],[vG.Module,V.CompletionItemKind.Module],[vG.Property,V.CompletionItemKind.Property],[vG.Unit,V.CompletionItemKind.Unit],[vG.Value,V.CompletionItemKind.Value],[vG.Enum,V.CompletionItemKind.Enum],[vG.Keyword,V.CompletionItemKind.Keyword],[vG.Snippet,V.CompletionItemKind.Snippet],[vG.Color,V.CompletionItemKind.Color],[vG.File,V.CompletionItemKind.File],[vG.Reference,V.CompletionItemKind.Reference],[vG.Folder,V.CompletionItemKind.Folder],[vG.EnumMember,V.CompletionItemKind.EnumMember],[vG.Constant,V.CompletionItemKind.Constant],[vG.Struct,V.CompletionItemKind.Struct],[vG.Event,V.CompletionItemKind.Event],[vG.Operator,V.CompletionItemKind.Operator],[vG.TypeParameter,V.CompletionItemKind.TypeParameter]]);function BG(e){return e?zG.get(e)??V.CompletionItemKind.Text:V.CompletionItemKind.Text}var VG=new Map([[yG.Deprecated,V.CompletionItemTag.Deprecated]]);function HG(e){return VG.get(e)}var UG=new Map([[V.CompletionTriggerKind.Invoke,EG.Invoked],[V.CompletionTriggerKind.TriggerCharacter,EG.TriggerCharacter],[V.CompletionTriggerKind.TriggerForIncompleteCompletions,EG.TriggerForIncompleteCompletions]]);function WG(e){return UG.get(e)??EG.Invoked}var GG=new Map([[bG.Snippet,V.CompletionItemInsertTextRule.InsertAsSnippet]]);function KG(e){if(e)return GG.get(e)}var qG=new Map([[mG.File,V.SymbolKind.File],[mG.Module,V.SymbolKind.Module],[mG.Namespace,V.SymbolKind.Namespace],[mG.Package,V.SymbolKind.Package],[mG.Class,V.SymbolKind.Class],[mG.Method,V.SymbolKind.Method],[mG.Property,V.SymbolKind.Property],[mG.Field,V.SymbolKind.Field],[mG.Constructor,V.SymbolKind.Constructor],[mG.Enum,V.SymbolKind.Enum],[mG.Interface,V.SymbolKind.Interface],[mG.Function,V.SymbolKind.Function],[mG.Variable,V.SymbolKind.Variable],[mG.Constant,V.SymbolKind.Constant],[mG.String,V.SymbolKind.String],[mG.Number,V.SymbolKind.Number],[mG.Boolean,V.SymbolKind.Boolean],[mG.Array,V.SymbolKind.Array],[mG.Object,V.SymbolKind.Object],[mG.Key,V.SymbolKind.Key],[mG.Null,V.SymbolKind.Null],[mG.EnumMember,V.SymbolKind.EnumMember],[mG.Struct,V.SymbolKind.Struct],[mG.Event,V.SymbolKind.Event],[mG.Operator,V.SymbolKind.Operator],[mG.TypeParameter,V.SymbolKind.TypeParameter]]);function JG(e){return qG.get(e)??V.SymbolKind.File}var YG=new Map([[hG.Deprecated,V.SymbolTag.Deprecated]]);function XG(e){return YG.get(e)}var ZG=new Map([[xG.Text,V.DocumentHighlightKind.Text],[xG.Read,V.DocumentHighlightKind.Read],[xG.Write,V.DocumentHighlightKind.Write]]);function QG(e){return e?ZG.get(e)??V.DocumentHighlightKind.Text:V.DocumentHighlightKind.Text}var $G=new Map([[pG.Comment,V.FoldingRangeKind.Comment],[pG.Imports,V.FoldingRangeKind.Imports],[pG.Region,V.FoldingRangeKind.Region]]);function eK(e){if(e)return $G.get(e)}var tK=new Map([[ka.Error,wG.Error],[ka.Warning,wG.Warning],[ka.Info,wG.Information],[ka.Hint,wG.Hint]]);function nK(e){return tK.get(e)??wG.Error}var rK=new Map([[wG.Error,ka.Error],[wG.Warning,ka.Warning],[wG.Information,ka.Info],[wG.Hint,ka.Hint]]);function iK(e){return e?rK.get(e)??ka.Error:ka.Error}var aK=new Map([[TG.Unnecessary,Vc.Unnecessary],[TG.Deprecated,Vc.Deprecated]]);function oK(e){return aK.get(e)}var sK=new Map([[V.SignatureHelpTriggerKind.Invoke,DG.Invoked],[V.SignatureHelpTriggerKind.TriggerCharacter,DG.TriggerCharacter],[V.SignatureHelpTriggerKind.ContentChange,DG.ContentChange]]);function cK(e){return sK.get(e)??DG.Invoked}function lK(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}var uK=new Map([[gG.Type,V.InlayHintKind.Type],[gG.Parameter,V.InlayHintKind.Parameter]]);function dK(e){return e?uK.get(e)??V.InlayHintKind.Type:V.InlayHintKind.Type}function fK(e,t){if(`targetUri`in e){let n=t.bridge.translateBackRange({uri:e.targetUri},e.targetRange);return{uri:n.textModel.uri,range:n.range,originSelectionRange:e.originSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.originSelectionRange).range:void 0,targetSelectionRange:e.targetSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.targetSelectionRange).range:void 0}}{let n=t.bridge.translateBackRange({uri:e.uri},e.range);return{uri:n.textModel.uri,range:n.range}}}function pK(e){return!e||e.length===0?{language:`*`}:e.map(e=>`notebook`in e?typeof e.notebook==`string`?{notebookType:e.notebook,language:e.language}:{notebookType:e.notebook.notebookType,language:e.language,pattern:e.notebook.pattern,scheme:e.notebook.scheme}:{language:e.language,pattern:e.pattern,scheme:e.scheme})}function mK(e,t){if(!t)return!0;let n=e.getLanguageId();if(e.uri.toString(!0),!t||t.length===0)return!0;for(let e of t)if(!(e.language&&e.language!==`*`&&e.language!==n))return!0;return!1}function hK(e){let t={severity:iK(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,source:e.source,code:typeof e.code==`string`?e.code:e.code?.toString()};return e.tags&&(t.tags=e.tags.map(e=>oK(e)).filter(e=>e!==void 0)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(e=>({resource:Lo.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}))),t}var gK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(zG.keys())},completionItem:{tagSupport:{valueSet:Array.from(VG.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentCompletion,!0,e=>V.registerCompletionItemProvider(pK(e.documentSelector),new _K(this._connection,e))))}},_K=class{constructor(e,t){X(this,`resolveCompletionItem`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCompletionItem=async(e,t)=>(yK(e,await this._client.server.completionItemResolve(e._lspItem),this._client.bridge,e._translated,e._model),e))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentCompletion({textDocument:i.textDocument,position:i.position,context:n.triggerCharacter?{triggerKind:WG(n.triggerKind),triggerCharacter:n.triggerCharacter}:void 0});return a?{suggestions:(Array.isArray(a)?a:a.items).map(n=>({...vK(n,this._client.bridge,i,e,t),_lspItem:n,_translated:i,_model:e}))}:{suggestions:[]}}};function vK(e,t,n,r,i){let a=e.insertText||e.label,o;e.textEdit&&(`range`in e.textEdit?(a=e.textEdit.newText,o=MG(t.translateBackRange(n.textDocument,e.textEdit.range),r).range):(a=e.textEdit.newText,o={insert:MG(t.translateBackRange(n.textDocument,e.textEdit.insert),r).range,replace:MG(t.translateBackRange(n.textDocument,e.textEdit.replace),r).range})),o||=Qa.fromPositions(i,i);let s={label:e.label,kind:BG(e.kind),insertText:a,sortText:e.sortText,filterText:e.filterText,preselect:e.preselect,commitCharacters:e.commitCharacters,range:o};return yK(s,e,t,n,r),s}function yK(e,t,n,r,i){t.detail!==void 0&&(e.detail=t.detail),t.documentation!==void 0&&(e.documentation=bK(t.documentation)),t.insertTextFormat!==void 0&&(e.insertTextRules=KG(t.insertTextFormat)),t.tags&&t.tags.length>0&&(e.tags=t.tags.map(HG).filter(e=>e!==void 0)),t.additionalTextEdits&&t.additionalTextEdits.length>0&&(e.additionalTextEdits=t.additionalTextEdits.map(e=>({range:MG(n.translateBackRange(r.textDocument,e.range),i).range,text:e.newText}))),t.command&&(e.command=lK(t.command))}function bK(e){if(e)return typeof e==`string`?e:{value:e.value}}var xK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[CG.Markdown,CG.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentHover,!0,e=>V.registerHoverProvider(pK(e.documentSelector),new SK(this._connection,e))))}},SK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideHover(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentHover({textDocument:r.textDocument,position:r.position});return!i||!i.contents?null:{contents:CK(i.contents),range:i.range?this._client.bridge.translateBackRange(r.textDocument,i.range).range:void 0}}};function CK(e){return Array.isArray(e)?e.map(e=>wK(e)):[wK(e)]}function wK(e){return typeof e==`string`?{value:e}:`kind`in e?{value:e.value}:{value:`\`\`\`${e.language}
|
|
55
|
-
${e.value}
|
|
56
|
-
\`\`\``}}var TK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[CG.Markdown,CG.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentSignatureHelp,!0,e=>V.registerSignatureHelpProvider(pK(e.documentSelector),new EK(this._connection,e))))}},EK=class{constructor(e,t){X(this,`signatureHelpTriggerCharacters`),X(this,`signatureHelpRetriggerCharacters`),this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:cK(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return a?{value:{signatures:a.signatures.map(e=>({label:e.label,documentation:DK(e.documentation),parameters:e.parameters?.map(e=>({label:e.label,documentation:DK(e.documentation)}))||[],activeParameter:e.activeParameter})),activeSignature:a.activeSignature||0,activeParameter:a.activeParameter||0},dispose:()=>{}}:null}};function DK(e){if(e)return typeof e==`string`?e:{value:e.value}}var OK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentDefinition,!0,e=>V.registerDefinitionProvider(pK(e.documentSelector),new kK(this._connection,e))))}},kK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>fK(e,this._client)):fK(i,this._client):null}},AK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentDeclaration,!0,e=>V.registerDeclarationProvider(pK(e.documentSelector),new jK(this._connection,e))))}},jK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>fK(e,this._client)):fK(i,this._client):null}},MK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentTypeDefinition,!0,e=>V.registerTypeDefinitionProvider(pK(e.documentSelector),new NK(this._connection,e))))}},NK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>fK(e,this._client)):fK(i,this._client):null}},PK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentImplementation,!0,e=>V.registerImplementationProvider(pK(e.documentSelector),new FK(this._connection,e))))}},FK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>fK(e,this._client)):fK(i,this._client):null}},IK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentReferences,!0,e=>V.registerReferenceProvider(pK(e.documentSelector),new LK(this._connection,e))))}},LK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentReferences({textDocument:i.textDocument,position:i.position,context:{includeDeclaration:n.includeDeclaration}});return a?a.map(e=>{let t=this._client.bridge.translateBackRange({uri:e.uri},e.range);return{uri:t.textModel.uri,range:t.range}}):null}},RK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentHighlight:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentDocumentHighlight,!0,e=>V.registerDocumentHighlightProvider(pK(e.documentSelector),new zK(this._connection,e))))}},zK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentHighlights(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDocumentHighlight({textDocument:r.textDocument,position:r.position});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,kind:QG(e.kind)})):null}},BK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0,symbolKind:{valueSet:Array.from(qG.keys())},tagSupport:{valueSet:[hG.Deprecated]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentDocumentSymbol,!0,e=>V.registerDocumentSymbolProvider(pK(e.documentSelector),new VK(this._connection,e))))}},VK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentSymbols(e,t){let n=this._client.bridge.translate(e,new Rl(1,1)),r=await this._client.server.textDocumentDocumentSymbol({textDocument:n.textDocument});return r?Array.isArray(r)&&r.length>0?`location`in r[0]?r.map(e=>UK(e,this._client)):r.map(e=>HK(e,this._client,n.textDocument)):[]:null}};function HK(e,t,n){return{name:e.name,detail:e.detail||``,kind:JG(e.kind),tags:e.tags?.map(e=>XG(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange(n,e.range).range,selectionRange:t.bridge.translateBackRange(n,e.selectionRange).range,children:e.children?.map(e=>HK(e,t,n))||[]}}function UK(e,t){return{name:e.name,detail:``,kind:JG(e.kind),tags:e.tags?.map(e=>XG(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,selectionRange:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,children:[]}}var WK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rename:{dynamicRegistration:!0,prepareSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentRename,!0,e=>V.registerRenameProvider(pK(e.documentSelector),new GK(this._connection,e))))}},GK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideRenameEdits(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentRename({textDocument:i.textDocument,position:i.position,newName:n});return a?KK(a,this._client):null}async resolveRenameLocation(e,t,n){if(!this._capabilities.prepareProvider)return null;let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentPrepareRename({textDocument:r.textDocument,position:r.position});if(!i)return null;if(`range`in i&&`placeholder`in i)return{range:this._client.bridge.translateBackRange(r.textDocument,i.range).range,text:i.placeholder};if(`defaultBehavior`in i)return null;if(`start`in i&&`end`in i){let t=this._client.bridge.translateBackRange(r.textDocument,i).range;return{range:t,text:e.getValueInRange(t)}}return null}};function KK(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var qK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeAction:{dynamicRegistration:!0,codeActionLiteralSupport:{codeActionKind:{valueSet:Array.from(FG.keys())}},isPreferredSupport:!0,disabledSupport:!0,dataSupport:!0,resolveSupport:{properties:[`edit`]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentCodeAction,!0,e=>V.registerCodeActionProvider(pK(e.documentSelector),new JK(this._connection,e))))}},JK=class{constructor(e,t){X(this,`resolveCodeAction`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCodeAction=async(e,t)=>{if(e._lspAction){let t=await this._client.server.codeActionResolve(e._lspAction);t.edit&&(e.edit=YK(t.edit,this._client)),t.command&&(e.command=lK(t.command))}return e})}async provideCodeActions(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentCodeAction({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),context:{diagnostics:n.markers.map(t=>({range:this._client.bridge.translateRange(e,Qa.lift(t)),message:t.message,severity:nK(t.severity)})),triggerKind:RG(n.trigger)}});return a?{actions:(Array.isArray(a)?a:[a]).map(e=>{if(`title`in e&&!(`kind`in e)){let t=e;return{title:t.title,command:lK(t)}}{let t=e;return{title:t.title,kind:IG(t.kind),isPreferred:t.isPreferred,disabled:t.disabled?.reason,edit:t.edit?YK(t.edit,this._client):void 0,command:lK(t.command),_lspAction:t}}}),dispose:()=>{}}:null}};function YK(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version??void 0,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var XK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeLens:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentCodeLens,!0,e=>V.registerCodeLensProvider(pK(e.documentSelector),new ZK(this._connection,e))))}},ZK=class{constructor(e,t){this._client=e,this._capabilities=t}async provideCodeLenses(e,t){let n=this._client.bridge.translate(e,new Rl(1,1)),r=await this._client.server.textDocumentCodeLens({textDocument:n.textDocument});return r?{lenses:r.map(t=>({range:MG(this._client.bridge.translateBackRange(n.textDocument,t.range),e).range,command:lK(t.command),_lspCodeLens:t})),dispose:()=>{}}:null}async resolveCodeLens(e,t,n){if(!this._capabilities.resolveProvider||!t._lspCodeLens)return t;let r=await this._client.server.codeLensResolve(t._lspCodeLens);return r.command&&(t.command={id:r.command.command,title:r.command.title,arguments:r.command.arguments}),t}},QK=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentLink:{dynamicRegistration:!0,tooltipSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentDocumentLink,!0,e=>V.registerLinkProvider(pK(e.documentSelector),new $K(this._connection,e))))}},$K=class{constructor(e,t){this._client=e,this._capabilities=t}async provideLinks(e,t){let n=this._client.bridge.translate(e,new Rl(1,1)),r=await this._client.server.textDocumentDocumentLink({textDocument:n.textDocument});return r?{links:r.map(e=>({range:this._client.bridge.translateBackRange(n.textDocument,e.range).range,url:e.target,tooltip:e.tooltip}))}:null}async resolveLink(e,t){return this._capabilities.resolveProvider,e}},eq=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{formatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentFormatting,!0,e=>V.registerDocumentFormattingEditProvider(pK(e.documentSelector),new tq(this._connection,e))))}},tq=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentFormattingEdits(e,t,n){let r=this._client.bridge.translate(e,new Rl(1,1)),i=await this._client.server.textDocumentFormatting({textDocument:r.textDocument,options:{tabSize:t.tabSize,insertSpaces:t.insertSpaces}});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,text:e.newText})):null}},nq=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rangeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentRangeFormatting,!0,e=>V.registerDocumentRangeFormattingEditProvider(pK(e.documentSelector),new rq(this._connection,e))))}},rq=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentRangeFormatting({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),options:{tabSize:n.tabSize,insertSpaces:n.insertSpaces}});return a?a.map(e=>({range:this._client.bridge.translateBackRange(i.textDocument,e.range).range,text:e.newText})):null}},iq=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{onTypeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentOnTypeFormatting,!0,e=>V.registerOnTypeFormattingEditProvider(pK(e.documentSelector),new aq(this._connection,e))))}},aq=class{constructor(e,t){X(this,`autoFormatTriggerCharacters`),this._client=e,this._capabilities=t,this.autoFormatTriggerCharacters=[t.firstTriggerCharacter,...t.moreTriggerCharacter||[]]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentOnTypeFormatting({textDocument:a.textDocument,position:a.position,ch:n,options:{tabSize:r.tabSize,insertSpaces:r.insertSpaces}});return o?o.map(e=>({range:this._client.bridge.translateBackRange(a.textDocument,e.range).range,text:e.newText})):null}},oq=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{foldingRange:{dynamicRegistration:!0,rangeLimit:5e3,lineFoldingOnly:!1,foldingRangeKind:{valueSet:[pG.Comment,pG.Imports,pG.Region]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentFoldingRange,!0,e=>V.registerFoldingRangeProvider(pK(e.documentSelector),new sq(this._connection,e))))}},sq=class{constructor(e,t){this._client=e,this._capabilities=t}async provideFoldingRanges(e,t,n){let r=this._client.bridge.translate(e,new Rl(1,1)),i=await this._client.server.textDocumentFoldingRange({textDocument:r.textDocument});return i?i.map(e=>({start:e.startLine+1,end:e.endLine+1,kind:eK(e.kind)})):null}},cq=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{selectionRange:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentSelectionRange,!0,e=>V.registerSelectionRangeProvider(pK(e.documentSelector),new lq(this._connection,e))))}},lq=class{constructor(e,t){this._client=e,this._capabilities=t}async provideSelectionRanges(e,t,n){let r=this._client.bridge.translate(e,t[0]),i=await this._client.server.textDocumentSelectionRange({textDocument:r.textDocument,positions:t.map(t=>this._client.bridge.translate(e,t).position)});return i?i.map(e=>this.convertSelectionRange(e,r.textDocument)):null}convertSelectionRange(e,t){let n=[],r=e;for(;r;)n.push({range:this._client.bridge.translateBackRange(t,r.range).range}),r=r.parent;return n}},uq=class extends NG{constructor(e){super(),X(this,`_providers`,new Set),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{inlayHint:{dynamicRegistration:!0,resolveSupport:{properties:[`tooltip`,`textEdits`,`label.tooltip`,`label.location`,`label.command`]}}},workspace:{inlayHint:{refreshSupport:!0}}})),this._register(this._connection.connection.registerRequestHandler(jG.client.workspaceInlayHintRefresh,async()=>{for(let e of this._providers)e.refresh();return{ok:null}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentInlayHint,!0,e=>{let t=new dq(this._connection,e);this._providers.add(t);let n=V.registerInlayHintsProvider(pK(e.documentSelector),t);return{dispose:()=>{this._providers.delete(t),n.dispose()}}}))}},dq=class{constructor(e,t){X(this,`_onDidChangeInlayHints`,new Ac),X(this,`onDidChangeInlayHints`,this._onDidChangeInlayHints.event),X(this,`resolveInlayHint`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveInlayHint=async(e,t)=>{let n=await this._client.server.inlayHintResolve(e._lspInlayHint);return n.tooltip&&(e.tooltip=mq(n.tooltip)),n.label!==e._lspInlayHint.label&&(e.label=pq(n.label)),n.textEdits&&(e.textEdits=n.textEdits.map(t=>({range:this._client.bridge.translateBackRange({uri:e._targetUri},t.range).range,text:t.newText}))),e})}refresh(){this._onDidChangeInlayHints.fire()}async provideInlayHints(e,t,n){let r=this._client.bridge.translate(e,t.getStartPosition()),i=await fq(async()=>await this._client.server.textDocumentInlayHint({textDocument:r.textDocument,range:this._client.bridge.translateRange(e,t)}));return i?{hints:i.map(t=>({label:pq(t.label),position:MG(this._client.bridge.translateBack(r.textDocument,t.position),e).position,kind:dK(t.kind),tooltip:mq(t.tooltip),paddingLeft:t.paddingLeft,paddingRight:t.paddingRight,textEdits:t.textEdits?.map(t=>({range:MG(this._client.bridge.translateBackRange(r.textDocument,t.range),e).range,text:t.newText})),_lspInlayHint:t,_targetUri:r.textDocument.uri})),dispose:()=>{}}:null}};async function fq(e){for(let t=3;;t--)try{return await e()}catch(e){if(e.message===`content modified`&&t>0)continue;throw e}}function pq(e){return typeof e==`string`?e:e.map(e=>{let t={label:e.value,tooltip:mq(e.tooltip),command:lK(e.command)};return e.location&&(t.location={uri:Lo.parse(e.location.uri),range:new Qa(e.location.range.start.line+1,e.location.range.start.character+1,e.location.range.end.line+1,e.location.range.end.character+1)}),t})}function mq(e){if(e)return typeof e==`string`?e:{value:e.value}}var hq=class extends NG{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{semanticTokens:{dynamicRegistration:!0,requests:{range:!0,full:{delta:!0}},tokenTypes:[`namespace`,`type`,`class`,`enum`,`interface`,`struct`,`typeParameter`,`parameter`,`variable`,`property`,`enumMember`,`event`,`function`,`method`,`macro`,`keyword`,`modifier`,`comment`,`string`,`number`,`regexp`,`operator`,`decorator`],tokenModifiers:[`declaration`,`definition`,`readonly`,`static`,`deprecated`,`abstract`,`async`,`modification`,`documentation`,`defaultLibrary`],formats:[kG.Relative],overlappingTokenSupport:!1,multilineTokenSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentSemanticTokensFull,!0,e=>V.registerDocumentSemanticTokensProvider(pK(e.documentSelector),new gq(this._connection,e))))}},gq=class{constructor(e,t){this._client=e,this._capabilities=t}getLegend(){return{tokenTypes:this._capabilities.legend.tokenTypes,tokenModifiers:this._capabilities.legend.tokenModifiers}}releaseDocumentSemanticTokens(e){}async provideDocumentSemanticTokens(e,t,n){let r=this._client.bridge.translate(e,e.getPositionAt(0)),i=this._capabilities.full;if(t&&i&&typeof i==`object`&&i.delta){let e=await this._client.server.textDocumentSemanticTokensFullDelta({textDocument:r.textDocument,previousResultId:t});return e?`edits`in e?{resultId:e.resultId,edits:e.edits.map(e=>({start:e.start,deleteCount:e.deleteCount,data:e.data?new Uint32Array(e.data):void 0}))}:{resultId:e.resultId,data:new Uint32Array(e.data)}:null}let a=await this._client.server.textDocumentSemanticTokensFull({textDocument:r.textDocument});return a?{resultId:a.resultId,data:new Uint32Array(a.data)}:null}async provideDocumentSemanticTokensEdits(e,t,n){return this.provideDocumentSemanticTokens(e,t,n)}},_q=class extends NG{constructor(e){super(),X(this,`_diagnosticsMarkerOwner`,`lsp`),X(this,`_pullDiagnosticProviders`,new Map),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{publishDiagnostics:{relatedInformation:!0,tagSupport:{valueSet:[...aK.keys()]},versionSupport:!0,codeDescriptionSupport:!0,dataSupport:!0},diagnostic:{dynamicRegistration:!0,relatedDocumentSupport:!0}}})),this._register(this._connection.connection.registerNotificationHandler(jG.client.textDocumentPublishDiagnostics,e=>this._handlePublishDiagnostics(e))),this._register(this._connection.capabilities.registerCapabilityHandler(Q.textDocumentDiagnostic,!0,e=>{let t=new PG;for(let n of el.getModels())this._addPullDiagnosticProvider(n,e,t);return t.add(el.onDidCreateModel(n=>{this._addPullDiagnosticProvider(n,e,t)})),t}))}_addPullDiagnosticProvider(e,t,n){if(e.getLanguageId(),!mK(e,t.documentSelector))return;let r=new vq(e,this._connection,this._diagnosticsMarkerOwner,t);this._pullDiagnosticProviders.set(e,r),n.add(r),n.add(e.onWillDispose(()=>{this._pullDiagnosticProviders.delete(e)}))}_handlePublishDiagnostics(e){let t=e.uri;try{let n=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!n||n.isDisposed())return;let r=e.diagnostics.map(e=>hK(e));el.setModelMarkers(n,this._diagnosticsMarkerOwner,r)}catch(e){console.debug(`Could not set diagnostics for ${t}:`,e)}}},vq=class extends NG{constructor(e,t,n,r){super(),X(this,`_updateHandle`),X(this,`_previousResultId`),this._model=e,this._connection=t,this._markerOwner=n,this._capability=r,this._register(this._model.onDidChangeContent(()=>{this._scheduleDiagnosticUpdate()})),this._scheduleDiagnosticUpdate()}_scheduleDiagnosticUpdate(){this._updateHandle!==void 0&&clearTimeout(this._updateHandle),this._updateHandle=window.setTimeout(()=>{this._updateHandle=void 0,this._requestDiagnostics()},500)}async _requestDiagnostics(){if(!this._model.isDisposed())try{let e=this._connection.bridge.translate(this._model,new Rl(1,1)),t=await this._connection.server.textDocumentDiagnostic({textDocument:e.textDocument,identifier:this._capability.identifier,previousResultId:this._previousResultId});if(this._model.isDisposed())return;this._handleDiagnosticReport(t)}catch(e){console.error(`Error requesting diagnostics:`,e)}}_handleDiagnosticReport(e){if(e.kind===`full`){this._previousResultId=e.resultId;let t=e.items.map(e=>hK(e));el.setModelMarkers(this._model,this._markerOwner,t),`relatedDocuments`in e&&e.relatedDocuments&&this._handleRelatedDocuments(e.relatedDocuments)}else e.kind===`unchanged`&&(this._previousResultId=e.resultId)}_handleRelatedDocuments(e){for(let[t,n]of Object.entries(e))try{let e=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!e||e.isDisposed())continue;if(n.kind===`full`){let t=n.items.map(e=>hK(e));el.setModelMarkers(e,this._markerOwner,t)}}catch(e){console.debug(`Could not set related diagnostics for ${t}:`,e)}}dispose(){this._updateHandle!==void 0&&(clearTimeout(this._updateHandle),this._updateHandle=void 0),super.dispose()}},yq=class{constructor(e,t,n,r){this.server=e,this.bridge=t,this.capabilities=n,this.connection=r}},bq=class extends NG{constructor(e){super(),X(this,`_staticCapabilities`,new Set),X(this,`_dynamicFromStatic`,Eq.create()),X(this,`_registrations`,new Map),X(this,`_serverCapabilities`),this._connection=e,this._register(this._connection.registerRequestHandler(jG.client.clientRegisterCapability,async e=>{for(let t of e.registrations){let e=wq(t.method),n=new Sq(t.id,e,t.registerOptions,!1);this._registerCapabilityOptions(n)}return{ok:null}})),this._register(this._connection.registerRequestHandler(jG.client.clientUnregisterCapability,async e=>{for(let t of e.unregisterations){let e=wq(t.method),n=this._registrations.get(e),r=n?.registrations.get(t.id);if(!r)throw Error(`No registration for method ${t.method} with id ${t.id}`);r?.handlerDisposables.forEach(e=>e.dispose()),n?.registrations.delete(t.id)}return{ok:null}}))}_registerCapabilityOptions(e){let t=this._registrations.get(e.capability);if(t||(t=new Tq,this._registrations.set(e.capability,t)),t.registrations.has(e.id))throw Error(`Handler for method ${e.capability.method} with id ${e.id} already registered`);t.registrations.set(e.id,e);for(let n of t.handlers)!n.handleStaticCapability&&e.isFromStatic||e.handlerDisposables.set(n,n.handler(e.options))}setServerCapabilities(e){if(this._serverCapabilities)throw Error(`Server capabilities already set`);this._serverCapabilities=e;for(let t of Object.values(Q)){let n=this._dynamicFromStatic.getOptions(t,e);n&&this._registerCapabilityOptions(new Sq(t.method,t,n,!0))}}getClientCapabilities(){let e={};for(let t of this._staticCapabilities)Dq(e,t.cap);return e}addStaticClientCapabilities(e){let t={cap:e};return this._staticCapabilities.add(t),{dispose:()=>{this._staticCapabilities.delete(t)}}}registerCapabilityHandler(e,t,n){let r=this._registrations.get(e);r||(r=new Tq,this._registrations.set(e,r));let i=new xq(e,t,n);r.handlers.add(i);for(let e of r.registrations.values())!i.handleStaticCapability&&e.isFromStatic||e.handlerDisposables.set(i,n(e.options));return{dispose:()=>{r.handlers.delete(i);for(let e of r.registrations.values()){let t=e.handlerDisposables.get(i);t&&(t.dispose(),e.handlerDisposables.delete(i))}}}}},xq=class{constructor(e,t,n){this.capability=e,this.handleStaticCapability=t,this.handler=n}},Sq=class{constructor(e,t,n,r){X(this,`handlerDisposables`,new Map),this.id=e,this.capability=t,this.options=n,this.isFromStatic=r}},Cq=new Map([...Object.values(Q)].map(e=>[e.method,e]));function wq(e){let t=Cq.get(e);if(!t)throw Error(`No capability found for method ${e}`);return t}var Tq=class{constructor(){X(this,`handlers`,new Set),X(this,`registrations`,new Map)}},Eq=class e{constructor(){X(this,`_mappings`,new Map)}static create(){let t=new e;return t.set(Q.textDocumentDidChange,e=>{if(e.textDocumentSync!==void 0)return typeof e.textDocumentSync==`object`?{syncKind:e.textDocumentSync.change??_G.None,documentSelector:null}:{syncKind:e.textDocumentSync,documentSelector:null}}),t.set(Q.textDocumentCompletion,e=>e.completionProvider),t.set(Q.textDocumentHover,e=>e.hoverProvider),t.set(Q.textDocumentSignatureHelp,e=>e.signatureHelpProvider),t.set(Q.textDocumentDefinition,e=>e.definitionProvider),t.set(Q.textDocumentReferences,e=>e.referencesProvider),t.set(Q.textDocumentDocumentHighlight,e=>e.documentHighlightProvider),t.set(Q.textDocumentDocumentSymbol,e=>e.documentSymbolProvider),t.set(Q.textDocumentCodeAction,e=>e.codeActionProvider),t.set(Q.textDocumentCodeLens,e=>e.codeLensProvider),t.set(Q.textDocumentDocumentLink,e=>e.documentLinkProvider),t.set(Q.textDocumentFormatting,e=>e.documentFormattingProvider),t.set(Q.textDocumentRangeFormatting,e=>e.documentRangeFormattingProvider),t.set(Q.textDocumentOnTypeFormatting,e=>e.documentOnTypeFormattingProvider),t.set(Q.textDocumentRename,e=>e.renameProvider),t.set(Q.textDocumentFoldingRange,e=>e.foldingRangeProvider),t.set(Q.textDocumentDeclaration,e=>e.declarationProvider),t.set(Q.textDocumentTypeDefinition,e=>e.typeDefinitionProvider),t.set(Q.textDocumentImplementation,e=>e.implementationProvider),t.set(Q.textDocumentDocumentColor,e=>e.colorProvider),t.set(Q.textDocumentSelectionRange,e=>e.selectionRangeProvider),t.set(Q.textDocumentLinkedEditingRange,e=>e.linkedEditingRangeProvider),t.set(Q.textDocumentPrepareCallHierarchy,e=>e.callHierarchyProvider),t.set(Q.textDocumentSemanticTokensFull,e=>e.semanticTokensProvider),t.set(Q.textDocumentInlayHint,e=>e.inlayHintProvider),t.set(Q.textDocumentInlineValue,e=>e.inlineValueProvider),t.set(Q.textDocumentDiagnostic,e=>e.diagnosticProvider),t.set(Q.textDocumentMoniker,e=>e.monikerProvider),t.set(Q.textDocumentPrepareTypeHierarchy,e=>e.typeHierarchyProvider),t.set(Q.workspaceSymbol,e=>e.workspaceSymbolProvider),t.set(Q.workspaceExecuteCommand,e=>e.executeCommandProvider),t}set(e,t){if(this._mappings.has(e.method))throw Error(`Capability for method ${e.method} already registered`);this._mappings.set(e.method,t)}getOptions(e,t){let n=this._mappings.get(e.method);if(n)return n(t)}};function Dq(e,t){for(let n of Object.keys(t)){let r=t[n];if(r===void 0)continue;let i=e[n];if(i===void 0){e[n]=r;continue}if(typeof r!=`object`||!r){e[n]=r;continue}if(typeof i!=`object`||!i){e[n]=r;continue}Dq(i,r)}}var Oq=class extends NG{constructor(e,t){super(),X(this,`_managedModels`,new Map),X(this,`_managedModelsReverse`,new Map),X(this,`_started`,!1),this._server=e,this._capabilities=t,this._register(this._capabilities.addStaticClientCapabilities({textDocument:{synchronization:{dynamicRegistration:!0,willSave:!1,willSaveWaitUntil:!1,didSave:!1}}})),this._register(t.registerCapabilityHandler(Q.textDocumentDidChange,!0,e=>{if(this._started)return{dispose:()=>{}};this._started=!0,this._register(el.onDidCreateModel(e=>{this._getOrCreateManagedModel(e)}));for(let e of el.getModels())this._getOrCreateManagedModel(e);return{dispose:()=>{}}}))}_getOrCreateManagedModel(e){if(!this._started)throw Error(`Not started`);let t=e.uri.toString(!0).toLowerCase(),n=this._managedModels.get(e);return n||(n=new kq(e,this._server),this._managedModels.set(e,n),this._managedModelsReverse.set(t,e)),e.onWillDispose(()=>{n.dispose(),this._managedModels.delete(e),this._managedModelsReverse.delete(t)}),n}translateBack(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,position:new Rl(t.line+1,t.character+1)}}translateBackRange(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,range:new Qa(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}}translate(e,t){return{textDocument:{uri:e.uri.toString(!0)},position:{line:t.lineNumber-1,character:t.column-1}}}translateRange(e,t){return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}},kq=class extends NG{constructor(e,t){super(),this._textModel=e,this._api=t;let n=e.uri.toString(!0).toLowerCase();this._api.textDocumentDidOpen({textDocument:{languageId:e.getLanguageId(),uri:n,version:e.getVersionId(),text:e.getValue()}}),this._register(e.onDidChangeContent(t=>{let r=t.changes.map(e=>Aq(e));this._api.textDocumentDidChange({textDocument:{uri:n,version:e.getVersionId()},contentChanges:r})})),this._register({dispose:()=>{this._api.textDocumentDidClose({textDocument:{uri:n}})}})}};function Aq(e){return{range:jq(e.range),rangeLength:e.rangeLength,text:e.text}}function jq(e){return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}var Mq=class{constructor(e){X(this,`_connection`),X(this,`_capabilitiesRegistry`),X(this,`_bridge`),X(this,`_initPromise`);let t=rG.fromTransport(e),n=jG.getServer(t,{});t.startListen(),this._capabilitiesRegistry=new bq(t),this._bridge=new Oq(n.server,this._capabilitiesRegistry),this._connection=new yq(n.server,this._bridge,this._capabilitiesRegistry,t),this.createFeatures(),this._initPromise=this._init()}async _init(){let e=await this._connection.server.initialize({processId:null,capabilities:this._capabilitiesRegistry.getClientCapabilities(),rootUri:null});this._connection.server.initialized({}),this._capabilitiesRegistry.setServerCapabilities(e.capabilities)}createFeatures(){let e=new PG;return e.add(new gK(this._connection)),e.add(new xK(this._connection)),e.add(new TK(this._connection)),e.add(new OK(this._connection)),e.add(new AK(this._connection)),e.add(new MK(this._connection)),e.add(new PK(this._connection)),e.add(new IK(this._connection)),e.add(new RK(this._connection)),e.add(new BK(this._connection)),e.add(new WK(this._connection)),e.add(new qK(this._connection)),e.add(new XK(this._connection)),e.add(new QK(this._connection)),e.add(new eq(this._connection)),e.add(new nq(this._connection)),e.add(new iq(this._connection)),e.add(new oq(this._connection)),e.add(new cq(this._connection)),e.add(new uq(this._connection)),e.add(new hq(this._connection)),e.add(new _q(this._connection)),e}},Nq=null;typeof WebSocket<`u`?Nq=WebSocket:typeof MozWebSocket<`u`?Nq=MozWebSocket:typeof global<`u`?Nq=global.WebSocket||global.MozWebSocket:typeof window<`u`?Nq=window.WebSocket||window.MozWebSocket:typeof self<`u`&&(Nq=self.WebSocket||self.MozWebSocket);var Pq=Nq;function Fq(e){return`host`in e?{address:`${e.forceTls?`wss`:`ws`}://${e.host}:${e.port}`}:e}var Iq=class e extends qW{constructor(e){super(),X(this,`socket`),X(this,`errorEmitter`,new HW),X(this,`onError`,this.errorEmitter),this.socket=e,e.onmessage=e=>{try{let t=e.data;if(typeof t==`string`){let e=JSON.parse(t);this._dispatchReceivedMessage(e)}else throw Error(`Not supported`)}catch(e){this.errorEmitter.fire({error:e})}},e.onclose=e=>{this._onConnectionClosed()}}static connectTo(t){let n=new Pq(Fq(t).address);return new Promise((t,r)=>{n.onerror=e=>{r(e)},n.onopen=()=>{t(new e(n))}})}static fromWebSocket(t){return new e(t)}close(){this.socket.close()}dispose(){this.close()}_sendImpl(e){let t=JSON.stringify(e);return new Promise((e,n)=>{this.socket.send(t,t=>{t?n(t):e()})})}toString(){return`${this.id}@${this.socket.url}`}},Lq=class extends qW{constructor(e,t=void 0,n=void 0){super(),X(this,`_windowLike`),X(this,`_source`),X(this,`_loadingState`),X(this,`_disposed`,!1),X(this,`_messageHandler`,({data:e,source:t})=>{this._source&&t!==this._source||typeof e==`object`&&e&&this._dispatchReceivedMessage(e)}),this._windowLike=e,this._source=t,this._loadingState=n,this._windowLike.addEventListener(`message`,this._messageHandler)}async _sendImpl(e){if(this._disposed)throw Error(`Transport is disposed`);this._loadingState&&!this._loadingState.loaded&&await this._loadingState.onLoaded,this._windowLike.postMessage(e)}toString(){return`${this.id}@${this._windowLike}`}dispose(){this._disposed||(this._disposed=!0,this._windowLike.removeEventListener(`message`,this._messageHandler))}};function Rq(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new Lq(e)}function zq(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new Lq(e.contentWindow,e.contentWindow,{loaded:window.document.readyState===`complete`,onLoaded:new Promise(e=>{window.addEventListener(`load`,()=>e())})})}var Bq={},Vq={},Hq=class e{static getOrCreate(t){return Vq[t]||(Vq[t]=new e(t)),Vq[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,Bq[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function $(e){let t=e.id;Bq[t]=e,V.register(e);let n=Hq.getOrCreate(t);V.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),V.onLanguageEncountered(t,async()=>{let e=await n.load();V.setLanguageConfiguration(t,e.conf)})}$({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>t(()=>import(`./abap-08VXUWAP.js`),[])}),$({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>t(()=>import(`./apex-BWPQTe0t.js`),[])}),$({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>t(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),$({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>t(()=>import(`./bat-i0X4ZdIN.js`),[])}),$({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>t(()=>import(`./bicep-B5-_aFwp.js`),[])}),$({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>t(()=>import(`./cameligo-DMUM7wLl.js`),[])}),$({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>t(()=>import(`./clojure-Cm7r79vr.js`),[])}),$({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>t(()=>import(`./coffee-Ba7i2nA0.js`),[])}),$({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>t(()=>import(`./cpp-C7h46wYY.js`),[])}),$({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>t(()=>import(`./cpp-C7h46wYY.js`),[])}),$({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>t(()=>import(`./csharp-BKxtCVv1.js`),[])}),$({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>t(()=>import(`./csp-bTuwJoIa.js`),[])}),$({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>t(()=>import(`./css-DIMkf-bt.js`),[])}),$({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>t(()=>import(`./cypher-CVaqCwHa.js`),[])}),$({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>t(()=>import(`./dart-onAF5SnQ.js`),[])}),$({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>t(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),$({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>t(()=>import(`./ecl-D05T4iGw.js`),[])}),$({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>t(()=>import(`./elixir-6RTg0lbw.js`),[])}),$({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>t(()=>import(`./flow9-C5_-GSwl.js`),[])}),$({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>t(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),$({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagAngleInterpolationDollar),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagBracketInterpolationDollar),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagAngleInterpolationBracket),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagBracketInterpolationBracket),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>t(()=>import(`./freemarker2-BqVyQSGe.js`).then(e=>e.TagAutoInterpolationBracket),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>t(()=>import(`./go-C-y9NEjX.js`),[])}),$({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>t(()=>import(`./graphql-fmXr3nnJ.js`),[])}),$({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>t(()=>import(`./handlebars-9K762gzW.js`),__vite__mapDeps([13,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>t(()=>import(`./hcl-CpzslTdj.js`),[])}),$({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>t(()=>import(`./html-CRmp4AC_.js`),__vite__mapDeps([14,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>t(()=>import(`./ini-sBoK_t0W.js`),[])}),$({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>t(()=>import(`./java-BEtHBSE6.js`),[])}),$({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>t(()=>import(`./javascript-DB9a_ZGm.js`),__vite__mapDeps([15,16,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>t(()=>import(`./julia-Bri6UV-V.js`),[])}),$({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>t(()=>import(`./kotlin-BOotOW0E.js`),[])}),$({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>t(()=>import(`./less-B9JPFI3C.js`),[])}),$({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>t(()=>import(`./lexon-CfSJPG6W.js`),[])}),$({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>t(()=>import(`./lua-CsQS60Ue.js`),[])}),$({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>t(()=>import(`./liquid-C67ZTBj7.js`),__vite__mapDeps([17,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>t(()=>import(`./m3-D-oSqn_W.js`),[])}),$({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>t(()=>import(`./markdown-Cimd5fb3.js`),[])}),$({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>t(()=>import(`./mdx-C_K9rc9_.js`),__vite__mapDeps([18,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>t(()=>import(`./mips-CIPQ_RoX.js`),[])}),$({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>t(()=>import(`./msdax-DauUninz.js`),[])}),$({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>t(()=>import(`./mysql-SOo6toE5.js`),[])}),$({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>t(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),$({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>t(()=>import(`./pascal-DrH0SRf2.js`),[])}),$({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>t(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),$({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>t(()=>import(`./perl-oz_6vUea.js`),[])}),$({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>t(()=>import(`./pgsql-DTj74zXo.js`),[])}),$({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>t(()=>import(`./php-nr791fC2.js`),[])}),$({id:`pla`,extensions:[`.pla`],loader:()=>t(()=>import(`./pla-CopQ2nXW.js`),[])}),$({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>t(()=>import(`./postiats-43DmfD33.js`),[])}),$({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>t(()=>import(`./powerquery-D3hlyOfw.js`),[])}),$({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>t(()=>import(`./powershell-DmHpPYUd.js`),[])}),$({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>t(()=>import(`./protobuf-C531GsRP.js`),[])}),$({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>t(()=>import(`./pug-Z5eAx3Zn.js`),[])}),$({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>t(()=>import(`./python-D1CBO9Uf.js`),__vite__mapDeps([19,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>t(()=>import(`./qsharp-DkqhCAOL.js`),[])}),$({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>t(()=>import(`./r-BwWrilGY.js`),[])}),$({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>t(()=>import(`./razor-BCiKSj6_.js`),__vite__mapDeps([20,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>t(()=>import(`./redis-ClamHrr6.js`),[])}),$({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>t(()=>import(`./redshift-DT7zqm-g.js`),[])}),$({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>t(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),$({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>t(()=>import(`./ruby-DezsRK8O.js`),[])}),$({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>t(()=>import(`./rust-DdL9SqIa.js`),[])}),$({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>t(()=>import(`./sb-CcwsVR0C.js`),[])}),$({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>t(()=>import(`./scala-DHpiXF5c.js`),[])}),$({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>t(()=>import(`./scheme-BeGwcela.js`),[])}),$({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>t(()=>import(`./scss-gp-XZpBa.js`),[])}),$({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>t(()=>import(`./shell-CC2rA5mh.js`),[])}),$({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>t(()=>import(`./solidity-BEEn4gHE.js`),[])}),$({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>t(()=>import(`./sophia-CRfGWb83.js`),[])}),$({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>t(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),$({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>t(()=>import(`./sql-NEE52Syq.js`),[])}),$({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>t(()=>import(`./st-DbInun42.js`),[])}),$({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>t(()=>import(`./swift-Bxkupp3x.js`),[])}),$({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>t(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),$({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>t(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),$({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>t(()=>import(`./tcl-DISqw1ZD.js`),[])}),$({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>t(()=>import(`./twig-De2hgUGE.js`),[])}),$({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>t(()=>import(`./typescript-D-8UENST.js`),__vite__mapDeps([16,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>t(()=>import(`./typespec-B8J7ngcE.js`),[])}),$({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>t(()=>import(`./vb-DV3o63ZY.js`),[])}),$({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>t(()=>import(`./wgsl-DpFanUEy.js`),[])}),$({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>t(()=>import(`./xml-BBPvJ9QP.js`),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12]))}),$({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>t(()=>import(`./yaml-D4q1p7HX.js`),__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,10,11,12]))});var Uq=e({cssDefaults:()=>qq,lessDefaults:()=>Yq,scssDefaults:()=>Jq}),Wq=class{constructor(e,t,n){this._onDidChange=new Ac,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},Gq={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},Kq={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},qq=new Wq(`css`,Gq,Kq),Jq=new Wq(`scss`,Gq,Kq),Yq=new Wq(`less`,Gq,Kq);function Xq(){return t(()=>import(`./cssMode-MGWKgqj7.js`),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,10,11,12,24,25]))}V.onLanguage(`less`,()=>{Xq().then(e=>e.setupMode(Yq))}),V.onLanguage(`scss`,()=>{Xq().then(e=>e.setupMode(Jq))}),V.onLanguage(`css`,()=>{Xq().then(e=>e.setupMode(qq))});var Zq=e({handlebarDefaults:()=>sJ,handlebarLanguageService:()=>oJ,htmlDefaults:()=>aJ,htmlLanguageService:()=>iJ,razorDefaults:()=>lJ,razorLanguageService:()=>cJ,registerHTMLLanguageService:()=>dJ}),Qq=class{constructor(e,t,n){this._onDidChange=new Ac,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},$q={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function eJ(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===tJ,documentFormattingEdits:e===tJ,documentRangeFormattingEdits:e===tJ}}var tJ=`html`,nJ=`handlebars`,rJ=`razor`,iJ=dJ(tJ,$q,eJ(tJ)),aJ=iJ.defaults,oJ=dJ(nJ,$q,eJ(nJ)),sJ=oJ.defaults,cJ=dJ(rJ,$q,eJ(rJ)),lJ=cJ.defaults;function uJ(){return t(()=>import(`./htmlMode-CFxFF9iH.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,24,25]))}function dJ(e,t=$q,n=eJ(e)){let r=new Qq(e,t,n),i,a=V.onLanguage(e,async()=>{i=(await uJ()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var fJ=e({getWorker:()=>mJ,jsonDefaults:()=>pJ}),pJ=new class{constructor(e,t,n){this._onDidChange=new Ac,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),mJ=()=>hJ().then(e=>e.getWorker());function hJ(){return t(()=>import(`./jsonMode-JhLTE1-C.js`),__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,24,25]))}V.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),V.onLanguage(`json`,()=>{hJ().then(e=>e.setupMode(pJ))});var gJ=`5.9.3`,_J=e({JsxEmit:()=>yJ,ModuleKind:()=>vJ,ModuleResolutionKind:()=>SJ,NewLineKind:()=>bJ,ScriptTarget:()=>xJ,getJavaScriptWorker:()=>kJ,getTypeScriptWorker:()=>OJ,javascriptDefaults:()=>DJ,typescriptDefaults:()=>EJ,typescriptVersion:()=>wJ}),vJ=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(vJ||{}),yJ=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))(yJ||{}),bJ=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(bJ||{}),xJ=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(xJ||{}),SJ=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(SJ||{}),CJ=class{constructor(e,t,n,r,i){this._onDidChange=new Ac,this._onDidExtraLibsChange=new Ac,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},wJ=gJ,TJ={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},EJ=new CJ({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},TJ),DJ=new CJ({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},TJ),OJ=()=>AJ().then(e=>e.getTypeScriptWorker()),kJ=()=>AJ().then(e=>e.getJavaScriptWorker());function AJ(){return t(()=>import(`./tsMode-Db77HzVu.js`),__vite__mapDeps([28,1,2,3,4,5,6,7,8,9,10,11,12,24]))}V.onLanguage(`typescript`,()=>AJ().then(e=>e.setupTypeScript(EJ))),V.onLanguage(`javascript`,()=>AJ().then(e=>e.setupJavaScript(DJ)));var jJ=`__monacoFindWidgetTabIndexPatchApplied`,MJ=`__monacoFindWidgetOriginalTabIndex`;function NJ(e,t){let n=e?._domNode;if(!n)return;let r=n.querySelectorAll(`input, textarea, [tabindex], [role="button"], [role="checkbox"]`);for(let e of r)if(e instanceof HTMLElement){if(t){if(!(MJ in e.dataset))continue;let t=e.dataset[MJ];t===``?e.removeAttribute(`tabindex`):e.tabIndex=Number(t),delete e.dataset[MJ]}else MJ in e.dataset||(e.dataset[MJ]=e.getAttribute(`tabindex`)??``),e.tabIndex=-1}}if(!mv[jJ]){let e=mv.prototype._reveal,t=mv.prototype._hide;mv.prototype._reveal=function(...t){e.apply(this,t),NJ(this,!0)},mv.prototype._hide=function(...e){t.apply(this,e),NJ(this,!1)},mv[jJ]=!0}var PJ=e({CancellationTokenSource:()=>Zl,Emitter:()=>Ac,KeyCode:()=>Tl,KeyMod:()=>Ss,MarkerSeverity:()=>ka,MarkerTag:()=>Vc,Position:()=>Rl,Range:()=>Qa,Selection:()=>ac,SelectionDirection:()=>uu,Token:()=>fo,Uri:()=>Lo,css:()=>Uq,editor:()=>el,html:()=>Zq,json:()=>fJ,languages:()=>V,lsp:()=>jW,typescript:()=>_J});export{Zl as CancellationTokenSource,Ac as Emitter,Tl as KeyCode,Ss as KeyMod,ka as MarkerSeverity,Vc as MarkerTag,Rl as Position,Qa as Range,ac as Selection,uu as SelectionDirection,fo as Token,Lo as Uri,Uq as css,el as editor,Zq as html,fJ as json,V as languages,jW as lsp,EJ as n,PJ as t,_J as typescript};
|