@arcgis/coding-components 5.2.0-next.123 → 5.2.0-next.125
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{7BW4HK2A.js → 2PZP3YWM.js} +1 -1
- package/dist/cdn/3G26WBEK.js +66 -0
- package/dist/cdn/3KEZ7EEP.css +1 -0
- package/dist/cdn/{KM6YSFH6.js → 6HKTUV2Z.js} +1 -1
- package/dist/cdn/{BXSWFHYR.js → 7CRCML7E.js} +1 -1
- package/dist/cdn/{7OK7ZF7N.js → 7IJT3Z4F.js} +1 -1
- package/dist/cdn/{7EBMAFES.js → AAGGFSQH.js} +1 -1
- package/dist/cdn/{MWWXV5SO.js → ABUWK4CT.js} +1 -1
- package/dist/cdn/{DFRZVVZZ.js → AI6346MJ.js} +1 -1
- package/dist/cdn/{7557YTH2.js → BES2AFJI.js} +1 -1
- package/dist/cdn/{PBU6VJBZ.js → BWXFRAGJ.js} +1 -1
- package/dist/cdn/{AGHMGL6E.js → CHW5BB3L.js} +1 -1
- package/dist/cdn/{XZXSPFYV.js → DITC5ENP.js} +1 -1
- package/dist/cdn/{O5VTBJWD.js → DSXNVNHP.js} +1 -1
- package/dist/cdn/{HY5O2FXT.js → DXURCX2E.js} +1 -1
- package/dist/cdn/{43C5J4GE.js → ERQORLO4.js} +1 -1
- package/dist/cdn/{6W4UAJL7.js → FRKDR2KF.js} +1 -1
- package/dist/cdn/{KHS23QIL.js → G6LQODXE.js} +1 -1
- package/dist/cdn/JD7Z3DOI.js +2 -0
- package/dist/cdn/{JDENX7LP.js → JNW2UKUP.js} +1 -1
- package/dist/cdn/{WF2ENOGH.js → JZKEFFFC.js} +1 -1
- package/dist/cdn/{ZZDJOW42.js → KFZFVK3W.js} +1 -1
- package/dist/cdn/LLJLGZNV.js +2 -0
- package/dist/cdn/LYIGIZYL.css +1 -0
- package/dist/cdn/{5E6FR6BZ.js → M2KHHZZK.js} +1 -1
- package/dist/cdn/{EZLFACAC.js → MYJC26Y2.js} +1 -1
- package/dist/cdn/{DCWOXZNV.js → MZWBKK5Y.js} +1 -1
- package/dist/cdn/{KXTNFBJX.js → N634TYFB.js} +1 -1
- package/dist/cdn/{BDPAZMM4.js → NKCXJFOA.js} +1 -1
- package/dist/cdn/{CMRUQ3BN.js → NKGAHXNJ.js} +2 -2
- package/dist/cdn/{P4HNDIFA.js → OKTFDNZ2.js} +1 -1
- package/dist/cdn/{NKXS3GN7.js → P47PXEKU.js} +1 -1
- package/dist/cdn/{VVY2ZBRC.js → P5SQNRDH.js} +1 -1
- package/dist/cdn/{6DFI5ERF.js → PWGN3YDJ.js} +1 -1
- package/dist/cdn/PY2Q5GGO.js +2 -0
- package/dist/cdn/{RWKSK7LJ.js → Q2IQGLDP.js} +1 -1
- package/dist/cdn/{62DBPVRG.js → QQYU72U2.js} +1 -1
- package/dist/cdn/{22WTKWX3.js → RQFU6BD7.js} +1 -1
- package/dist/cdn/{7WYHXRIC.js → S62CZ4XV.js} +1 -1
- package/dist/cdn/SGV4EZAO.css +1 -0
- package/dist/cdn/{DOGQU7EL.js → SP2OSSVP.js} +1 -1
- package/dist/cdn/{GC7FFZEU.js → TKIQ3MQU.js} +1 -1
- package/dist/cdn/{2OOUSCR2.js → TOVVWCBC.js} +1 -1
- package/dist/cdn/{CLPF64WZ.js → UHQN4ZKV.js} +1 -1
- package/dist/cdn/{N37NWQCL.js → UUP3CHV2.js} +1 -1
- package/dist/cdn/{HQFOVSNC.js → VA5GCGP3.js} +1 -1
- package/dist/cdn/{PBAJAXFT.js → VNDDHGHV.js} +1 -1
- package/dist/cdn/XCISKBJD.js +927 -0
- package/dist/cdn/{2VEQTRYC.js → XECHDNHQ.js} +1 -1
- package/dist/cdn/{U6CVC2TE.js → XLCC7YPR.js} +1 -1
- package/dist/cdn/{UFF53OEH.js → XWEX2VS6.js} +1 -1
- package/dist/cdn/{Y7KC4KFN.js → Y2QWXLND.js} +1 -1
- package/dist/cdn/{QAMR6MWW.js → YG3C4FVJ.js} +1 -1
- package/dist/cdn/{KLDWM65I.js → YIGPP2PN.js} +1 -1
- package/dist/cdn/{JIAPMYH4.js → ZB5LSQCI.js} +1 -1
- package/dist/cdn/{ODW3NXBR.js → ZFNRVJRH.js} +1 -1
- package/dist/cdn/{WSXKO7QU.js → ZGH54UQL.js} +1 -1
- package/dist/cdn/{4TJFIFRU.js → ZIITPBDA.js} +1 -1
- package/dist/cdn/{3MYJY4XF.js → ZSTNW7E7.js} +1 -1
- package/dist/cdn/{GY5IX3XK.js → ZZWYJDQG.js} +2 -2
- package/dist/cdn/assets/code-editor/arcade.worker.js +1376 -1310
- package/dist/cdn/assets/code-editor/css.worker.js +1448 -1392
- package/dist/cdn/assets/code-editor/editor.worker.js +2233 -2177
- package/dist/cdn/assets/code-editor/html.worker.js +1208 -1152
- package/dist/cdn/assets/code-editor/json.worker.js +1364 -1308
- package/dist/cdn/assets/code-editor/sql-expr.worker.js +3451 -3385
- package/dist/cdn/assets/code-editor/sql-layer.worker.js +1835 -1779
- package/dist/cdn/assets/code-editor/ts.worker.js +20770 -20714
- package/dist/cdn/{codicon-KP4OV2OO.ttf → codicon-LTRFOK3N.ttf} +0 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/stdin.css +1 -1
- package/dist/chunks/arcade-service-accessors.js +9 -8
- package/dist/chunks/debugger-value-components.js +6 -6
- package/dist/chunks/debugger-value-styles.js +6 -6
- package/dist/chunks/monaco-importer.js +3 -2
- package/dist/chunks/setup-monaco-theme.js +5 -4
- package/dist/chunks/sql-expr-mode.js +7 -6
- package/dist/chunks/sql-layer-mode.js +13 -12
- package/dist/components/arcgis-code-editor/customElement.js +160 -117
- package/dist/components/types.d.ts +2 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/package.json +8 -7
- package/dist/cdn/DSQ2DQQL.js +0 -866
- package/dist/cdn/FWJIPXSM.js +0 -2
- package/dist/cdn/N7X5O5MW.css +0 -1
- package/dist/cdn/NHREAORV.js +0 -62
- package/dist/cdn/VFTBLPWP.js +0 -2
- package/dist/cdn/VHWT37FU.css +0 -1
- package/dist/cdn/WYJB4DB6.js +0 -2
- package/dist/cdn/Z5IO75U2.css +0 -1
- /package/dist/cdn/{6CZQZTMF.js → 2AXSYZEN.js} +0 -0
- /package/dist/cdn/{FQOANF2G.js → 33BRQKI6.js} +0 -0
- /package/dist/cdn/{7DK3ZTRU.js → 36W5RXLG.js} +0 -0
- /package/dist/cdn/{3QA7M6CT.js → 45R5XOFL.js} +0 -0
- /package/dist/cdn/{6NHGNIVD.js → 4YFE3KBC.js} +0 -0
- /package/dist/cdn/{WYJEPX44.js → 57E5F75J.js} +0 -0
- /package/dist/cdn/{EJQAPUJS.js → 5EIPVOGO.js} +0 -0
- /package/dist/cdn/{Z6466HTT.js → 5YEMW2UC.js} +0 -0
- /package/dist/cdn/{SA3CPVD5.js → 6VFEED45.js} +0 -0
- /package/dist/cdn/{BXWGMUCF.js → ABZ7ZFXX.js} +0 -0
- /package/dist/cdn/{T2SRJU3Q.js → AGJJ7FJX.js} +0 -0
- /package/dist/cdn/{FT5ERUIM.js → BTLDXLFC.js} +0 -0
- /package/dist/cdn/{UYCJKS7C.js → CJ2MVXSJ.js} +0 -0
- /package/dist/cdn/{E557OH6C.js → CVJM5DJ5.js} +0 -0
- /package/dist/cdn/{JKD3QPJA.js → D4TRKALK.js} +0 -0
- /package/dist/cdn/{CEVSS7MF.js → DKAMEAFP.js} +0 -0
- /package/dist/cdn/{GKYUW47U.js → EQKJWVNG.js} +0 -0
- /package/dist/cdn/{RKHLMCND.js → EXVPEWWR.js} +0 -0
- /package/dist/cdn/{2TM3P5BM.js → FGO22NCZ.js} +0 -0
- /package/dist/cdn/{HNPCFI2T.js → FH5UYXIE.js} +0 -0
- /package/dist/cdn/{3HICEKL5.js → FUBZOMVG.js} +0 -0
- /package/dist/cdn/{HZI3CRZA.js → G3F6L5BF.js} +0 -0
- /package/dist/cdn/{OKBXNZWB.js → G6VYGRE5.js} +0 -0
- /package/dist/cdn/{ADOCXALG.js → GK62ODPJ.js} +0 -0
- /package/dist/cdn/{LWIX4BHD.js → GLWUBI25.js} +0 -0
- /package/dist/cdn/{CLAJKAD4.js → GWJWZDBK.js} +0 -0
- /package/dist/cdn/{ZYCEN3JJ.js → H2KLFHG3.js} +0 -0
- /package/dist/cdn/{CPU5A7GB.js → HLTDO25M.js} +0 -0
- /package/dist/cdn/{3IIYWUMQ.js → HUTT2UBA.js} +0 -0
- /package/dist/cdn/{2PRBQXD6.js → HZSPZILM.js} +0 -0
- /package/dist/cdn/{YO6TWJFE.js → IF6VZF56.js} +0 -0
- /package/dist/cdn/{OTJIHBW2.js → ISYMIYR5.js} +0 -0
- /package/dist/cdn/{SUSHGSN5.js → J72JBXLX.js} +0 -0
- /package/dist/cdn/{DAVBQKOS.js → JW63G7JR.js} +0 -0
- /package/dist/cdn/{JI422GNR.js → KKD3ZAX7.js} +0 -0
- /package/dist/cdn/{SG2BKJM5.js → KSNDH6NJ.js} +0 -0
- /package/dist/cdn/{UOUMWCH7.js → KSYZD77O.js} +0 -0
- /package/dist/cdn/{FPYDAXFV.js → LDUXIRRX.js} +0 -0
- /package/dist/cdn/{KLBYHXFF.js → LW6VG5BJ.js} +0 -0
- /package/dist/cdn/{4VR6NKWG.js → MB3H26SY.js} +0 -0
- /package/dist/cdn/{OVP6UXO6.js → ML3XEYX7.js} +0 -0
- /package/dist/cdn/{H4TDHI2Q.js → MLQTKNOS.js} +0 -0
- /package/dist/cdn/{LSWMYSG5.js → NFD5QRK7.js} +0 -0
- /package/dist/cdn/{QU5CZLK5.js → NGWNHRDV.js} +0 -0
- /package/dist/cdn/{OHFJJGVA.js → NQOXXF5T.js} +0 -0
- /package/dist/cdn/{NULEXQA2.js → O2HZCVVO.js} +0 -0
- /package/dist/cdn/{J7HO6RTJ.js → PTLGMSM7.js} +0 -0
- /package/dist/cdn/{DDDIP43Y.js → PVTDESVT.js} +0 -0
- /package/dist/cdn/{JMC6K5HI.js → Q42IHUZ3.js} +0 -0
- /package/dist/cdn/{O3NHJWA2.js → QDUPWXLI.js} +0 -0
- /package/dist/cdn/{7IS2FKEF.js → QGSV4ECO.js} +0 -0
- /package/dist/cdn/{CSJQLSJC.js → QYQXVQVS.js} +0 -0
- /package/dist/cdn/{HCNKB3RA.js → QZ5SQVOZ.js} +0 -0
- /package/dist/cdn/{FM45ZTLA.js → R7SJNYNM.js} +0 -0
- /package/dist/cdn/{ZXM7ND6Q.js → S5T6XTRV.js} +0 -0
- /package/dist/cdn/{EPZJ7KZC.js → SIP637YL.js} +0 -0
- /package/dist/cdn/{QLSHKD7Y.js → TKZNHPOT.js} +0 -0
- /package/dist/cdn/{3YUOOZQC.js → TUPOE2CF.js} +0 -0
- /package/dist/cdn/{VWAHKT2W.js → UF7HDQEU.js} +0 -0
- /package/dist/cdn/{2ZNNQF33.js → USFPEQ7Q.js} +0 -0
- /package/dist/cdn/{53BLLGWD.js → UXE4ASGX.js} +0 -0
- /package/dist/cdn/{2YJMSLBY.js → UYUJZDIZ.js} +0 -0
- /package/dist/cdn/{QNTJG5AA.js → UZVUXHHW.js} +0 -0
- /package/dist/cdn/{RABQPAZP.js → W6YYQCBS.js} +0 -0
- /package/dist/cdn/{Y3RD24PA.js → WBYKVSV4.js} +0 -0
- /package/dist/cdn/{IEPJZHSS.js → WJYR4BJG.js} +0 -0
- /package/dist/cdn/{7627LBHY.js → WMQL7T43.js} +0 -0
- /package/dist/cdn/{6NKJB46V.js → XQSXGAPV.js} +0 -0
- /package/dist/cdn/{PDL4ZTCL.js → XVT2TWEJ.js} +0 -0
- /package/dist/cdn/{MKNN7Z33.js → YCBGCWWV.js} +0 -0
- /package/dist/cdn/{C7FU7YNV.js → ZQZRAXQ5.js} +0 -0
- /package/dist/cdn/{Y4MQH574.js → ZRGZPKPU.js} +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{$ as Oe,$a as vi,$b as hC,$c as te,$d as Qa,$e as Sg,$f as fk,$g as Bk,$h as oR,$i as LR,$j as Eo,$k as bT,A as xs,Aa as tC,Ab as se,Ac as ci,Ad as P0,Ae as fg,Af as lk,Ag as Tk,Ah as Ec,Ai as pn,Aj as Qg,Ak as sT,B as SD,Ba as iC,Bb as nn,Bc as Qt,Bd as O0,Be as qn,Bf as V,Bg as Mk,Bh as Vg,Bi as fn,Bj as NR,Bk as aT,C as tc,Ca as Fo,Cb as JD,Cc as C0,Cd as A0,Ce as Ms,Cf as ck,Cg as Nk,Ch as Ke,Ci as jg,Cj as Id,Ck as Ge,D as wD,Da as nc,Db as e0,Dc as S0,Dd as F0,De as _g,Df as hk,Dg as Pk,Dh as ot,Di as fR,Dj as PR,Dk as qC,E as yD,Ea as ND,Eb as Ci,Ec as Ir,Ed as cg,Ee as mC,Ef as xg,Eg as Hs,Eh as gn,Ei as _R,Ej as OR,Ek as am,F as tn,Fa as PD,Fb as t0,Fc as w0,Fd as at,Fe as $0,Ff as uk,Fg as kr,Fh as Zk,Fi as bR,Fj as AR,Fk as dm,G as xD,Ga as OD,Gb as dc,Gc as y0,Gd as A,Ge as w,Gf as ad,Gg as wc,Gh as Yk,Gi as vR,Gj as FR,Gk as GC,H as Xe,Ha as og,Hb as be,Hc as G,Hd as cc,He as id,Hf as dd,Hg as Ok,Hh as zg,Hi as CR,Hj as Lt,Hk as dT,I as eg,Ia as AD,Ib as i0,Id as ri,Ie as xi,If as gk,Ig as Ak,Ih as Dc,Ii as Ws,Ij as HR,Ik as Mc,J as wr,Ja as ng,Jb as st,Jc as xt,Jd as Wt,Je as pC,Jf as Os,Jg as Rg,Jh as NC,Ji as Yn,Jj as WR,Jk as $C,K as Ba,Ka as oC,Kb as o0,Kc as Oi,Kd as X,Ke as bg,Kf as Ig,Kg as yC,Kh as PC,Ki as Kg,Kj as Tc,Kk as lT,L as tg,La as rg,Lb as yo,Lc as j,Ld as k,Le as Fi,Lf as cn,Lg as xC,Lh as OC,Li as qg,Lj as Jg,Lk as lm,M as Co,Ma as Is,Mb as n0,Mc as zt,Md as hc,Me as Ns,Mf as bc,Mg as yc,Mh as Xk,Mi as SR,Mj as Us,Mk as ZC,N as Va,Na as sg,Nb as lC,Nc as Re,Nd as H0,Ne as di,Nf as CC,Ng as Tg,Nh as Qk,Ni as wR,Nj as BR,Nk as YC,O as ft,Oa as ge,Ob as r0,Oc as H,Od as $,Oe as Z0,Of as Zi,Og as IC,Oh as kc,Oi as dt,Oj as VR,Ok as XC,P as Xv,Pa as _t,Pb as cC,Pc as Ct,Pd as C,Pe as Y0,Pf as As,Pg as Fk,Ph as Rr,Pi as Nr,Pj as zR,Pk as cT,Q as ce,Qa as FD,Qb as Si,Qc as St,Qd as Q,Qe as vg,Qf as mk,Qg as LC,Qh as Je,Qi as Bs,Qj as At,Qk as hT,R as M,Ra as HD,Rb as Za,Rc as an,Rd as Xa,Re as Ho,Rf as SC,Rg as Hk,Rh as mn,Ri as Gg,Rj as bn,Rk as uT,S as D,Sa as qa,Sb as bt,Sc as jn,Sd as W0,Se as fc,Sf as pk,Sg as Wk,Sh as Jk,Si as yR,Sj as em,Sk as cm,T as xe,Ta as ag,Tb as Vt,Tc as Lr,Td as B0,Te as Wo,Tf as Lg,Tg as Mg,Th as eR,Ti as xR,Tj as tm,Tk as Cn,U as ID,Ua as Ls,Ub as Z,Uc as x0,Ud as Kn,Ue as od,Uf as Se,Ug as gd,Uh as fd,Ui as IR,Uj as Lo,Uk as gT,V as ig,Va as rc,Vb as Xt,Vc as B,Vd as V0,Ve as X0,Vf as K,Vg as Ng,Vh as he,Vi as Bi,Vj as UR,Vk as QC,W as kt,Wa as Yt,Wb as s0,Wc as ne,Wd as hg,We as Q0,Wf as hn,Wg as EC,Wh as AC,Wi as Vs,Wj as mo,Wk as mT,X as De,Xa as sc,Xb as Ds,Xc as Fe,Xd as ug,Xe as Cg,Xf as mt,Xg as DC,Xh as Tr,Xi as $g,Xj as jR,Xk as pT,Y as z,Ya as WD,Yb as a0,Yc as ve,Yd as gg,Ye as Ps,Yf as Eg,Yg as xc,Yh as tR,Yi as yd,Yj as Li,Yk as hm,Z as Qv,Za as BD,Zb as d0,Zc as O,Zd as Ts,Ze as J0,Zf as It,Zg as kC,Zh as iR,Zi as Rc,Zj as KR,Zk as fT,_ as oe,_a as nC,_b as lg,_c as I0,_d as Er,_e as _c,_f as vc,_g as Ic,_h as uo,_i as Xi,_j as qR,_k as _T,a as p,aa as Jv,ab as VD,ac as l0,ad as J,ae as uc,af as fC,ag as Yi,ai as nR,aj as ER,ak as UC,al as vT,b as I,ba as je,bb as wt,bc as c0,bd as hi,be as z0,bf as nd,bg as un,bh as Pg,bi as _d,bj as qe,bk as GR,bl as CT,c as Oa,ca as Ao,cb as zD,cc as rn,cd as Jt,ce as U0,cf as ek,cg as _k,ch as Gn,ci as rR,cj as Zg,ck as $R,cl as um,d as Zv,da as LD,db as UD,dc as Me,dd as L0,de as Ja,df as _C,dg as ld,dh as Og,di as sR,dj as DR,dk as jC,dl as Nc,e as ae,ea as ED,eb as dg,ec as h0,ed as q,ee as Ai,ef as tk,eg as Fs,eh as Ag,ei as aR,ej as zs,ek as ZR,el as ST,f as Te,fa as Mi,fb as So,fc as u0,fd as Gi,fe as gc,ff as wg,fg as cd,fh as $n,fi as dR,fj as Pr,fk as YR,fl as Ld,g as oi,ga as yr,gb as wo,gc as tt,gd as wi,ge as ln,gf as ik,gg as Dg,gh as RC,gj as Or,gk as im,gl as wT,h as Aa,ha as Zt,hb as jD,hc as g0,hd as E0,he as j0,hf as ok,hg as bk,hh as Vk,hi as lR,hj as Ar,hk as vn,hl as yT,i as ji,ia as ic,ib as rC,ic as Pi,id as xo,ie as mc,if as nk,ig as vk,ii as cR,ij as Rt,ik as om,il as Pc,j as Ye,ja as on,jb as KD,jc as xr,jd as ht,je as pc,jf as rk,jg as Ck,jh as Lc,ji as hR,jj as Fr,jk as nm,jl as xT,k as Fa,ka as Ae,kb as qD,kc as m0,kd as pe,ke as gC,kf as it,kg as Sk,kh as Fg,ki as uR,kj as _n,kk as XR,kl as JC,l as fD,la as za,lb as Ga,lc as p0,ld as yi,le as mg,lf as Hi,lg as Cc,lh as Zn,li as gR,lj as WC,lk as QR,ll as gm,m as _D,ma as DD,mb as GD,mc as sn,md as co,me as re,mf as sk,mg as wk,mh as zk,mi as bd,mj as Ii,mk as JR,ml as IT,n as Qu,na as _i,nb as sC,nc as Un,nd as dn,ne as si,nf as ak,ng as yk,nh as md,ni as FC,nj as ke,nk as eT,nl as mm,o as Ju,oa as kD,ob as $D,oc as f0,od as D0,oe as ai,of as rd,og as wC,oh as Hg,oi as vd,oj as BC,ok as rm,ol as Vo,p as bD,pa as Ua,pb as ac,pc as _0,pd as k0,pe as ti,pf as Wi,pg as xk,ph as pd,pi as ee,pj as Xn,pk as Et,pl as LT,q as Ha,qa as RD,qb as ZD,qc as ks,qd as uC,qe as K0,qf as Be,qg as Ik,qh as Uk,qi as Ug,qj as kR,qk as KC,ql as ET,r as Yv,ra as ja,rb as YD,rc as ni,rd as $i,re as ed,rf as yg,rg as Lk,rh as TC,ri as Cd,rj as RR,rk as js,rl as DT,s as ys,sa as zn,sb as aC,sc as b0,sd as R0,se as pg,sf as bC,sg as Ek,sh as jk,si as ue,sj as Tt,sk as tT,sl as kT,t as lo,ta as TD,tb as Es,tc as me,td as ei,te as We,tf as ho,tg as kg,th as Wg,ti as Sd,tj as xd,tk as Mt,u as _e,ua as bi,ub as XD,uc as yt,ud as T0,ue as td,uf as ii,ug as Dk,uh as MC,ui as wd,uj as Yg,uk as Do,v as Sr,va as oc,vb as QD,vc as qi,vd as Ya,ve as Ne,vf as vC,vg as Sc,vh as Bg,vi as Mr,vj as VC,vk as sm,w as vD,wa as vt,wb as R,wc as U,wd as M0,we as Io,wf as dk,wg as hd,wh as Kk,wi as HC,wj as zC,wk as iT,x as Wa,xa as Ka,xb as Ni,xc as Rs,xd as N0,xe as q0,xf as Bo,xg as ud,xh as qk,xi as mR,xj as TR,xk as oT,y as Ki,ya as eC,yb as dC,yc as W,yd as lc,ye as Dr,yf as sd,yg as kk,yh as Gk,yi as pR,yj as MR,yk as nT,z as CD,za as MD,zb as $a,zc as v0,zd as gt,ze as G0,zf as fe,zg as Rk,zh as $k,zi as go,zj as Xg,zk as rT}from"./XCISKBJD.js";var pm=class extends ht{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:I(101,"Toggle Collapse Unchanged Regions"),icon:B.map,toggled:O.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:O.has("isInDiffEditor"),menu:{when:O.has("isInDiffEditor"),id:q.EditorTitle,order:22,group:"navigation"}})}run(e,...t){let i=e.get(re),o=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",o)}},Oc=class extends ht{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:I(102,"Toggle Show Moved Code Blocks"),precondition:O.has("isInDiffEditor")})}run(e,...t){let i=e.get(re),o=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",o)}},fm=class extends ht{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:I(103,"Toggle Use Inline View When Space Is Limited"),precondition:O.has("isInDiffEditor")})}run(e,...t){let i=e.get(re),o=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",o)}},Fc=I(104,"Diff Editor"),_m=class extends ri{constructor(){super({id:"diffEditor.switchSide",title:I(105,"Switch Side"),icon:B.arrowSwap,precondition:O.has("isInDiffEditor"),f1:!0,category:Fc})}runEditorCommand(e,t,i){let o=Ks(e);if(o instanceof Us){if(i&&i.dryRun)return{destinationSelection:o.mapToOtherSide().destinationSelection};o.switchSide()}}},bm=class extends ri{constructor(){super({id:"diffEditor.exitCompareMove",title:I(106,"Exit Compare Move"),icon:B.close,precondition:w.comparingMovedCode,f1:!1,category:Fc,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){let o=Ks(e);o instanceof Us&&o.exitCompareMove()}},vm=class extends ri{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:I(107,"Collapse All Unchanged Regions"),icon:B.fold,precondition:O.has("isInDiffEditor"),f1:!0,category:Fc})}runEditorCommand(e,t,...i){let o=Ks(e);o instanceof Us&&o.collapseAllUnchangedRegions()}},Cm=class extends ri{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:I(108,"Show All Unchanged Regions"),icon:B.unfold,precondition:O.has("isInDiffEditor"),f1:!0,category:Fc})}runEditorCommand(e,t,...i){let o=Ks(e);o instanceof Us&&o.showAllUnchangedRegions()}},Ed=class extends ht{constructor(){super({id:"diffEditor.revert",title:I(109,"Revert"),f1:!0,category:Fc,precondition:O.has("isInDiffEditor")})}run(e,t){return t?this.runViaToolbarContext(e,t):this.runViaCursorOrSelection(e)}runViaCursorOrSelection(e){let t=Ks(e);t instanceof Us&&t.revertFocusedRangeMappings()}runViaToolbarContext(e,t){let i=BP(e,t.originalUri,t.modifiedUri);i instanceof Us&&i.revertRangeMappings(t.mapping.innerChanges??[])}},RT=I(110,"Accessible Diff Viewer"),Dd=class s extends ht{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:s.id,title:I(111,"Go to Next Difference"),category:RT,precondition:O.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){Ks(e)?.accessibleDiffViewerNext()}},Ac=class s extends ht{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:s.id,title:I(112,"Go to Previous Difference"),category:RT,precondition:O.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){Ks(e)?.accessibleDiffViewerPrev()}};function BP(s,e,t){return s.get(Re).listDiffEditors().find(n=>{let r=n.getModifiedEditor(),a=n.getOriginalEditor();return r&&r.getModel()?.uri.toString()===t.toString()&&a&&a.getModel()?.uri.toString()===e.toString()})||null}function Ks(s){let t=s.get(Re).listDiffEditors(),i=sn();if(i){for(let o of t)if(o.getContainerDomNode().contains(i))return o}return null}pe(pm);pe(Oc);pe(fm);wi.appendMenuItem(q.EditorTitle,{command:{id:new Oc().desc.id,title:p(135,"Show Moved Code Blocks"),icon:B.move,toggled:I0.create("config.diffEditor.experimental.showMoves",!0),precondition:O.has("isInDiffEditor")},order:10,group:"1_diff",when:O.has("isInDiffEditor")});pe(Ed);for(let s of[{icon:B.arrowRight,key:w.diffEditorInlineMode.toNegated()},{icon:B.discard,key:w.diffEditorInlineMode}])wi.appendMenuItem(q.DiffEditorHunkToolbar,{command:{id:new Ed().desc.id,title:p(136,"Revert Block"),icon:s.icon},when:O.and(w.diffEditorModifiedWritable,s.key),order:5,group:"primary"}),wi.appendMenuItem(q.DiffEditorSelectionToolbar,{command:{id:new Ed().desc.id,title:p(137,"Revert Selection"),icon:s.icon},when:O.and(w.diffEditorModifiedWritable,s.key),order:5,group:"primary"});pe(_m);pe(bm);pe(vm);pe(Cm);wi.appendMenuItem(q.EditorTitle,{command:{id:Dd.id,title:p(138,"Open Accessible Diff Viewer"),precondition:O.has("isInDiffEditor")},order:10,group:"2_diff",when:O.and(w.accessibleDiffViewerVisible.negate(),O.has("isInDiffEditor"))});ve.registerCommandAlias("editor.action.diffReview.next",Dd.id);pe(Dd);ve.registerCommandAlias("editor.action.diffReview.prev",Ac.id);pe(Ac);var VP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zP=function(s,e){return function(t,i){e(t,i,s)}},eS,Sm=new te("selectionAnchorSet",!1),Hr=class{static{eS=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(e){return e.getContribution(eS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Sm.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(Q.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new dt().appendText(p(849,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),xt(p(850,"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(Q.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()}};Hr=eS=VP([zP(1,J)],Hr);var tS=class extends A{constructor(){super({id:"editor.action.setSelectionAnchor",label:I(851,"Set Selection Anchor"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2080),weight:100}})}async run(e,t){Hr.get(t)?.setSelectionAnchor()}},iS=class extends A{constructor(){super({id:"editor.action.goToSelectionAnchor",label:I(852,"Go to Selection Anchor"),precondition:Sm})}async run(e,t){Hr.get(t)?.goToSelectionAnchor()}},oS=class extends A{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:I(853,"Select from Anchor to Cursor"),precondition:Sm,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2089),weight:100}})}async run(e,t){Hr.get(t)?.selectFromAnchorToCursor()}},nS=class extends A{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:I(854,"Cancel Selection Anchor"),precondition:Sm,kbOpts:{kbExpr:w.editorTextFocus,primary:9,weight:100}})}async run(e,t){Hr.get(t)?.cancelSelectionAnchor()}};$(Hr.ID,Hr,4);k(tS);k(iS);k(oS);k(nS);var UP=K("editorOverviewRuler.bracketMatchForeground","#A0A0A0",p(855,"Overview ruler marker color for matching brackets.")),rS=class extends A{constructor(){super({id:"editor.action.jumpToBracket",label:I(857,"Go to Bracket"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:3165,weight:100}})}run(e,t){qs.get(t)?.jumpToBracket()}},sS=class extends A{constructor(){super({id:"editor.action.selectToBracket",label:I(858,"Select to Bracket"),precondition:void 0,metadata:{description:I(859,"Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){let o=!0;i&&i.selectBrackets===!1&&(o=!1),qs.get(t)?.selectToBracket(o)}},aS=class extends A{constructor(){super({id:"editor.action.removeBrackets",label:I(860,"Remove Brackets"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){qs.get(t)?.removeBrackets(this.id)}},dS=class{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}},qs=class s extends D{static{this.ID="editor.contrib.bracketMatchingController"}static get(e){return e.getContribution(s.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ae(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{let o=i.getStartPosition(),n=e.bracketPairs.matchBracket(o),r=null;if(n)n[0].containsPosition(o)&&!n[1].containsPosition(o)?r=n[1].getStartPosition():n[1].containsPosition(o)&&(r=n[0].getStartPosition());else{let a=e.bracketPairs.findEnclosingBrackets(o);if(a)r=a[1].getStartPosition();else{let d=e.bracketPairs.findNextBracket(o);d&&d.range&&(r=d.range.getStartPosition())}}return r?new Q(r.lineNumber,r.column,r.lineNumber,r.column):new Q(o.lineNumber,o.column,o.lineNumber,o.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(o=>{let n=o.getStartPosition(),r=t.bracketPairs.matchBracket(n);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(n),!r)){let l=t.bracketPairs.findNextBracket(n);l&&l.range&&(r=t.bracketPairs.matchBracket(l.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(C.compareRangesUsingStarts);let[l,c]=r;if(a=e?l.getStartPosition():l.getEndPosition(),d=e?c.getEndPosition():c.getStartPosition(),c.containsPosition(n)){let h=a;a=d,d=h}}a&&d&&i.push(new Q(a.lineNumber,a.column,d.lineNumber,d.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(i=>{let o=i.getPosition(),n=t.bracketPairs.matchBracket(o);n||(n=t.bracketPairs.findEnclosingBrackets(o)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=ee.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline",overviewRuler:{color:ot(UP),position:Ai.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=ee.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline"})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let e=[],t=0;for(let i of this._lastBracketsData){let o=i.brackets;o&&(e[t++]={range:o[0],options:i.options},e[t++]={range:o[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getModel(),i=t.getVersionId(),o=[];this._lastVersionId===i&&(o=this._lastBracketsData);let n=[],r=0;for(let h=0,u=e.length;h<u;h++){let g=e[h];g.isEmpty()&&(n[r++]=g.getStartPosition())}n.length>1&&n.sort(H.compare);let a=[],d=0,l=0,c=o.length;for(let h=0,u=n.length;h<u;h++){let g=n[h];for(;l<c&&o[l].position.isBefore(g);)l++;if(l<c&&o[l].position.equals(g))a[d++]=o[l];else{let m=t.bracketPairs.matchBracket(g,20),f=s._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!m&&this._matchBrackets==="always"&&(m=t.bracketPairs.findEnclosingBrackets(g,20),f=s._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new dS(g,m,f)}}this._lastBracketsData=a,this._lastVersionId=i}};$(qs.ID,qs,1);k(sS);k(rS);k(aS);wi.appendMenuItem(q.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:p(856,"Go to &&Bracket")},order:2});gn((s,e)=>{let t=s.getColor(Zk);t&&e.addRule(`.monaco-editor .bracket-match-inline { color: ${t} !important; }`)});var wm=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let i=this._selection.startLineNumber,o=this._selection.startColumn,n=this._selection.endColumn;if(!(this._isMovingLeft&&o===1)&&!(!this._isMovingLeft&&n===e.getLineMaxColumn(i)))if(this._isMovingLeft){let r=new C(i,o-1,i,o),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new C(i,n,i,n),a)}else{let r=new C(i,n,i,n+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new C(i,o,i,o),a)}}computeCursorState(e,t){return this._isMovingLeft?new Q(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Q(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}};var ym=class extends A{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let i=[],o=t.getSelections();for(let n of o)i.push(new wm(n,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},lS=class extends ym{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:I(861,"Move Selected Text Left"),precondition:w.writable})}},cS=class extends ym{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:I(862,"Move Selected Text Right"),precondition:w.writable})}};k(lS);k(cS);var hS=class extends A{constructor(){super({id:"editor.action.transposeLetters",label:I(863,"Transpose Letters"),precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let i=t.getModel(),o=[],n=t.getSelections();for(let r of n){if(!r.isEmpty())continue;let a=r.startLineNumber,d=r.startColumn,l=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&l===2))continue;let c=d===l?r.getPosition():ug.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),h=ug.leftPosition(i,c),u=ug.leftPosition(i,h),g=i.getValueInRange(C.fromPositions(u,h)),m=i.getValueInRange(C.fromPositions(h,c)),f=C.fromPositions(u,c);o.push(new Kn(f,m+g))}o.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop())}};k(hS);var jP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},KP=function(s,e){return function(t,i){e(t,i,s)}},qP=ee.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:ng,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0,widthInEm:1}}),uS=class s extends D{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(e,t,i,o,n){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(o),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=W(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;let t=W("span.icon");this.domNode.append(t),t.classList.add(...ne.asClassNameArray(B.loading),"codicon-modifier-spin");let i=()=>{let o=this.editor.getOption(75);this.domNode.style.height=`${o}px`,this.domNode.style.width=`${Math.ceil(.8*o)}px`};i(),this._register(this.editor.onDidChangeConfiguration(o=>{(o.hasChanged(61)||o.hasChanged(75))&&i()})),this._register(Z(this.domNode,me.CLICK,o=>{this.delegate.cancel()}))}getId(){return s.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)}},kd=class extends D{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new xe),this._currentWidget=this._register(new xe),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,o,n){let r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=Zt(()=>{let a=C.fromPositions(e);this._currentDecorations.set([{range:a,options:qP}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(uS,this.id,this._editor,a,t,o))},n??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};kd=jP([KP(2,j)],kd);var He=class s{static{this.sep="."}static{this.None=new s("@@none@@")}static{this.Empty=new s("")}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+s.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new s((this.value?[this.value,...e]:e).join(s.sep))}};var GP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},TT=function(s,e){return function(t,i){e(t,i,s)}},xm,Ut=class{static{xm=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new te("messageVisible",!1,p(1353,"Whether the editor is currently showing an inline message"))}static get(e){return e.getContribution(xm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new xe,this._messageListeners=new M,this._mouseOverMessage=!1,this._editor=e,this._visible=xm.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){if(xt(Bs(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),Bs(e)){let o=this._messageListeners.add(Vs(e,{actionHandler:(n,r)=>{this.closeMessage(),KR(this._openerService,n,r.isTrusted)}}));this._messageWidget.value=new Hc(this._editor,t,o.element)}else this._messageWidget.value=new Hc(this._editor,t,e);this._messageListeners.add(De.debounce(this._editor.onDidBlurEditorText,(o,n)=>n,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&m0(sn(),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(Z(this._messageWidget.value.getDomNode(),me.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Z(this._messageWidget.value.getDomNode(),me.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(o=>{o.target.position&&(i?i.containsPosition(o.target.position)||this.closeMessage():i=new C(t.lineNumber-3,1,o.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Hc.fadeOut(this._messageWidget.value))}};Ut=xm=GP([TT(1,J),TT(2,mo)],Ut);var $P=at.bindToContribution(Ut.get);X(new $P({id:"leaveEditorMessage",precondition:Ut.MESSAGE_VISIBLE,handler:s=>s.closeMessage(),kbOpts:{weight:130,primary:9}}));var Hc=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},o){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";let n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);let r=document.createElement("div");typeof o=="string"?(r.classList.add("message"),r.textContent=o):(o.classList.add("message"),r.appendChild(o)),this._domNode.appendChild(r);let a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};$(Ut.ID,Ut,4);var mS=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Wc=function(s,e){return function(t,i){e(t,i,s)}},Bc=class{constructor(e){this.copyMimeTypes=[],this.kind=e,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(e,t,i,o,n){let r=await this.getEdit(i,n);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,o){let n=await this.getEdit(i,o);if(n)return{edits:[{insertText:n.insertText,title:n.title,kind:n.kind,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}],dispose(){}}}},Qn=class s extends Bc{static{this.id="text"}constructor(){super(He.Empty.append("text","plain")),this.id=s.id,this.dropMimeTypes=[ti.text],this.pasteMimeTypes=[ti.text]}async getEdit(e,t){let i=e.get(ti.text);if(!i||e.has(ti.uriList))return;let o=await i.asString();return{handledMimeType:ti.text,title:p(980,"Insert Plain Text"),insertText:o,kind:this.kind}}},Im=class extends Bc{constructor(){super(He.Empty.append("uri","path","absolute")),this.dropMimeTypes=[ti.uriList],this.pasteMimeTypes=[ti.uriList]}async getEdit(e,t){let i=await MT(e);if(!i.length||t.isCancellationRequested)return;let o=0,n=i.map(({uri:a,originalText:d})=>a.scheme===_t.file?a.fsPath:(o++,d)).join(" "),r;return o>0?r=i.length>1?p(981,"Insert Uris"):p(982,"Insert Uri"):r=i.length>1?p(983,"Insert Paths"):p(984,"Insert Path"),{handledMimeType:ti.uriList,insertText:n,title:r,kind:this.kind}}},Lm=class extends Bc{constructor(e){super(He.Empty.append("uri","path","relative")),this._workspaceContextService=e,this.dropMimeTypes=[ti.uriList],this.pasteMimeTypes=[ti.uriList]}async getEdit(e,t){let i=await MT(e);if(!i.length||t.isCancellationRequested)return;let o=vi(i.map(({uri:n})=>{let r=this._workspaceContextService.getWorkspaceFolder(n);return r?N0(r.uri,n):void 0}));if(o.length)return{handledMimeType:ti.uriList,insertText:o.join(" "),title:i.length>1?p(985,"Insert Relative Paths"):p(986,"Insert Relative Path"),kind:this.kind}}};Lm=mS([Wc(0,Eo)],Lm);var gS=class{constructor(){this.kind=new He("html"),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:ti.text}]}async provideDocumentPasteEdits(e,t,i,o,n){if(o.triggerKind!==fc.PasteAs&&!o.only?.contains(this.kind))return;let a=await i.get("text/html")?.asString();if(!(!a||n.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:p(987,"Insert HTML"),kind:this.kind}]}}};async function MT(s){let e=s.get(ti.uriList);if(!e)return[];let t=await e.asString(),i=[];for(let o of Bg.parse(t))try{i.push({uri:ge.parse(o),originalText:o})}catch{}return i}var Gs={scheme:"*",hasAccessToAllModels:!0},Em=class extends D{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(Gs,new Qn)),this._register(e.documentDropEditProvider.register(Gs,new Im)),this._register(e.documentDropEditProvider.register(Gs,new Lm(t)))}};Em=mS([Wc(0,V),Wc(1,Eo)],Em);var Dm=class extends D{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(Gs,new Qn)),this._register(e.documentPasteEditProvider.register(Gs,new Im)),this._register(e.documentPasteEditProvider.register(Gs,new Lm(t))),this._register(e.documentPasteEditProvider.register(Gs,new gS))}};Dm=mS([Wc(0,V),Wc(1,Eo)],Dm);var pS=class s{constructor(){this.value="",this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let e=this.pos,t=0,i=this.value.charCodeAt(e),o;if(o=s._table[i],typeof o=="number")return this.pos+=1,{type:o,pos:e,len:1};if(s.isDigitCharacter(i)){o=8;do t+=1,i=this.value.charCodeAt(e+t);while(s.isDigitCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}if(s.isVariableCharacter(i)){o=9;do i=this.value.charCodeAt(e+ ++t);while(s.isVariableCharacter(i)||s.isDigitCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}o=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof s._table[i]>"u"&&!s.isDigitCharacter(i)&&!s.isVariableCharacter(i));return this.pos+=t,{type:o,pos:e,len:t}}},Wr=class{constructor(){this._children=[]}appendChild(e){return e instanceof jt&&this._children[this._children.length-1]instanceof jt?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:i}=e,o=i.children.indexOf(e),n=i.children.slice(0);n.splice(o,1,...t),i._children=n,(function r(a,d){for(let l of a)l.parent=d,r(l.children,l)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Rd)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}},jt=class s extends Wr{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new s(this.value)}},km=class extends Wr{},Qi=class s extends km{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof $s?this._children[0]:void 0}clone(){let e=new s(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}},$s=class s extends Wr{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof jt&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let e=new s;return this.options.forEach(e.appendChild,e),e}},fS=class s extends Wr{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){let t=this,i=!1,o=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(n=>n instanceof zo&&!!n.elseValue)&&(o=this._replace([])),o}_replace(e){let t="";for(let i of this._children)if(i instanceof zo){let o=e[i.index]||"";o=i.resolve(o),t+=o}else t+=i.toString();return t}toString(){return""}clone(){let e=new s;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}},zo=class s extends Wr{constructor(e,t,i,o){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=o}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":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 i=e.trim().replace(/^_+|_+$/g,""),o=i.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 o?o.map(n=>n.toLowerCase()).join("-"):i.split(/[\s_-]+/).filter(n=>n.length>0).map(n=>n.toLowerCase()).join("-")}_toPascalCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map((i,o)=>o===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toSnakeCase(e){return e.replace(/(\p{Ll})(\p{Lu})/gu,"$1_$2").replace(/[\s\-]+/g,"_").toLowerCase()}clone(){return new s(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Br=class s extends km{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 jt(t)],!0):!1}clone(){let e=new s(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}};function NT(s,e){let t=[...s];for(;t.length>0;){let i=t.shift();if(!e(i))break;t.unshift(...i.children)}}var Rd=class s extends Wr{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(i){return i instanceof Qi&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){let{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(o=>o===e?(i=!0,!1):(t+=o.len(),!0)),i?t:-1}fullLen(e){let t=0;return NT([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:i}=e;for(;i;)i instanceof Qi&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Br&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let e=new s;return e._children=this.children.map(t=>t.clone()),e}walk(e){NT(this.children,e)}},Vi=class{constructor(){this._scanner=new pS,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){let o=new Rd;return this.parseFragment(e,o),this.ensureFinalTabstop(o,i??!1,t??!1),o}parseFragment(e,t){let i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let o=new Map,n=[];t.walk(d=>(d instanceof Qi&&(d.isFinalTabstop?o.set(0,void 0):!o.has(d.index)&&d.children.length>0?o.set(d.index,d.children):n.push(d)),!0));let r=(d,l)=>{let c=o.get(d.index);if(!c)return;let h=new Qi(d.index);h.transform=d.transform;for(let u of c){let g=u.clone();h.appendChild(g),g instanceof Qi&&o.has(g.index)&&!l.has(g.index)&&(l.add(g.index),r(g,l),l.delete(g.index))}t.replace(d,[h])},a=new Set;for(let d of n)r(d,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(n=>n.index===0)||e.appendChild(new Qi(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){let t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){let o=this._scanner.next();if(o.type!==0&&o.type!==4&&o.type!==5)return!1}this._token=this._scanner.next()}let i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new jt(t)),!0):!1}_parseTabstopOrVariableName(e){let t,i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Qi(Number(t)):new Br(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t,i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);let n=new Qi(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new jt("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else if(n.index>0&&this._accept(7)){let r=new $s;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(r),this._accept(4)))return e.appendChild(n),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i)}_parseChoiceElement(e){let t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let o;if((o=this._accept(5,!0))?o=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||o:o=this._accept(void 0,!0),!o)return this._backTo(t),!1;i.push(o)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new jt(i.join(""))),!0)}_parseComplexVariable(e){let t,i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);let n=new Br(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new jt("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i)}_parseTransform(e){let t=new fS,i="",o="";for(;!this._accept(6);){let n;if(n=this._accept(5,!0)){n=this._accept(6,!0)||n,i+=n;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let n;if(n=this._accept(5,!0)){n=this._accept(5,!0)||this._accept(6,!0)||n,t.appendChild(new jt(n));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){o+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,o)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);let o=this._accept(8,!0);if(o)if(i){if(this._accept(4))return e.appendChild(new zo(Number(o))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new zo(Number(o))),!0;else return this._backTo(t),!1;if(this._accept(6)){let n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new zo(Number(o),n)),!0)}else if(this._accept(11)){let n=this._until(4);if(n)return e.appendChild(new zo(Number(o),void 0,n,void 0)),!0}else if(this._accept(12)){let n=this._until(4);if(n)return e.appendChild(new zo(Number(o),void 0,void 0,n)),!0}else if(this._accept(13)){let n=this._until(1);if(n){let r=this._until(4);if(r)return e.appendChild(new zo(Number(o),void 0,n,r)),!0}}else{let n=this._until(4);if(n)return e.appendChild(new zo(Number(o),void 0,void 0,n)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new jt(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}};function Rm(s,e,t){return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:t.additionalEdit?.edits??[]}:{edits:[...e.map(i=>new em(s,{range:i,text:typeof t.insertText=="string"?Vi.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...t.additionalEdit?.edits??[]]}}function Tm(s){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}let t=new Map;for(let r of s)for(let a of r.yieldTo??[])for(let d of s)if(d!==r&&e(a,d)){let l=t.get(r);l||(l=[],t.set(r,l)),l.push(d)}if(!t.size)return Array.from(s);let i=new Set,o=[];function n(r){if(!r.length)return[];let a=r[0];if(o.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return n(r.slice(1));let d=[],l=t.get(a);return l&&(o.push(a),d=n(l),o.pop()),i.add(a),[...d,a,...n(r.slice(1))]}return n(Array.from(s))}function _S(s,e){return e&&(s.stack||s.stacktrace)?p(33,"{0}: {1}",OT(s),PT(s.stack)||PT(s.stacktrace)):OT(s)}function PT(s){return Array.isArray(s)?s.join(`
|
|
3
|
+
`):s}function OT(s){return s.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${s.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof s.code=="string"&&typeof s.errno=="number"&&typeof s.syscall=="string"?p(34,"A system error occurred ({0})",s.message):s.message||p(35,"An unknown error occurred. Please consult the log for more details.")}function Td(s=null,e=!1){if(!s)return p(36,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(s)){let t=vi(s),i=Td(t[0],e);return t.length>1?p(37,"{0} ({1} errors in total)",i,t.length):i}if(Ju(s))return s;if(s.detail){let t=s.detail;if(t.error)return _S(t.error,e);if(t.exception)return _S(t.exception,e)}return s.stack?_S(s,e):s.message?s.message:p(38,"An unknown error occurred. Please consult the log for more details.")}var Mm=class extends D{constructor(e){super(),this._onChange=this._register(new z),this.onChange=this._onChange.event,this._checked=!!e.checked,this._title=e.title??e.ariaLabel,this.domNode=W("button.monaco-switch"),this.domNode.type="button",this.domNode.setAttribute("role","switch"),U(this.domNode,W(".monaco-switch-thumb")),this._register($g().setupDelayedHover(this.domNode,()=>({content:this._title,style:1}))),this.setAriaLabel(e.ariaLabel,e.title),this.disabled=!!e.disabled,this._applyState(),this._register(Z(this.domNode,me.CLICK,t=>{yt.stop(t,!0),!this.domNode.disabled&&(this._checked=!this._checked,this._applyState(),this._onChange.fire(this._checked))}))}get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,this._applyState())}get disabled(){return this.domNode.disabled}set disabled(e){this.domNode.disabled=e}setAriaLabel(e,t=e){this.domNode.setAttribute("aria-label",e),this._title=t}_applyState(){this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked)}};var ZP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},AT=function(s,e){return function(t,i){e(t,i,s)}},Md=class extends D{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,i={},o,n){super(),this._link=t,this._hoverService=o,this._enabled=!0,this.el=U(e,W("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??jg("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");let r=this._register(new Hg(this.el,"click")),a=this._register(new Hg(this.el,"keydown")),d=De.chain(a.event,h=>h.map(u=>new wr(u)).filter(u=>u.keyCode===3||u.keyCode===10)),l=this._register(new Hg(this.el,Lc.Tap)).event;this._register(Fg.addTarget(this.el));let c=De.any(r.event,d,l);this._register(c(h=>{this.enabled&&(yt.stop(h,!0),i?.opener?i.opener(this._link.href):n.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)}};Md=ZP([AT(3,Lt),AT(4,mo)],Md);var yS=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Vr=function(s,e){return function(t,i){e(t,i,s)}},bS,Am="acceptSelectedCodeAction",Fm="previewSelectedCodeAction",YP=new Set([Am,Fm,"toggleSectionCodeAction"]),XP="actionList.remove",vS=class{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");let t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.text.textContent=e.group?.title??e.label??""}disposeTemplate(e){}},CS=class{get templateId(){return"separator"}renderTemplate(e){e.classList.add("separator");let t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){i.container.classList.toggle("has-label",!!e.label),i.text.textContent=e.label??""}disposeTemplate(e){}};function FT(s){return!!s.submenuActions?.length&&!s.hover?.content||!!s.hover?.expandable}function HT(s){return FT(s)&&s.hover?.showIndicator!==!1}var SS=class{get templateId(){return"action"}constructor(e,t,i,o,n,r,a,d,l,c,h,u){this._supportsPreview=e,this._onRemoveItem=t,this._onShowSubmenu=i,this._reservesSubmenuSpace=o,this._groupTitleByIndex=n,this._linkHandler=r,this._hideDefaultKeybindingTooltip=a,this._stopToolbarPointerPropagation=d,this._registerStandaloneToggle=l,this._registerToolbar=c,this._keybindingService=h,this._openerService=u}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement("div");t.className="icon",e.append(t);let i=document.createElement("span");i.className="title",e.append(i);let o=document.createElement("span");o.className="action-item-badge",o.ariaHidden="true",e.append(o);let n=document.createElement("span");n.className="description",e.append(n);let r=document.createElement("span");r.className="group-title",e.append(r);let a=document.createElement("span");a.className="detail",e.append(a);let d=new vn(e,tn),l=document.createElement("div");l.className="action-list-item-toolbar",e.append(l);let c=document.createElement("div");c.className="action-list-submenu-indicator",e.append(c);let h=document.createElement("div");h.className="action-list-item-inline-toggle",e.append(h);let u=new M;return{container:e,icon:t,text:i,detail:a,badge:o,description:n,groupTitle:r,keybinding:d,toolbar:l,submenuIndicator:c,inlineToggleContainer:h,elementDisposables:u}}renderElement(e,t,i){if(i.elementDisposables.clear(),e.iconClasses?.length?(i.icon.className=["icon",...e.iconClasses].join(" "),i.icon.style.color=""):e.group?.icon?(i.icon.className=ne.asClassName(e.group.icon),i.icon.style.color=e.group.icon.color?Se(e.group.icon.color.id):""):(i.icon.className=ne.asClassName(B.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item&&!e.standaloneToggle||!e.label)return;if(v0(!e.hideIcon,i.icon),e.isSectionToggle){let c=e.group?.icon===B.chevronDown;i.container.setAttribute("aria-expanded",String(c))}else i.container.removeAttribute("aria-expanded");i.previousClassNames?.length&&i.container.classList.remove(...i.previousClassNames);let o=e.className?.split(/\s+/).filter(c=>c.length>0)??[];if(i.container.classList.toggle("action-list-custom",o.length>0),o.length&&i.container.classList.add(...o),i.previousClassNames=o,i.text.textContent=ko(e.label),e.badge?(i.badge.textContent=e.badge,i.badge.style.display=""):(i.badge.textContent="",i.badge.style.display="none"),e.keybinding)i.description.textContent=e.keybinding.getLabel(),i.description.style.display="inline",i.description.style.letterSpacing="0.5px";else if(e.description){if(Vt(i.description),typeof e.description=="string")i.description.textContent=ko(e.description);else{let c=Vs(e.description,{actionHandler:h=>{let u=ge.parse(h);this._linkHandler?this._linkHandler(u,e):this._openerService.open(u,{allowCommands:!0})}});i.elementDisposables.add(c),i.description.appendChild(c.element)}i.description.style.display="inline"}else i.description.textContent="",i.description.style.display="none";let n=this._groupTitleByIndex.get(t);n?(i.groupTitle.textContent=n,i.groupTitle.style.display=""):(i.groupTitle.textContent="",i.groupTitle.style.display="none"),e.detail?(i.detail.textContent=ko(e.detail),i.detail.style.display=""):(i.detail.textContent="",i.detail.style.display="none"),i.container.classList.toggle("has-detail",!!e.detail),Vt(i.inlineToggleContainer);let r=e.standaloneToggle??e.inlineToggle;if(r){let c=document.createElement("span");c.className="action-list-item-inline-toggle-label",c.textContent=ko(r.label),e.standaloneToggle||i.inlineToggleContainer.append(c),i.inlineToggleContainer.style.display="",i.container.classList.toggle("has-inline-toggle",!!e.inlineToggle),i.container.classList.toggle("has-standalone-toggle",!!e.standaloneToggle);let h=i.elementDisposables.add(new Mm({ariaLabel:r.title??r.label,checked:r.checked,disabled:r.disabled}));i.inlineToggleContainer.append(h.domNode),e.standaloneToggle&&i.elementDisposables.add(this._registerStandaloneToggle(e,h)),i.elementDisposables.add(h.onChange(()=>r.onChange(h.checked))),i.elementDisposables.add(Z(i.inlineToggleContainer,me.CLICK,u=>u.stopPropagation()))}else i.inlineToggleContainer.style.display="none",i.container.classList.remove("has-inline-toggle"),i.container.classList.remove("has-standalone-toggle");let a=this._keybindingService.lookupKeybinding(Am)?.getLabel(),d=this._keybindingService.lookupKeybinding(Fm)?.getLabel();i.container.classList.toggle("option-disabled",!!e.disabled),e.hover!==void 0?i.container.title="":e.tooltip?i.container.title=e.tooltip:e.disabled?i.container.title=e.label:e.standaloneToggle||this._hideDefaultKeybindingTooltip?i.container.title="":a&&d?this._supportsPreview&&e.canPreview?i.container.title=p(1731,"{0} to Apply, {1} to Preview",a,d):i.container.title=p(1732,"{0} to Apply",a):i.container.title="",Vt(i.toolbar);let l=[...e.toolbarActions??[]];if(e.onRemove&&l.push(x0({id:XP,label:p(1733,"Remove"),class:ne.asClassName(B.close),run:async()=>{await e.onRemove(),this._onRemoveItem?.(e)}})),i.container.classList.toggle("has-toolbar",l.length>0),l.length>0){let c=new Xi(i.toolbar);i.elementDisposables.add(c),this._stopToolbarPointerPropagation?(i.elementDisposables.add(Ds(i.toolbar,h=>{h.preventDefault(),h.stopPropagation()})),i.elementDisposables.add(Z(i.toolbar,me.CLICK,h=>h.stopPropagation())),i.elementDisposables.add(Z(i.toolbar,Lc.Tap,h=>h.stopPropagation()))):i.elementDisposables.add(Ds(i.toolbar,h=>h.preventDefault())),c.push(l,{icon:!0,label:!1}),i.elementDisposables.add(this._registerToolbar(e,c))}HT(e)?(i.submenuIndicator.className="action-list-submenu-indicator has-submenu "+ne.asClassName(B.chevronRight),i.submenuIndicator.style.display="",i.submenuIndicator.style.visibility="",i.elementDisposables.add(Z(i.submenuIndicator,me.CLICK,c=>{c.stopPropagation(),this._onShowSubmenu?.(e)}))):this._reservesSubmenuSpace()?(i.submenuIndicator.className="action-list-submenu-indicator",i.submenuIndicator.style.display="",i.submenuIndicator.style.visibility="hidden"):(i.submenuIndicator.className="action-list-submenu-indicator",i.submenuIndicator.style.display="none"),FT(e)?(i.container.setAttribute("aria-haspopup",e.hover?.expandable?"dialog":"menu"),i.container.setAttribute("aria-expanded","false")):(i.container.removeAttribute("aria-haspopup"),e.isSectionToggle||i.container.removeAttribute("aria-expanded"))}disposeTemplate(e){e.keybinding.dispose(),e.elementDisposables.dispose()}};SS=yS([Vr(10,he),Vr(11,mo)],SS);var Nm=class extends UIEvent{constructor(){super("acceptSelectedAction")}},Pm=class extends UIEvent{constructor(){super("previewSelectedAction")}};function QP(s){if(s.kind==="action")return s.label}var wS=bS=class extends D{constructor(e,t,i,o,n,r,a,d,l){if(super(),this._supportsPreview=t,this._delegate=o,this._options=r,this._keybindingService=a,this._openerService=d,this._instantiationService=l,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new Oe),this._submenuDisposables=this._register(new M),this._submenuHoverActionElements=[],this._itemMoveAnimation=this._register(new xe),this._collapsedSections=new Set,this._filterText="",this._imeSessionInProgress=!1,this._isMeasuringWidth=!1,this._suppressHover=!1,this._hoverEnabled=!0,this._ignoreInitialHover=!0,this._hasLaidOut=!1,this._filterCts=this._register(new xe),this._groupTitleByIndex=new Map,this._standaloneToggles=new Map,this._itemToolbars=new Map,this._onDidRequestLayout=this._register(new z),this.onDidRequestLayout=this._onDidRequestLayout.event,this._visibleMenuItems=i,this._initialFocusItemId=this._options?.initialFocusItemId,this._filterText=this._options?.showFilter?this._options.initialFilterValue??"":"",this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._options?.inlineDescription&&this.domNode.classList.add("inline-description"),this._options?.className){let g=this._options.className.split(/\s+/).filter(m=>m.length>0);g.length>0&&this.domNode.classList.add(...g)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement("div"),this._submenuContainer.className="action-list-submenu-panel action-widget",this._submenuContainer.style.display="none",this._options?.persistentHover&&(this._submenuContainer.style.boxSizing="border-box"),this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(Z(this._submenuContainer,"keydown",g=>{if((g.key==="Enter"||g.key===" ")&&this._currentSubmenuElement?.hover?.tabThroughPanel){let f=ni(g.target)?g.target:void 0;if(f&&this._currentSubmenuElement.hover.getTabbableElements?.().includes(f)){g.stopPropagation();return}}if(g.key!=="ArrowLeft"&&g.key!=="Escape")return;yt.stop(g,!0);let m=g.key==="Escape"&&this._currentSubmenuWidget!==void 0;if(this._hideSubmenu(),m){this.hide();return}this._setKeyboardNavigation(!0),this._list.domFocus()})),this._register(Z(this._submenuContainer,"mouseenter",()=>{this._cancelSubmenuHide(),this._usesSubmenuPointerIntent()&&(this._cancelSubmenuShow(),this._resetSubmenuPointer())})),this._register(Z(this._submenuContainer,"mouseleave",()=>{this._scheduleSubmenuHide()})),this._register(Z(this.domNode,me.MOUSE_LEAVE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._usesSubmenuPointerIntent()&&this._register(Z(this.domNode,me.MOUSE_MOVE,g=>{ni(g.target)&&this._expandedTrigger?.contains(g.target)&&this._updateSubmenuPointer(g)})),this._register(ce(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let g of this._options.collapsedByDefault)this._collapsedSections.add(g);let c={getHeight:g=>this._getItemHeight(g),getTemplateId:g=>g.kind},h=()=>{let g=this._options?.reserveSubmenuSpace??!0;return g==="always"||g&&this._allMenuItems.some(HT)};this._list=this._register(new yd(e,this.domNode,c,[new SS(this._supportsPreview,g=>this._removeItem(g),g=>this._showSubmenuForItem(g),h,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._options?.stopToolbarPointerPropagation??!1,(g,m)=>(this._standaloneToggles.set(g,m),ce(()=>{this._standaloneToggles.get(g)===m&&this._standaloneToggles.delete(g)})),(g,m)=>(this._itemToolbars.set(g,m),this._updateToolbarFocusability(),ce(()=>{this._itemToolbars.get(g)===m&&this._itemToolbars.delete(g)})),this._keybindingService,this._openerService),new vS,new CS],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter&&!this._options?.onType,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:QP},accessibilityProvider:{getAriaLabel:g=>{if(g.kind==="action"){let m=g.label?ko(g?.label):"";if(g.badge&&(m=m+", "+ko(g.badge)),g.detail&&(m=m+", "+ko(g.detail)),g.ariaDescription)m=m+", "+ko(g.ariaDescription);else if(g.description){let _=typeof g.description=="string"?g.description:g.description.value;m=m+", "+ko(_)}if(g.hover?.content&&!g.ariaDescription&&!g.description){let _=g.hover.content,b=typeof _=="string"?_:Bs(_)?_.value:ni(_)?_.textContent??void 0:void 0;b&&(!g.detail||ko(g.detail)!==ko(b))&&(m=m+", "+ko(b))}g.group?.title&&(m=m+", "+g.group.title);let f=g.standaloneToggle??g.inlineToggle;return f&&(m=g.standaloneToggle?f.checked?p(1734,"{0}, on",f.label):p(1735,"{0}, off",f.label):m+", "+(f.checked?p(1736,"{0}, on",f.label):p(1737,"{0}, off",f.label))),g.disabled&&(m=p(1738,"{0}, Disabled Reason: {1}",m,g.disabled)),g.submenuActions?.length&&(m=p(1739,"{0}, use right arrow to access options",m)),m}return null},getWidgetAriaLabel:()=>p(1740,"Action Widget"),getSetSize:()=>this._visibleMenuItems.filter(g=>g.kind==="action").length,getPosInSet:(g,m)=>Math.max(this._visibleMenuItems.slice(0,m+1).filter(f=>f.kind==="action").length,1),getRole:g=>{switch(g.kind){case"action":return"option";case"separator":return"separator";default:return"separator"}},getWidgetRole:()=>"listbox",...n}})),this._list.style(MR),this._register(this._list.onKeyDown(()=>this._setKeyboardNavigation(!0))),this._register(Z(this._list.getHTMLElement(),me.MOUSE_MOVE,g=>{(g.movementX!==0||g.movementY!==0)&&this._setKeyboardNavigation(!1)})),this._register(this._list.onMouseClick(g=>this.onListClick(g))),this._register(this._list.onMouseOver(g=>{this._ignoreInitialHover||this.onListHover(g)}));let u=this._register(new xe);if(u.value=this._list.onMouseMove(g=>{(g.browserEvent.movementX!==0||g.browserEvent.movementY!==0)&&(u.clear(),this._ignoreInitialHover=!1,this.onListHover(g))}),this._register(this._list.onMouseDown(()=>{u.clear(),this._ignoreInitialHover=!1,this._setKeyboardNavigation(!1)})),this._register(this._list.onDidChangeFocus(()=>{this._updateToolbarFocusability(),this.onFocus()})),this._register(this._list.onDidChangeSelection(g=>this.onListSelection(g))),this._register(this._list.onDidScroll(()=>{this._isMeasuringWidth||this._layoutSubmenu?.()})),this._allMenuItems=[...i],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement("div"),this._filterContainer.className="action-list-filter";let g=U(this._filterContainer,W(".action-list-filter-row"));if(this._options?.showFilter){if(this._filterInput=document.createElement("input"),this._filterInput.type="text",this._filterInput.className="action-list-filter-input",this._filterInput.placeholder=this._options?.filterPlaceholder??p(1741,"Search..."),this._filterInput.value=this._filterText,this._filterInput.setAttribute("aria-label",p(1742,"Filter items")),g.appendChild(this._filterInput),this._register(Z(this._filterInput,me.KEY_DOWN,_=>{if(this._setKeyboardNavigation(!0),_.isComposing||!this._filterInput?.closest(".action-list-submenu-panel"))return;let b=this._keybindingService.softDispatch(new wr(_),this._filterInput);(b.kind===2&&b.commandId!==null&&YP.has(b.commandId)||_.key.length===1&&!_.ctrlKey&&!_.metaKey&&!_.altKey)&&_.stopPropagation()})),this._register(Z(this._filterInput,me.MOUSE_DOWN,()=>this._setKeyboardNavigation(!1))),this._options.tabThroughItemActions&&this._register(Z(this._filterInput,"keydown",_=>this._handleTabThroughPanelKeyDown(_),!0)),this._options.filterAsCombobox){let _=this._list.getHTMLElement();_.id=this._list.domId,this._filterInput.setAttribute("role","combobox"),this._filterInput.setAttribute("aria-label",this._filterInput.placeholder),this._filterInput.setAttribute("aria-autocomplete","list"),this._filterInput.setAttribute("aria-expanded","true"),this._filterInput.setAttribute("aria-controls",_.id),this._register(this._list.onDidChangeFocus(()=>this._updateFilterActiveDescendant())),this._register(Z(this._filterInput,"focus",()=>this._updateFilterActiveDescendant())),this._register(Z(this._filterInput,"blur",()=>this._updateFilterActiveDescendant())),this._register(Xt(this._filterInput,"keydown",b=>{if(this._imeSessionInProgress||b.browserEvent.isComposing||b.keyCode===114||b.keyCode===15||b.keyCode===17||b.keyCode===14||b.keyCode===13){b.stopPropagation();return}let y=b.keyCode===16||b.keyCode===18;if(!(!y&&b.keyCode!==3)){if(b.ctrlKey||b.metaKey||b.altKey||b.shiftKey){y&&b.stopPropagation();return}yt.stop(b,!0),b.keyCode===16?this.focusPrevious():b.keyCode===18?this.focusNext():this.acceptSelected()}}))}let m=this._options?.filterActions??[];if(m.length>0){let _=U(g,W(".action-list-filter-actions"));this._register(new Xi(_)).push(m,{icon:!0,label:!1})}let f=()=>{let _=this._filterInput.value;this._imeSessionInProgress||_===this._filterText&&!this._filterCts.value?.token.isCancellationRequested||(this._filterText=_,this._applyOrUpdateFilter())};this._register(Z(this._filterInput,"compositionstart",()=>{this._imeSessionInProgress=!0,this._filterCts.value?.cancel()})),this._register(Z(this._filterInput,"compositionend",()=>{this._imeSessionInProgress=!1,f()})),this._register(Z(this._filterInput,"input",f))}if(this._options?.secondaryHeading){let m=U(g,W(".action-list-filter-label"));m.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 m=U(this._headerContainer,W("span.action-list-header-icon"));m.classList.add(...ne.asClassNameArray(this._options.headerIcon)),m.setAttribute("aria-hidden","true")}let g=U(this._headerContainer,W("span.action-list-header-text"));if(g.textContent=this._options.headerText,this._register(Z(this._headerContainer,me.MOUSE_ENTER,()=>{this._options?.persistentHover?(this._cancelSubmenuShow(),this._resetSubmenuPointer()):this._hideSubmenu()})),this._options.headerLink){let{label:m,uri:f}=this._options.headerLink;g.textContent+=" ",this._register(this._instantiationService.createInstance(Md,g,{label:m,href:f.toString(!0)},{}))}if(this._options.headerDismiss){let m=this._options.headerDismiss,f=U(this._headerContainer,W("span.action-list-header-dismiss"));f.appendChild(W(ne.asCSSSelector(B.close))),f.tabIndex=0,f.setAttribute("role","button"),f.setAttribute("aria-label",p(1743,"Dismiss"));let _=()=>{m(),this.focus(),this._headerContainer?.remove(),this._headerContainer=void 0,this._onDidRequestLayout.fire()};this._register(a0(f,()=>_())),this._register(Z(f,me.KEY_DOWN,b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),_())}))}}this._applyFilter(),this._list.length&&this._focusCheckedOrFirst(),this._register(Z(this.domNode,"keydown",g=>{if(g.key==="ArrowRight"&&!g.isComposing){let m=this._list.getFocus();if(m.length>0){let f=this._list.element(m[0]);if(f?.submenuActions?.length||f?.hover?.expandable){yt.stop(g,!0);let _=this._getRowElement(m[0]);_&&(this._showSubmenuForElement(f,_),f.hover?.tabThroughPanel?this._focusFirstTabThroughPanelControl(f,_):this._currentSubmenuWidget?this._currentSubmenuWidget.focus():this._submenuContainer.focus())}}}})),this._register(Z(this.domNode,"keydown",g=>this._handleTabThroughPanelKeyDown(g),!0)),(this._filterInput||this._options?.onType)&&this._register(Z(this.domNode,"keydown",g=>{let m=g.target;(this._options?.onType||this._options?.filterAsCombobox)&&ni(m)&&(w0(m)||m.closest('button, a, [contenteditable="true"], .action-list-submenu-panel'))||(!this._filterInput||!Un(this._filterInput))&&!g.isComposing&&g.key.length===1&&g.key!==" "&&!g.ctrlKey&&!g.metaKey&&!g.altKey&&(g.preventDefault(),g.stopPropagation(),this._filterInput?(this._filterInput.focus(),this._filterInput.value=g.key,this._filterText=g.key,this._applyOrUpdateFilter()):this._options?.onType?.(g.key))}))}_toggleSection(e){let t=this._collapsedSections.has(e);if(t)this._collapsedSections.delete(e);else{this._collapsedSections.add(e);let i=this.getFocusedElement();if(i?.section===e&&!i.isSectionToggle){let o=this._visibleMenuItems.findIndex(n=>n.section===e&&n.isSectionToggle);o>=0&&this._list.setFocus([o])}}this._options?.onDidToggleSection?.(e,this._collapsedSections.has(e)),this._applyFilter(),t&&this._revealFirstItemOfSection(e)}_revealFirstItemOfSection(e){for(let t=0;t<this._list.length;t++){let i=this._list.element(t);if(i.section===e&&!i.isSectionToggle){this._list.reveal(t);return}}}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let e=this._filterText;this._filterCts.value?.cancel();let t=new Oe;this._filterCts.value=t,this._delegate.onFilter(e,t.token).then(i=>{t.token.isCancellationRequested||(this._allMenuItems=[...i],this._applyFilter(!0))}).catch(()=>{}).finally(()=>{this._filterCts.value===t&&!t.token.isCancellationRequested&&this._filterCts.clear()})}_applyFilter(e=!1,t=!0,i){this._itemMoveAnimation.clear();let o=e?"":this._filterText.toLowerCase(),n=!e&&o.length>0,r=[],a=this._list.getFocus(),d;if(a.length>0&&(d=this._list.element(a[0])),n){let f,_=[],b=!1,v=()=>{f&&b&&r.push(f),r.push(..._),f=void 0,_=[],b=!1},y=L=>{let E=(L.label??"").toLowerCase(),S=typeof L.description=="string"?L.description:L.description?.value??"";return E.includes(o)||S.toLowerCase().includes(o)};for(let L of this._allMenuItems)if(L.kind!=="header"){if(L.kind==="separator"){v(),f=L.label?L:void 0;continue}if(L.showAlways){_.push(L);continue}if(!L.isSectionToggle){if(L.filterItems){let E=y(L)?L.filterItems:L.filterItems.filter(y);E.length>0&&(b=!0,_.push(...E));continue}y(L)&&(b=!0,_.push(L))}}v()}else for(let f of this._allMenuItems){if(f.kind==="header"){r.push(f);continue}if(f.kind==="separator"){if(f.section&&this._collapsedSections.has(f.section))continue;r.push(f);continue}if(f.isSectionToggle&&f.section){let _=this._collapsedSections.has(f.section);r.push({...f,group:{...f.group,icon:_?B.chevronRight:B.chevronDown}});continue}f.section&&this._collapsedSections.has(f.section)||r.push(f)}let l=[],c=!1;for(let f=0;f<r.length;f++)l[f]=c,r[f].kind==="action"&&(c=!0);let h=[],u=!1;for(let f=r.length-1;f>=0;f--){if(r[f].kind==="action"){u=!0;continue}r[f].kind==="separator"&&(h[f]=u,u=!1)}for(let f=r.length-1;f>=0;f--){let _=r[f];if(_.kind!=="separator")continue;let b=h[f],v=!_.label&&!l[f];(!b||v)&&r.splice(f,1)}this._options?.showGroupTitleOnFirstItem&&this._recomputeGroupTitles(r);let g=this._filterInput&&Un(this._filterInput),m=f0(this._list.getHTMLElement());if(this._visibleMenuItems=r,this._list.splice(0,this._list.length,r),t&&this._onDidRequestLayout.fire(),g)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut&&(d||i)){let f=i??d?.item?.id;if(f){for(let _=0;_<this._list.length;_++)if(this._list.element(_).item?.id===f){this._list.setFocus([_]),this._list.reveal(_);break}m&&(this._focusCheckedOrFirst(),this._list.domFocus())}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}get closeAnimation(){return this._options?.closeAnimation}focusCondition(e){return!e.disabled&&e.kind==="action"}_setKeyboardNavigation(e){if(this._keyboardNavigation===e)return;this._keyboardNavigation=e;let t=this._list.getHTMLElement();t.classList.toggle("keyboard-navigation",e===!0),t.classList.toggle("mouse-navigation",e===!1)}_updateFilterActiveDescendant(){if(!this._filterInput)return;let[e]=this._list.getFocus();Un(this._filterInput)&&e!==void 0?this._filterInput.setAttribute("aria-activedescendant",this._list.getElementID(e)):this._filterInput.removeAttribute("aria-activedescendant")}focus(){if(this._setKeyboardNavigation(void 0),this._filterInput&&this._options?.focusFilterOnOpen){this._filterInput.focus(),this._focusCheckedOrFirst();return}this._list.domFocus(),this._focusCheckedOrFirst(),this._showTabThroughPanelForFocusedItem()}clearFocus(){this._list.setFocus([])}getFocusedElement(){let e=this._list.getFocus();if(e.length>0)return this._list.element(e[0])}_updateToolbarFocusability(){if(!this._options?.tabThroughItemActions)return;let[e]=this._list.getFocus(),t=e!==void 0&&e<this._list.length?this._list.element(e):void 0;for(let[i,o]of this._itemToolbars)o.setFocusable(i===t)}_focusCheckedOrFirst(){let e=this._suppressHover;this._suppressHover=!0;try{let t=this._initialFocusItemId;if(this._initialFocusItemId=void 0,t)for(let n=0;n<this._list.length;n++){let r=this._list.element(n);if(this.focusCondition(r)&&r.item?.id===t){this._list.setFocus([n]),this._list.reveal(n);return}}let[i]=this._list.getFocus();if(i!==void 0){let n=this._list.element(i);if(n&&this.focusCondition(n)){this._list.reveal(i);return}}for(let n=0;n<this._list.length;n++){let r=this._list.element(n);if(this.focusCondition(r)&&r.item?.checked){this._list.setFocus([n]),this._list.reveal(n);return}}this._list.focusFirst(void 0,this.focusCondition);let o=this._list.getFocus();o.length>0&&this._list.reveal(o[0])}finally{this._suppressHover=e,this._options?.filterAsCombobox&&this._updateFilterActiveDescendant()}}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){return this._itemHeightWith(e,this._options)}_itemHeightWith(e,t){switch(e.kind){case"header":return this._headerLineHeight;case"separator":return e.label?this._actionLineHeight:this._separatorLineHeight;default:return e.inlineToggle?t?.inlineToggleItemHeight??70:e.detail?t?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){return this.computeHeightForItems(this._allMenuItems,void 0,this._options)}computeHeightForItems(e,t,i){let o=0;for(let n of e)t&&n.section&&!n.isSectionToggle&&t.has(n.section)||(o+=this._itemHeightWith(n,i));return o}computeListHeight(){let e=this._list.length,t=0;for(let i=0;i<e;i++){let o=this._list.element(i);t+=this._getItemHeight(o)}return t}layout(e,t){this._hasLaidOut=!0,this._list.layout(e,t),this.domNode.style.height=`${e}px`;let i=this.domNode.parentElement;i&&this._filterContainer?.parentElement===i&&i.insertBefore(this._filterContainer,this.domNode),this._layoutSubmenu?.()}computeMaxWidth(e){let t=this._list.length,i=Math.max(e,this._options?.minWidth??0),o=this._options?.maxWidth??Number.POSITIVE_INFINITY,n=Math.max(o,i),r=c=>Math.min(Math.max(c,i),n),a=this._allMenuItems.length;if(a>=50)return r(380);if(a>t){let c=[];for(let f=0;f<t;f++)c.push(this._list.element(f));let h=this._list.renderHeight,u=this._list.scrollTop,g=this._list.getFocus(),m=this._isMeasuringWidth;this._isMeasuringWidth=!0;try{let f=[...this._allMenuItems];this._list.splice(0,t,f);let _=0;for(let v of f)_+=this._getItemHeight(v);this._list.layout(_);let b=this._measureItemWidths(f);return r(Math.max(...b))}finally{try{this._list.splice(0,this._list.length,c),this._list.layout(h),this._list.scrollTop=u;let f=this._suppressHover;this._suppressHover=!0;try{this._list.setFocus(g)}finally{this._suppressHover=f}}finally{this._isMeasuringWidth=m}}}let d=[];for(let c=0;c<t;c++)d.push(this._list.element(c));let l=this._measureItemWidths(d);return r(Math.max(...l))}focusPrevious(){if(this._setKeyboardNavigation(!0),this._focusFilterResult("previous"))return;if(this._filterInput&&Un(this._filterInput)){this._list.domFocus();let i=this._list.getFocus();if(i.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let o=this._list.getFocus();o.length>0&&o[0]>=i[0]?this._filterInput.focus():o.length>0&&this._list.reveal(o[0])}else{this._list.focusLast(void 0,this.focusCondition);let o=this._list.getFocus();o.length>0&&this._list.reveal(o[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._setKeyboardNavigation(!0),this._focusFilterResult("next"))return;if(this._filterInput&&Un(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let o=this._list.getFocus();o.length>0&&this._list.reveal(o[0])}else{this._list.focusFirst(void 0,this.focusCondition);let o=this._list.getFocus();o.length>0&&this._list.reveal(o[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])}}_focusFilterResult(e){if(!this._options?.filterAsCombobox||!this._filterInput||!Un(this._filterInput))return!1;e==="previous"?this._list.focusPrevious(1,!0,void 0,this.focusCondition):this._list.focusNext(1,!0,void 0,this.focusCondition);let[t]=this._list.getFocus();return t!==void 0&&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 i=t[0],o=this._list.element(i);if(!this.focusCondition(o))return;let n=e?new Pm:new Nm;this._list.setSelection([i],n)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];if(t.standaloneToggle){this._list.setSelection([]);let o=this._standaloneToggles.get(t);o&&!o.disabled&&(o.checked=!o.checked,t.standaloneToggle.onChange(o.checked));return}if(t.isSectionToggle&&t.section){this._list.setSelection([]);let o=t.section;queueMicrotask(()=>{this._toggleSection(o)});return}let i=b0(e.browserEvent)||e.browserEvent?.type===Lc.Tap;if(i){let o=e.browserEvent.target;if(ni(o)&&(o.closest(".action-list-item-toolbar")||o.closest(".action-list-submenu-indicator")||o.closest(".action-list-item-inline-toggle"))){this._list.setSelection([]);return}}if(t.openSubmenuOnClick&&t.submenuActions?.length&&(i||e.browserEvent instanceof Nm)){this._list.setSelection([]),this._showSubmenuForItem(t),i||this._currentSubmenuWidget?.focus();return}if(t.item&&this.focusCondition(t)){let o=e.browserEvent instanceof Pm;this._delegate.onSelect(t.item,o&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],i=this._list.element(t);this._delegate.onFocus?.(i.item),this._suppressHover||(this._options?.persistentHover&&(this._cancelSubmenuShow(),this._resetSubmenuPointer(),this._list.reveal(t)),this._showHoverForElement(i,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 i=0;i<e.length;i++){let o=e[i];o.kind==="action"&&o.group?.title&&!t.has(o.group.title)&&(t.add(o.group.title),this._groupTitleByIndex.set(i,o.group.title))}}_measureItemWidths(e){let t=[];for(let i=0;i<e.length;i++){let o=this._getRowElement(i);o&&(o.style.width="auto",t.push({element:o,item:e[i]}))}try{return t.map(({element:i,item:o})=>i.getBoundingClientRect().width+(o.detail?0:this._computeToolbarWidth(o)))}finally{for(let{element:i}of t)i.style.width=""}}_computeToolbarWidth(e){let t=e.toolbarActions?.length??0;return e.onRemove&&t++,t===0?0:t*22+6+10}_getRowElement(e){return e<0?null:this.domNode.ownerDocument.getElementById(this._list.getElementID(e))}_showTabThroughPanelForFocusedItem(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],i=this._list.element(t);if(!i.hover?.tabThroughPanel)return;let o=this._getRowElement(t);o&&this._showSubmenuForElement(i,o)}_getTabThroughPanelControls(e,t){return e.hover?.tabThroughPanel&&this._currentSubmenuElement!==e&&this._showSubmenuForElement(e,t),{toolbar:this._itemToolbars.get(e),panelControls:[...e.hover?.getTabbableElements?.()??[],...this._submenuHoverActionElements]}}_focusFirstTabThroughPanelControl(e,t){let i=this._getTabThroughPanelControls(e,t);i.toolbar?.length()?i.toolbar.focus(0):(i.panelControls[0]??this._list.getHTMLElement()).focus()}_handleTabThroughPanelKeyDown(e){if(e.isComposing)return;let t=this._list.getFocus();if(t.length===0)return;let i=t[0],o=this._list.element(i);if(!o.hover?.tabThroughPanel&&!this._options?.tabThroughItemActions)return;let n=this._getRowElement(i),r=sn();if(!n||!ni(r))return;let a=this._getTabThroughPanelControls(o,n),d=a.toolbar?.isFocused()??!1,l=this._submenuContainer.contains(r);if((e.key==="ArrowUp"||e.key==="ArrowDown")&&(d||l)){yt.stop(e,!0),this._list.domFocus(),e.key==="ArrowUp"?this.focusPrevious():this.focusNext();return}if(e.key!=="Tab"||e.ctrlKey||e.metaKey||e.altKey)return;let c;if(e.shiftKey){if(l){let h=a.panelControls.indexOf(r);if(h>0)c=a.panelControls[h-1];else if(a.toolbar?.length()){yt.stop(e,!0),a.toolbar.focus(a.toolbar.length()-1);return}else c=this._list.getHTMLElement()}else if(a.toolbar?.isFocused()){let h=a.toolbar.viewItems.findIndex((u,g)=>a.toolbar?.isFocused(g));if(h>0){yt.stop(e,!0),a.toolbar.focus(h-1);return}c=this._options?.filterAsCombobox?this._filterInput:this._list.getHTMLElement()}}else if(r===this._list.getHTMLElement()||r===this._filterInput){if(a.toolbar?.length()){yt.stop(e,!0),a.toolbar.focus(0);return}c=a.panelControls[0]}else if(a.toolbar?.isFocused()){let h=a.toolbar.viewItems.findIndex((u,g)=>a.toolbar?.isFocused(g));if(h+1<a.toolbar.length()){yt.stop(e,!0),a.toolbar.focus(h+1);return}c=a.panelControls[0]}else{let h=a.panelControls.indexOf(r);h>=0&&(c=a.panelControls[h+1]??this._list.getHTMLElement())}c&&(yt.stop(e,!0),c.focus())}_showHoverForElement(e,t){if(this._currentSubmenuElement===e)return;let i=!!e.hover?.content,o=!!e.submenuActions?.length;if(i||o){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n);return}this._options?.persistentHover||this._hideSubmenu()}_showSubmenuForItem(e){let t=this._list.indexOf(e);if(t>=0){let i=this._getRowElement(t);i&&this._showSubmenuForElement(e,i)}}_showSubmenuForElement(e,t){if(!this._hoverEnabled||this._currentSubmenuElement===e)return;this._currentSubmenuElement=e,this._clearSubmenuContainer(),t.setAttribute("aria-expanded","true"),this._expandedTrigger=t,this._submenuPanelClassName=e.hover?.panelClassName,this._submenuPanelClassName&&this._submenuContainer.classList.add(this._submenuPanelClassName);let i=e.hover?.preserveVerticalPosition,o=!!e.submenuActions?.length,n=i?W(".action-list-submenu-content"):this._submenuContainer,r=i?W(".action-list-submenu-viewport",void 0,n):void 0,a=r&&!o?this._submenuDisposables.add(new md(r,{horizontal:2,vertical:1,consumeMouseWheelIfScrollbarIsNeeded:!0,useShadows:!1})):void 0;a&&r?(this._submenuContainer.appendChild(a.getDomNode()),this._submenuDisposables.add(Z(r,me.SCROLL,()=>a.scanDomNode())),this._submenuDisposables.add(Z(this._submenuContainer,me.KEY_DOWN,b=>{let v=new wr(b);(v.equals(12)||v.equals(11))&&(yt.stop(b,!0),a.setScrollPosition({scrollTop:a.getScrollPosition().scrollTop+(v.equals(12)?1:-1)*r.clientHeight}))}))):r&&this._submenuContainer.appendChild(r);let d,l=typeof e.hover?.content=="function"?e.hover.content():e.hover?.content;if(l){if(ni(l))d=l,e.hover?.disposable&&this._register(e.hover.disposable);else{let b=typeof l=="string"?new dt(l):l,v=this._options?.linkHandler,y=Vs(b,{actionHandler:L=>{let E=ge.parse(L);v?v(E,e):this._openerService.open(E,{allowCommands:!0})}});this._submenuDisposables.add(y),d=y.element}d.classList.add("action-list-submenu-hover-header"),d.classList.toggle("content-owns-padding",e.hover?.contentOwnsPadding===!0),e.submenuActions?.length&&d.classList.add("has-submenu"),n.appendChild(d)}if(e.hover?.actions?.length){let b=W(".hover-row.status-bar"),v=U(b,W(".actions"));for(let y of e.hover.actions){let L=this._keybindingService.lookupKeybinding(y.commandId),E=this._submenuDisposables.add(nm.render(v,{label:y.label,commandId:y.commandId,run:S=>y.run(S),iconClass:y.iconClass},L?.getLabel()??null));this._submenuHoverActionElements.push(E.actionContainer)}this._submenuContainer.appendChild(b)}this._submenuContainer.style.display="",this._submenuContainer.style.position="absolute",e.hover?.expandable?(this._submenuContainer.setAttribute("role","dialog"),e.label&&this._submenuContainer.setAttribute("aria-label",e.label)):this._submenuContainer.removeAttribute("role");let c=bt(this.domNode),h=0,u=d?d.offsetWidth:0,g;if(o){let b=this._createSubmenuItems(e.submenuActions),v={onHide:()=>{},onSelect:E=>{E.run();let S=this._currentSubmenuElement?.item;this._hideSubmenu(),S&&this._delegate.onSelect(S),this.hide()}},y=this._submenuDisposables.add(this._instantiationService.createInstance(bS,"submenu",!1,b,v,void 0,e.submenuOptions));g=y,y.headerContainer&&n.appendChild(y.headerContainer),y.filterContainer&&n.appendChild(y.filterContainer),n.appendChild(y.domNode),y.footerContainer&&n.appendChild(y.footerContainer),this._currentSubmenuWidget=y,y.clearFocus(),h=y.computeListHeight(),y.layout(h);let L=y.computeMaxWidth(0);u=Math.max(u,L,y.footerContainer?.offsetWidth??0),y.layout(h,u),y.domNode.style.width=`${u}px`,e.submenuOptions&&(this._submenuContainer.style.boxSizing="border-box",this._submenuContainer.style.width=`${u+10}px`),this._submenuDisposables.add(y.onDidRequestLayout(()=>{h=y.computeListHeight(),y.layout(h,u),this._layoutSubmenu?.()})),this._submenuDisposables.add(Z(n,"keydown",E=>{E.key==="Escape"?(yt.stop(E,!0),this._hideSubmenu(),this.hide()):E.key==="ArrowLeft"?(yt.stop(E,!0),this._hideSubmenu(),this._setKeyboardNavigation(!0),this._list.domFocus()):E.key==="Enter"||E.key===" "?(yt.stop(E,!0),y.acceptSelected()):E.key==="ArrowDown"?(yt.stop(E,!0),y.focusNext()):E.key==="ArrowUp"&&(yt.stop(E,!0),y.focusPrevious())}))}let m,f,_=()=>{let b=this._currentSubmenuElement;if(!b||this._layoutSubmenu!==_)return;let v=this._list.indexOf(b),y=v>=0?this._getRowElement(v):null,L=this._options?.persistentHover;if(!y&&(!L||!this._allMenuItems.includes(b))){this._hideSubmenu();return}this._expandedTrigger!==y&&(this._expandedTrigger?.hasAttribute("aria-expanded")&&this._expandedTrigger.setAttribute("aria-expanded","false"),this._expandedTrigger=y??void 0),y?.setAttribute("aria-expanded","true");let E=this.domNode.getBoundingClientRect(),S=L||b.hover?.alignToParent,x=S?this.domNode.parentElement?.closest(".action-widget")?.getBoundingClientRect()??E:E,T=y?.getBoundingClientRect()??x,N=S||i?g0(this.domNode):1;L&&(this._submenuContainer.style.width=`${x.width/N}px`);let F=this._submenuContainer.getBoundingClientRect(),P=S?F.width:u+10,Y=c.innerWidth-(S?x.right:T.right),le=x.left,de=S?0:4,Ee=4;if(!S){let ut=c.innerWidth-2*Ee;P>ut&&(P=Math.max(ut,0)),this._submenuContainer.style.boxSizing="border-box",this._submenuContainer.style.width=`${P}px`}let ye=Y>=P||Y>=le;L&&this._submenuSide&&(this._submenuSide==="right"?Y:le)>=P&&(ye=this._submenuSide==="right"),L&&(this._submenuSide=ye?"right":"left");let Pe=ye?x.right-E.left+de:x.left-E.left-P-de,we=E.left+Pe;we<Ee?Pe+=Ee-we:we+P>c.innerWidth-Ee&&(Pe-=we+P-(c.innerWidth-Ee)),this._submenuContainer.style.left=`${Pe/N}px`;let Ie=F.height;i&&(m??=Ie/N);let ct=m!==void 0?m*N:Ie,$e=f!==void 0?f*N:y&&b.hover?.alignToAnchorTop?T.top-E.top:y?T.top-E.top+(T.height-ct)/2:F.top-E.top;if(i&&b.hover?.alignToAnchorTop&&r&&g){let ut=F.height-r.getBoundingClientRect().height,rt=(g.headerContainer?.offsetHeight??0)+(g.filterContainer?.offsetHeight??0)+(g.footerContainer?.offsetHeight??0),Ze=ut+(rt+h)*N;$e=Math.min($e,c.innerHeight-E.top-Ze-8)}let Ue=E.top+$e+ct;if(Ue>c.innerHeight&&!(i&&b.hover?.alignToAnchorTop)&&($e-=Ue-c.innerHeight+8),E.top+$e<0&&($e=-E.top),i&&(f??=$e/N),r&&a){let ut=(F.height-a.getDomNode().getBoundingClientRect().height)/N,rt=Math.max(0,(c.innerHeight-E.top-$e-8)/N-ut);r.style.height=`${Math.min(n.getBoundingClientRect().height/N,rt)}px`,a.scanDomNode()}else if(r&&g){let ut=(F.height-r.getBoundingClientRect().height)/N,rt=Math.max(0,(c.innerHeight-E.top-$e-8)/N-ut),Ze=(g.headerContainer?.offsetHeight??0)+(g.filterContainer?.offsetHeight??0)+(g.footerContainer?.offsetHeight??0),$t=h===0?0:Math.max(this._actionLineHeight,Math.min(h,rt-Ze));g.layout($t,u),r.style.height=`${Ze+$t}px`}this._submenuContainer.style.top=`${$e/N}px`};if(this._layoutSubmenu=_,_(),(this._options?.persistentHover||e.hover?.alignToParent||e.hover?.tabThroughPanel||i)&&this._currentSubmenuElement===e){if(!g){let b=this._submenuDisposables.add(new xe),v=this._submenuDisposables.add(new S0("ActionListWidget.hoverPanel",()=>{b.value||(b.value=l0(c,()=>{b.clear(),_()}))},c));this._submenuDisposables.add(v.observe(i?n:this._submenuContainer,{box:"border-box"}))}(this._options?.persistentHover||i)&&this._submenuDisposables.add(Z(c,me.RESIZE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer(),_()}))}}_createSubmenuItems(e){let t=[],o=e.filter(n=>n instanceof Lr).filter(n=>n.actions.length>0);for(let n=0;n<o.length;n++){let r=o[n];r.label&&t.push({kind:"header",group:{title:r.label},label:r.label});for(let a of r.actions){let d=a,l=d.icon??ne.fromId(a.checked?B.check.id:B.blank.id),c=d.hoverContent,h=c?new dt().appendText(`${a.label}
|
|
4
|
+
`).appendMarkdown(c):void 0;t.push({item:a,kind:"action",label:a.label,description:a.tooltip&&a.tooltip!==a.label?a.tooltip:void 0,group:{title:"",icon:l},hideIcon:!1,hover:h?{content:h}:void 0,tooltip:a.tooltip||a.label,onRemove:d.onRemove,submenuActions:a instanceof Lr?[new Lr(a.id,"",a.actions)]:void 0})}n<o.length-1&&t.push({kind:"separator",label:""})}for(let n of e)if(!(n instanceof Lr)){let r=n,a=r.icon??ne.fromId(n.checked?B.check.id:B.blank.id),d=r.hoverContent,l=d?new dt().appendText(`${n.label}
|
|
5
|
+
`).appendMarkdown(d):void 0;t.push({item:n,kind:"action",label:n.label,description:n.tooltip&&n.tooltip!==n.label?n.tooltip:void 0,group:{title:"",icon:a},hideIcon:!1,hover:l?{content:l}:void 0,tooltip:n.tooltip||n.label,onRemove:r.onRemove})}return t}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._currentSubmenuElement=void 0,this._submenuSide=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display="none"}_clearSubmenuContainer(){this._layoutSubmenu=void 0,this._resetSubmenuPointer(),this._submenuContainer.contains(sn())&&this._list.domFocus(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._submenuHoverActionElements=[],this._submenuPanelClassName&&(this._submenuContainer.classList.remove(this._submenuPanelClassName),this._submenuPanelClassName=void 0),this._submenuContainer.removeAttribute("role"),this._submenuContainer.removeAttribute("aria-label"),this._expandedTrigger?.hasAttribute("aria-expanded")&&this._expandedTrigger.setAttribute("aria-expanded","false"),this._expandedTrigger=void 0,Vt(this._submenuContainer),this._submenuContainer.style.width="",this._submenuContainer.style.boxSizing=this._options?.persistentHover?"border-box":""}_scheduleSubmenuHide(){this._cancelSubmenuHide(),!this._options?.persistentHover&&(this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300))}_cancelSubmenuHide(){this._submenuHideTimeout!==void 0&&(clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0)}_scheduleSubmenuShow(e,t){this._cancelSubmenuShow();let i=this._options?.submenuHoverDelay??500;if(this._usesSubmenuPointerIntent()){i=0;let n=this._submenuPointerOrigin;if(n&&t.clientX!==n.x&&this._currentSubmenuElement&&new y0(n.x,n.y,this._submenuContainer).contains(t.clientX,t.clientY)){let r=Date.now();this._submenuPointerGraceDeadline??=r+200,i=Math.max(0,this._submenuPointerGraceDeadline-r)}}let o=()=>{this._submenuShowTimeout=void 0;let n=this._list.indexOf(e),r=n>=0?this._getRowElement(n):null;r&&(this._showSubmenuForElement(e,r),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(t))};i===0?o():this._submenuShowTimeout=setTimeout(o,i)}_updateSubmenuPointer(e){this._submenuPointerOrigin={x:e.clientX,y:e.clientY},this._submenuPointerGraceDeadline=void 0}_resetSubmenuPointer(){this._submenuPointerOrigin=void 0,this._submenuPointerGraceDeadline=void 0}_usesSubmenuPointerIntent(){return this._options?.persistentHover===!0||this._options?.submenuPointerIntent===!0}_cancelSubmenuShow(){this._submenuShowTimeout!==void 0&&(clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0)}async onListHover(e){this._setKeyboardNavigation(!1);let t=e.element;if(t&&t.item&&this.focusCondition(t)){let i=typeof e.index=="number"?[e.index]:[],o=sn();if(this._options?.tabThroughItemActions&&this._list.getFocus()[0]!==e.index&&ni(o)&&this.domNode.contains(o)&&o.closest(".action-list-item-toolbar")&&this._list.domFocus(),ni(e.browserEvent.target)&&e.browserEvent.target.closest(".action-list-item-toolbar")!==null){t.submenuActions?.length||this._cancelSubmenuShow(),this._list.setFocus(this._options?.tabThroughItemActions?i:[]);return}let r=!!(t.submenuActions?.length||t.hover?.content),a=this._suppressHover;(r||this._usesSubmenuPointerIntent())&&(this._suppressHover=!0);try{this._list.setFocus(i)}finally{this._suppressHover=a}if(r){this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(e.browserEvent)):(this._usesSubmenuPointerIntent()||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent));return}if(this._currentSubmenuElement===t?this._cancelSubmenuHide():(this._cancelSubmenuShow(),this._options?.submenuPointerIntent?this._scheduleSubmenuHide():this._options?.persistentHover||this._hideSubmenu()),this._delegate.onHover&&!t.disabled&&t.kind==="action"&&this._currentSubmenuElement!==t){let d=await this._delegate.onHover(t.item,this.cts.token),l=d?d.canPreview:void 0;l!==t.canPreview&&(t.canPreview=l,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._options?.persistentHover||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent)))}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};wS=bS=yS([Vr(6,he),Vr(7,mo),Vr(8,j)],wS);var Om=class extends D{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 closeAnimation(){return this._widget.closeAnimation}get widgetClassName(){return this._widgetClassName}get anchorPosition(){if(this._preferredAnchorPosition!==void 0)return this._preferredAnchorPosition;if(this._showAbove!==void 0)return this._showAbove?1:0}constructor(e,t,i,o,n,r,a,d,l,c){super(),this._contextViewService=d,this._layoutService=l,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=a,this._preferredAnchorPosition=r?.anchorPosition,this._useFullHeight=r?.useFullHeight??!1,this._widgetClassName=r?.widgetClassName,this._widget=this._register(c.createInstance(wS,e,t,i,o,n,r)),this._register(this._widget.onDidRequestLayout(()=>{this._hasLaidOut&&(this.layout(this._lastMinWidth),this._contextViewService.layout())}))}focus(){this._widget.focus()}hide(e,t=!0){this._widget.hide(e),t&&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=bt(e).getComputedStyle(e),i=o=>Number.parseFloat(o)||0;return i(t.paddingTop)+i(t.paddingBottom)+i(t.borderTopWidth)+i(t.borderBottomWidth)}computeHeight(){let e=this._fixedContentHeight??this._widget.computeListHeight(),t=this._widget.filterContainer?36:0,i=this._widget.footerContainer?32:0,o=this._widget.headerContainer&&!this._widget.headerContainer.hidden?this._widget.headerContainer.offsetHeight||36:0,n=t+i+o,r=bt(this.domNode),a;if(this.hasDynamicHeight()||this._preferredAnchorPosition!==void 0){let u=r.innerHeight,g=kR(this._anchor),m=g.top-r.pageYOffset,_=u-m-g.height-30,b=m;if(this._showAbove===void 0){let v=this._fixedContentHeight??this._widget.computeFullHeight();this._showAbove=this._preferredAnchorPosition!==void 0?this._preferredAnchorPosition===1:n+v>_&&b>_}a=Math.max(0,(this._showAbove?b:_)-this.computeActionWidgetVerticalChromeHeight())}else{let g=this._layoutService.getContainer(r).clientHeight,m=this.domNode.getBoundingClientRect().top;a=m>0?g-m-10:g*.7}let d=this._useFullHeight?r.innerHeight:Math.floor(r.innerHeight*.6),l=this._widget.lineHeight;if(this._preferredAnchorPosition!==void 0){let u=Math.min(a,d),g=Math.min(e+n,Math.max(0,u));return Math.max(0,g-n)}let c=Math.min(Math.max(a,l*3+n),d);return Math.min(e+n,c)-n}layout(e,t){this._hasLaidOut=!0,this._lastMinWidth=e,t!==void 0&&(this._fixedContentHeight=t);let i=this.computeHeight();this._widget.layout(i);let o=this._widget.computeMaxWidth(e);return this._cachedMaxWidth=o,this._widget.layout(i,this._cachedMaxWidth),this._cachedMaxWidth}};Om=yS([Vr(7,Fr),Vr(8,eT),Vr(9,j)],Om);function ko(s){return s.replace(/\r\n|\r|\n/g," ")}var JP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},xS=function(s,e){return function(t,i){e(t,i,s)}};K("actionBar.toggledBackground",gd,p(1744,"Background color for toggled action items in action bar."));var WT="--action-widget-close-start-opacity",BT="--action-widget-close-start-transform",Ei={Visible:new te("codeActionMenuVisible",!1,p(1745,"Whether the action widget list is visible")),FilterFocused:new te("codeActionMenuFilterFocused",!1,p(1746,"Whether the action widget filter input is focused"))},Ji=zt("actionWidgetService"),Uo=class extends D{get isVisible(){return Ei.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new xe),this._closeAnimation=this._register(new xe)}show(e,t,i,o,n,r,a,d,l){let c=Ei.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(Om,e,t,i,o,d,l,n);this._contextViewService.showContextView({getAnchor:()=>n,render:u=>(c.set(!0),this._renderWidget(u,h,a??[],l)),onHide:u=>{c.reset(),this._onWidgetClosed(u)},get anchorPosition(){return h.anchorPosition},focus:()=>h.focus()},r,!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){let t=this._list.value,i=this._widgetElement;if(!t||this._closingList===t)return;let o=t.closeAnimation;if(!i||!o||o.duration<=0||!this._hasRequiredAncestorClasses(i,o.requiredAncestorClasses)){this._closingList=t,t.hide(e);return}this._closingList=t;let n=bt(i).getComputedStyle(i);i.style.setProperty(WT,n.opacity),i.style.setProperty(BT,n.transform),i.classList.add(o.className),t.hide(e,!1),this._closeAnimation.value=Zt(()=>{this._list.value===t&&this._contextViewService.hideContextView(e)},o.duration)}clear(){this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement?.style.removeProperty(WT),this._widgetElement?.style.removeProperty(BT),this._widgetElement=void 0,this._list.clear()}_renderWidget(e,t,i,o){let n=document.createElement("div");n.classList.add("action-widget");let r=t.widgetClassName?.split(/\s+/).filter(Boolean);if(r?.length&&n.classList.add(...r),e.appendChild(n),this._widgetElement=n,this._list.value=t,this._list.value)this._list.value.headerContainer&&n.appendChild(this._list.value.headerContainer),this._list.value.filterContainer&&n.appendChild(this._list.value.filterContainer),n.appendChild(this._list.value.domNode),this._list.value.footerContainer&&n.appendChild(this._list.value.footerContainer);else throw new Error("List has no value");let a=new M;o?.filterAsCombobox&&a.add(Xt(n,"keydown",b=>{b.keyCode===9&&!b.browserEvent.isComposing&&(yt.stop(b,!0),this.hide(!0))}));let d=this._list.value.headerContainer;d&&a.add(Ds(d,b=>b.preventDefault()));let l=0;a.add(Ds(n,()=>{l=Date.now()+1e3}));let c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-block"),a.add(Ds(h,b=>b.stopPropagation()));let u=0;if(i.length){let b=this._createActionBar(".action-widget-action-bar",i);b&&(n.appendChild(b.getContainer().parentElement),a.add(b),u=b.getContainer().offsetWidth)}let g=this._list.value?.layout(u);n.style.width=`${g}px`;let m=Ei.FilterFocused.bindTo(this._contextKeyService);if(a.add({dispose:()=>m.reset()}),this._list.value?.filterInput){let b=this._list.value.filterInput;a.add(Z(b,"focus",()=>m.set(!0))),a.add(Z(b,"blur",()=>m.set(!1)))}let f=a.add(qi(e)),_=a.add(new xe);return a.add(f.onDidFocus(()=>_.clear())),a.add(f.onDidBlur(()=>{let b=()=>{let v=l-Date.now();if(v>0){_.value=Zt(b,v);return}let y=sn();y&&(e.contains(y)||y.closest(".action-widget-hover")||y.closest(".action-list-submenu-panel"))||this.hide(!0)};_.value=Zt(b,75)})),a}_createActionBar(e,t){if(!t.length)return;let i=W(e),o=new Xi(i);return o.push(t,{icon:!1,label:!0}),o}_hasRequiredAncestorClasses(e,t){if(!t?.length)return!0;for(let i=e;i;i=i.parentElement)if(t.every(o=>i.classList.contains(o)))return!0;return!1}_onWidgetClosed(e){if(this._closingList===this._list.value){this.clear();return}this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement=void 0,this._list.value?.hide(e)}};Uo=JP([xS(0,Fr),xS(1,J),xS(2,j)],Uo);ai(Ji,Uo,1);var Jn=1100;pe(class extends ht{constructor(){super({id:"hideCodeActionWidget",title:I(1747,"Hide action widget"),precondition:Ei.Visible,keybinding:{weight:Jn,primary:9,secondary:[1033]}})}run(s){s.get(Ji).hide(!0)}});pe(class extends ht{constructor(){super({id:"clearFilterCodeActionWidget",title:I(1748,"Clear action widget filter"),precondition:O.and(Ei.Visible,Ei.FilterFocused),keybinding:{weight:Jn+1,primary:9}})}run(s){let e=s.get(Ji);e instanceof Uo&&(e.clearFilter()||e.hide(!0))}});pe(class extends ht{constructor(){super({id:"selectPrevCodeAction",title:I(1749,"Select previous action"),precondition:Ei.Visible,keybinding:{weight:Jn,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(s){let e=s.get(Ji);e instanceof Uo&&e.focusPrevious()}});pe(class extends ht{constructor(){super({id:"selectNextCodeAction",title:I(1750,"Select next action"),precondition:Ei.Visible,keybinding:{weight:Jn,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(s){let e=s.get(Ji);e instanceof Uo&&e.focusNext()}});pe(class extends ht{constructor(){super({id:"collapseSectionCodeAction",title:I(1751,"Collapse section"),precondition:O.and(Ei.Visible,Ei.FilterFocused.negate()),keybinding:{weight:Jn,primary:15}})}run(s){let e=s.get(Ji);e instanceof Uo&&e.collapseSection()}});pe(class extends ht{constructor(){super({id:"expandSectionCodeAction",title:I(1752,"Expand section"),precondition:O.and(Ei.Visible,Ei.FilterFocused.negate()),keybinding:{weight:Jn,primary:17}})}run(s){let e=s.get(Ji);e instanceof Uo&&e.expandSection()}});pe(class extends ht{constructor(){super({id:"toggleSectionCodeAction",title:I(1753,"Toggle section"),precondition:O.and(Ei.Visible,Ei.FilterFocused.negate()),keybinding:{weight:Jn,primary:10}})}run(s){let e=s.get(Ji);e instanceof Uo&&(e.toggleSection()||e.acceptSelected())}});pe(class extends ht{constructor(){super({id:Am,title:I(1754,"Accept selected action"),precondition:Ei.Visible,keybinding:{weight:Jn,primary:3,secondary:[2137]}})}run(s){let e=s.get(Ji);e instanceof Uo&&e.acceptSelected()}});pe(class extends ht{constructor(){super({id:Fm,title:I(1755,"Preview selected action"),precondition:Ei.Visible,keybinding:{weight:Jn,primary:2051}})}run(s){let e=s.get(Ji);e instanceof Uo&&e.acceptSelected(!0)}});var VT=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Nd=function(s,e){return function(t,i){e(t,i,s)}},IS,LS=class extends D{static{IS=this}static{this.baseId="editor.widget.postEditWidget"}constructor(e,t,i,o,n,r,a,d,l,c,h){super(),this.typeId=e,this.editor=t,this.showCommand=o,this.range=n,this.edits=r,this.onSelectNewEdit=a,this.additionalActions=d,this._keybindingService=c,this._actionWidgetService=h,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(l),this.visibleContext.set(!0),this._register(ce(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(ce((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(u=>{this.dispose()})),this._register(De.runAndSubscribe(c.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=W(".post-edit-widget"),this.button=this._register(new YR(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Z(this.domNode,me.CLICK,()=>this.showSelector()))}getId(){return IS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let e=tt(this.button.element),t={x:e.left+e.width,y:e.top+e.height};this._actionWidgetService.show("postEditWidget",!1,this.edits.allEdits.map((i,o)=>({kind:"action",item:i,label:i.title,disabled:!1,canPreview:!1,group:{title:"",icon:ne.fromId(o===this.edits.activeEditIndex?B.check.id:B.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:i=>{this._actionWidgetService.hide(!1);let o=this.edits.allEdits.findIndex(n=>n===i);if(o!==this.edits.activeEditIndex)return this.onSelectNewEdit(o)}},t,this.editor.getDomNode()??void 0,this.additionalActions)}};LS=IS=VT([Nd(8,J),Nd(9,he),Nd(10,Ji)],LS);var Pd=class extends D{constructor(e,t,i,o,n,r,a,d){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=o,this._getAdditionalActions=n,this._instantiationService=r,this._bulkEditService=a,this._notificationService=d,this._currentWidget=this._register(new xe),this._register(De.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,o,n){if(!e.length||!this._editor.hasModel())return;let r=this._editor.getModel(),a=t.allEdits.at(t.activeEditIndex);if(!a)return;let d=async b=>{let v=this._editor.getModel();v&&(await v.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:b,allEdits:t.allEdits},i,o,n))},l=(b,v)=>{oi(b)||(this._notificationService.error(v),i&&this.show(e[0],t,d))},c=new Lo(this._editor,3,void 0,n),h;try{h=await LD(o(a,c.token),c.token)}catch(b){return l(b,p(991,`Error resolving edit '{0}':
|
|
6
|
+
{1}`,a.title,Td(b)))}finally{c.dispose()}if(n.isCancellationRequested)return;let u=Rm(r.uri,e,h),g=e[0],m=r.deltaDecorations([],[{range:g,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let f,_;try{f=await this._bulkEditService.apply(u,{editor:this._editor,token:n}),_=r.getDecorationRange(m[0])}catch(b){return l(b,p(992,`Error applying edit '{0}':
|
|
7
|
+
{1}`,a.title,Td(b)))}finally{r.deltaDecorations(m,[])}n.isCancellationRequested||i&&f.isApplied&&t.allEdits.length>1&&this.show(_??g,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(LS,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i,this._getAdditionalActions()))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};Pd=VT([Nd(5,j),Nd(6,bn),Nd(7,Je)],Pd);var eO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},er=function(s,e){return function(t,i){e(t,i,s)}},Ro,DS="editor.changePasteType",tO="editor.pasteAs.preferences",Hm=new te("pasteWidgetVisible",!1,p(971,"Whether the paste widget is showing")),ES="application/vnd.code.copymetadata",jo=class extends D{static{Ro=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(e){return e.getContribution(Ro.ID)}constructor(e,t,i,o,n,r,a,d,l,c){super(),this._logService=i,this._bulkEditService=o,this._clipboardService=n,this._commandService=r,this._configService=a,this._languageFeaturesService=d,this._quickInputService=l,this._progressService=c,this._editor=e,this._register(e.onWillCopy(h=>this.handleCopy(h))),this._register(e.onWillCut(h=>this.handleCopy(h))),this._register(e.onWillPaste(h=>this.handlePaste(h))),this._pasteProgressManager=this._register(new kd("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Pd,"pasteIntoEditor",e,Hm,{id:DS,label:p(972,"Show paste options...")},()=>Ro._configureDefaultAction?[Ro._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(),i=this._editor._getViewModel(),o=this._editor.getSelections();if(!t||!i||!o?.length)return;let n={multicursorText:e.dataToCopy.multicursorText??null,pasteOnNewLine:e.dataToCopy.isFromEmptySelection,mode:null},r=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(h=>!!h.prepareDocumentPaste);if(!r.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:n});return}let a=new Wg,d=r.flatMap(h=>h.copyMimeTypes??[]),l=pd();this.setCopyMetadata(e.clipboardData,{id:l,providerCopyMimeTypes:d,defaultPastePayload:n});let c=r.map(h=>({providerMimeTypes:h.copyMimeTypes,operation:je(u=>h.prepareDocumentPaste(t,e.dataToCopy.sourceRanges,a,u).catch(g=>{console.error(g)}))}));Ro._currentCopyOperation?.operations.forEach(h=>h.operation.cancel()),Ro._currentCopyOperation={handle:l,operations:c}}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(ES),Ut.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let i=this._editor.getModel(),o=this._editor.getSelections();if(!o?.length||!i||this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let n=this.fetchCopyMetadata(e);this._logService.trace("CopyPasteController#handlePaste with metadata : ",n?.id," and text.length : ",e.clipboardData.getData("text/plain").length);let r=Array.from(e.clipboardData.files).map(l=>l.type),a=[...e.clipboardData.types,...r,...n?.providerCopyMimeTypes??[],ti.uriList],d=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter(l=>{let c=this._pasteAsActionContext?.preferred;return c&&!this.providerMatchesPreference(l,c)?!1:l.pasteMimeTypes?.some(h=>MC(h,a))});if(!d.length){this._pasteAsActionContext?.preferred&&(this.showPasteAsNoEditMessage(o,this._pasteAsActionContext.preferred),e.setHandled());return}e.setHandled(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,d,o,t,n):this.doPasteInline(d,o,t,n,e.browserEvent)}showPasteAsNoEditMessage(e,t){let i="only"in t?t.only.value:"preferences"in t?t.preferences.length?t.preferences.map(o=>o.value).join(", "):p(973,"empty"):t.providerId;Ut.get(this._editor)?.showMessage(p(974,"No paste edits for '{0}' found",i),e[0].getStartPosition())}doPasteInline(e,t,i,o,n){this._logService.trace("CopyPasteController#doPasteInline");let r=this._editor;if(!r.hasModel())return;let a=new Lo(r,3,void 0),d=je(async l=>{let c=this._editor;if(!c.hasModel())return;let h=c.getModel(),u=new M,g=u.add(new Oe(l));u.add(a.token.onCancellationRequested(()=>g.cancel()));let m=g.token;try{if(await this.mergeInDataFromCopy(e,i,o,m),m.isCancellationRequested)return;let f=e.filter(v=>this.isSupportedPasteProvider(v,i));if(!f.length||f.length===1&&f[0]instanceof Qn)return this.applyDefaultPasteHandler(i,o,m,n);let _={triggerKind:fc.Automatic},b=await this.getPasteEdits(f,i,h,t,_,m);if(u.add(b),m.isCancellationRequested)return;if(b.edits.length===1&&b.edits[0].provider instanceof Qn)return this.applyDefaultPasteHandler(i,o,m,n);if(b.edits.length){let v=c.getOption(97).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:this.getInitialActiveEditIndex(h,b.edits),allEdits:b.edits},v,async(y,L)=>{if(!y.provider.resolveDocumentPasteEdit)return y;let E=y.provider.resolveDocumentPasteEdit(y,L),S=new za,x=await this._pasteProgressManager.showWhile(t[0].getEndPosition(),p(975,"Resolving paste edit for '{0}'. Click to cancel",y.title),Ao(Promise.race([S.p,E]),L),{cancel:()=>S.cancel()},0);return x&&(y.insertText=x.insertText,y.additionalEdit=x.additionalEdit),y},m)}await this.applyDefaultPasteHandler(i,o,m,n)}finally{u.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),p(976,"Running paste handlers. Click to cancel and do basic paste"),d,{cancel:async()=>{d.cancel(),!a.token.isCancellationRequested&&await this.applyDefaultPasteHandler(i,o,a.token,n)}}).finally(()=>{a.dispose()}),this._currentPasteOperation=d}showPasteAsPick(e,t,i,o,n){this._logService.trace("CopyPasteController#showPasteAsPick");let r=je(async a=>{let d=this._editor;if(!d.hasModel())return;let l=d.getModel(),c=new M,h=c.add(new Lo(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(t,o,n,h.token),h.token.isCancellationRequested)return;let u=t.filter(b=>this.isSupportedPasteProvider(b,o,e));e&&(u=u.filter(b=>this.providerMatchesPreference(b,e)));let g={triggerKind:fc.PasteAs,only:e&&"only"in e?e.only:void 0},m=c.add(await this.getPasteEdits(u,o,l,i,g,h.token));if(h.token.isCancellationRequested)return;if(e&&(m={edits:m.edits.filter(b=>"only"in e?e.only.contains(b.kind):"preferences"in e?e.preferences.some(v=>v.contains(b.kind)):e.providerId===b.provider.id),dispose:m.dispose}),!m.edits.length){e&&this.showPasteAsNoEditMessage(i,e);return}let f;if(e)f=m.edits.at(0);else{let b={id:"editor.pasteAs.default",label:p(977,"Configure default paste action"),edit:void 0},v=await this._quickInputService.pick([...m.edits.map(y=>({label:y.title,description:y.kind?.value,edit:y})),...Ro._configureDefaultAction?[{type:"separator"},{label:Ro._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:p(978,"Select Paste Action")});if(v===b){Ro._configureDefaultAction?.run();return}f=v?.edit}if(!f)return;let _=Rm(l.uri,i,f);await this._bulkEditService.apply(_,{editor:this._editor})}finally{c.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:p(979,"Running paste handlers")},()=>r)}setCopyMetadata(e,t){this._logService.trace("CopyPasteController#setCopyMetadata new id : ",t.id),e.setData(ES,JSON.stringify(t))}fetchCopyMetadata(e){this._logService.trace("CopyPasteController#fetchCopyMetadata");let t=e.clipboardData.getData(ES);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,i,o){if(this._logService.trace("CopyPasteController#mergeInDataFromCopy with metadata : ",i?.id),i?.id&&Ro._currentCopyOperation?.handle===i.id){let n=Ro._currentCopyOperation.operations.filter(a=>e.some(d=>d.pasteMimeTypes.some(l=>MC(l,a.providerMimeTypes)))).map(a=>a.operation),r=await Promise.all(n);if(o.isCancellationRequested)return;for(let a of r.reverse())if(a)for(let[d,l]of a)t.replace(d,l)}if(!t.has(ti.uriList)){let n=await this._clipboardService.readResources();if(o.isCancellationRequested)return;n.length&&t.append(ti.uriList,jk(Bg.create(n)))}}async getPasteEdits(e,t,i,o,n,r){let a=new M,d=await Ao(Promise.all(e.map(async c=>{try{let h=await c.provideDocumentPasteEdits?.(i,o,t,n,r);return h&&a.add(h),h?.edits?.map(u=>({...u,provider:c}))}catch(h){oi(h)||console.error(h);return}})),r),l=vi(d??[]).flat().filter(c=>!n.only||n.only.contains(c.kind));return{edits:Tm(l),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,o){let r=await(e.get(ti.text)??e.get("text"))?.asString()??"";if(i.isCancellationRequested)return;let a={clipboardEvent:o,text:r,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,i){return e.pasteMimeTypes?.some(o=>t.matches(o))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return"only"in t?e.providedPasteEditKinds.some(i=>t.only.contains(i)):"preferences"in t?e.providedPasteEditKinds.some(i=>t.preferences.some(o=>o.contains(i))):e.id===t.providerId}getInitialActiveEditIndex(e,t){let i=this._configService.getValue(tO,{resource:e.uri});for(let o of Array.isArray(i)?i:[]){let n=new He(o),r=t.findIndex(a=>n.contains(a.kind));if(r>=0)return r}return 0}};jo=Ro=eO([er(1,j),er(2,gt),er(3,bn),er(4,Rt),er(5,Fe),er(6,re),er(7,V),er(8,At),er(9,pR)],jo);var Zs="9_cutcopypaste",iO=xs||document.queryCommandSupported&&document.queryCommandSupported("cut"),UT=xs||document.queryCommandSupported&&document.queryCommandSupported("copy"),oO=typeof navigator.clipboard>"u"||Zv?document.queryCommandSupported&&document.queryCommandSupported("paste"):!0;function MS(s){return s.register(),s}var nO=iO?MS(new cg({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:xs?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:q.MenubarEditMenu,group:"2_ccp",title:p(864,"Cu&&t"),order:1},{menuId:q.EditorContext,group:Zs,title:p(865,"Cut"),when:w.writable,order:1},{menuId:q.CommandPalette,group:"",title:p(866,"Cut"),order:1},{menuId:q.SimpleEditorContext,group:Zs,title:p(867,"Cut"),when:w.writable,order:1}]})):void 0,rO=UT?MS(new cg({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:xs?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:q.MenubarEditMenu,group:"2_ccp",title:p(868,"&&Copy"),order:2},{menuId:q.EditorContext,group:Zs,title:p(869,"Copy"),order:2},{menuId:q.CommandPalette,group:"",title:p(870,"Copy"),order:1},{menuId:q.SimpleEditorContext,group:Zs,title:p(871,"Copy"),order:2}]})):void 0;wi.appendMenuItem(q.MenubarEditMenu,{submenu:q.MenubarCopy,title:I(876,"Copy As"),group:"2_ccp",order:3});wi.appendMenuItem(q.EditorContext,{submenu:q.EditorContextCopy,title:I(877,"Copy As"),group:Zs,order:3});wi.appendMenuItem(q.EditorContext,{submenu:q.EditorContextShare,title:I(878,"Share"),group:"11_share",order:-1,when:O.and(O.notEquals("resourceScheme","output"),w.editorTextFocus)});wi.appendMenuItem(q.ExplorerContext,{submenu:q.ExplorerContextShare,title:I(879,"Share"),group:"11_share",order:-1});var kS=oO?MS(new cg({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:xs?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:q.MenubarEditMenu,group:"2_ccp",title:p(872,"&&Paste"),order:4},{menuId:q.EditorContext,group:Zs,title:p(873,"Paste"),when:w.writable,order:4},{menuId:q.CommandPalette,group:"",title:p(874,"Paste"),order:1},{menuId:q.SimpleEditorContext,group:Zs,title:p(875,"Paste"),when:w.writable,order:4}]})):void 0,RS=class extends A{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:I(880,"Copy with Syntax Highlighting"),precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:0,weight:100}})}run(e,t){let i=e.get(gt),o=e.get(Rt);i.trace("ExecCommandCopyWithSyntaxHighlightingAction#run"),!(!t.hasModel()||!t.getOption(45)&&t.getSelection().isEmpty())&&(Ec.forceCopyWithSyntaxHighlighting=!0,t.focus(),i.trace("ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)"),TS(t,o),i.trace("ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)"),Ec.forceCopyWithSyntaxHighlighting=!1)}};function TS(s,e){if(Ec.electronBugWorkaroundCopyEventHasFired=!1,s.getContainerDomNode().ownerDocument.execCommand("copy"),xs&&Ec.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:t}=Gk(s._getViewModel(),void 0,Zv);e.writeText(t.text)}}function jT(s,e){s&&(s.addImplementation(1e4,"code-editor",(t,i)=>{let o=t.get(gt),n=t.get(Rt);o.trace("registerExecCommandImpl (addImplementation code-editor for : ",e,")");let r=t.get(Re).getFocusedCodeEditor();if(r&&r.hasTextFocus()&&r.hasModel()){let a=r.getOption(45),d=r.getSelection();return d&&d.isEmpty()&&!a||(r.getOption(171)&&e==="cut"?(zT(r),o.trace("registerExecCommandImpl (before execCommand copy)"),TS(r,n),r.trigger(void 0,"cut",void 0),o.trace("registerExecCommandImpl (after execCommand copy)")):(zT(r),o.trace("registerExecCommandImpl (before execCommand "+e+")"),e==="copy"?TS(r,n):r.getContainerDomNode().ownerDocument.execCommand(e),o.trace("registerExecCommandImpl (after execCommand "+e+")"))),!0}return!1}),s.addImplementation(0,"generic-dom",(t,i)=>{let o=t.get(gt);return o.trace("registerExecCommandImpl (addImplementation generic-dom for : ",e,")"),o.trace("registerExecCommandImpl (before execCommand "+e+")"),_0().execCommand(e),o.trace("registerExecCommandImpl (after execCommand "+e+")"),!0}))}function zT(s){if(s.getOption(171)){let t=AC.get(s.getId());t&&t.handleWillCopy()}}jT(nO,"cut");jT(rO,"copy");kS&&(kS.addImplementation(1e4,"code-editor",(s,e)=>{let t=s.get(gt);t.trace("registerExecCommandImpl (addImplementation code-editor for : paste)");let i=s.get(Re),o=s.get(Rt),n=i.getFocusedCodeEditor();if(n&&n.hasModel()&&n.hasTextFocus()){if(n.getOption(171)){let d=AC.get(n.getId());d&&d.handleWillPaste()}t.trace("registerExecCommandImpl (before triggerPaste)");let a=o.triggerPaste(ks().vscodeWindowId);return a?(t.trace("registerExecCommandImpl (triggerPaste defined)"),a.then(async()=>(t.trace("registerExecCommandImpl (after triggerPaste)"),jo.get(n)?.finishedPaste()??Promise.resolve()))):(t.trace("registerExecCommandImpl (triggerPaste undefined)"),SD?(t.trace("registerExecCommandImpl (Paste handling on web)"),(async()=>{let d=await o.readText();if(d!==""){let l=$k.INSTANCE.get(d),c=!1,h=null,u=null;l&&(c=n.getOption(45)&&!!l.isFromEmptySelection,h=typeof l.multicursorText<"u"?l.multicursorText:null,u=l.mode),t.trace("registerExecCommandImpl (clipboardText.length : ",d.length," id : ",l?.id,")"),n.trigger("keyboard","paste",{text:d,pasteOnNewLine:c,multicursorText:h,mode:u})}})()):!0)}return!1}),kS.addImplementation(0,"generic-dom",(s,e)=>(s.get(gt).trace("registerExecCommandImpl (addImplementation generic-dom for : paste)"),s.get(Rt).triggerPaste(ks().vscodeWindowId)??!1)));UT&&k(RS);var Ve=new class{constructor(){this.QuickFix=new He("quickfix"),this.Refactor=new He("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 He("notebook"),this.Source=new He("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}},Kt;(function(s){s.Refactor="refactor",s.RefactorPreview="refactor preview",s.Lightbulb="lightbulb",s.Default="other (default)",s.SourceAction="source action",s.QuickFix="quick fix action",s.FixAll="fix all",s.OrganizeImports="organize imports",s.AutoFix="auto fix",s.QuickFixHover="quick fix hover window",s.OnSave="save participants",s.ProblemsView="problems view"})(Kt||(Kt={}));function KT(s,e){return!(s.include&&!s.include.intersects(e)||s.excludes&&s.excludes.some(t=>GT(e,t,s.include))||!s.includeSourceActions&&Ve.Source.contains(e))}function qT(s,e){let t=e.kind?new He(e.kind):void 0;return!(s.include&&(!t||!s.include.contains(t))||s.excludes&&t&&s.excludes.some(i=>GT(t,i,s.include))||!s.includeSourceActions&&t&&Ve.Source.contains(t)||s.onlyIncludePreferredActions&&!e.isPreferred)}function GT(s,e,t){return!(!e.contains(s)||t&&e.contains(t))}var zr=class s{static fromUser(e,t){return!e||typeof e!="object"?new s(t.kind,t.apply,!1):new s(s.getKindFromUser(e,t.kind),s.getApplyFromUser(e,t.apply),s.getPreferredUser(e))}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 He(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}},Wm=class{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let t;try{t=await this.provider.resolveCodeAction(this.action,e)}catch(i){Te(i)}t&&(this.action.edit=t.edit)}return this}};var Bm="editor.action.codeAction",Ur="editor.action.quickFix",Od="editor.action.autoFix",Vm="editor.action.refactor",zm="editor.action.sourceAction",Vc="editor.action.organizeImports",zc="editor.action.fixAll",sO=1e3,NS=class s extends D{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:wt(e.diagnostics)?wt(t.diagnostics)?s.codeActionsPreferredComparator(e,t):-1:wt(t.diagnostics)?1:s.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(s.codeActionsComparator),this.validActions=this.allActions.filter(({action:o})=>!o.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Ve.QuickFix.contains(new He(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}},$T={actions:[],documentation:void 0};async function jr(s,e,t,i,o,n){let r=i.filter||{},a={...r,excludes:[...r.excludes||[],Ve.Notebook]},d={only:r.include?.value,trigger:i.type},l=new UR(e,n),c=i.type===2,h=aO(s,e,c?a:r),u=new M,g=h.map(async f=>{let _=setTimeout(()=>o.report(f),1250);try{let b=await f.provideCodeActions(e,t,d,l.token);if(l.token.isCancellationRequested)return b?.dispose(),$T;b&&u.add(b);let v=(b?.actions||[]).filter(L=>L&&qT(r,L)),y=lO(f,v,r.include);return{actions:v.map(L=>new Wm(L,f)),documentation:y}}catch(b){if(oi(b))throw b;return Te(b),$T}finally{clearTimeout(_)}}),m=s.onDidChange(()=>{let f=s.all(e);Yt(f,h)||l.cancel()});try{let f=await Promise.all(g),_=f.map(y=>y.actions).flat(),b=[...vi(f.map(y=>y.documentation)),...dO(s,e,i,_)],v=new NS(_,b,u);return u.add(v),v}catch(f){throw u.dispose(),f}finally{m.dispose(),l.dispose()}}function aO(s,e,t){return s.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(o=>KT(t,new He(o))):!0)}function*dO(s,e,t,i){if(e&&i.length)for(let o of s.all(e))o._getAdditionalMenuItems&&(yield*o._getAdditionalMenuItems?.({trigger:t.type,only:t.filter?.include?.value},i.map(n=>n.action)))}function lO(s,e,t){if(!s.documentation)return;let i=s.documentation.map(o=>({kind:new He(o.kind),command:o.command}));if(t){let o;for(let n of i)n.kind.contains(t)&&(o?o.kind.contains(n.kind)&&(o=n):o=n);if(o)return o?.command}for(let o of e)if(o.kind){for(let n of i)if(n.kind.contains(new He(o.kind)))return n.command}}var Sn;(function(s){s.OnSave="onSave",s.FromProblemsView="fromProblemsView",s.FromCodeActions="fromCodeActions",s.FromAILightbulb="fromAILightbulb",s.FromProblemsHover="fromProblemsHover"})(Sn||(Sn={}));async function ZT(s,e,t,i,o=oe.None){let n=s.get(bn),r=s.get(Fe),a=s.get(yi),d=s.get(Je),l=s.get(wd);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),l.playSignal(Mr.codeActionTriggered),await e.resolve(o),!o.isCancellationRequested&&!(e.action.edit?.edits.length&&!(await n.apply(e.action.edit,{editor:i?.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==Sn.OnSave,showPreview:i?.preview,reason:uo.codeAction({kind:e.action.kind,providerId:vg.fromExtensionId(e.provider?.extensionId)})})).isApplied)){if(e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(c){let h=cO(c);d.error(typeof h=="string"?h:p(881,"An unknown error occurred while applying the code action"))}setTimeout(()=>l.playSignal(Mr.codeActionApplied),sO)}}function cO(s){return typeof s=="string"?s:s instanceof Error&&typeof s.message=="string"?s.message:void 0}ve.registerCommand("_executeCodeActionProvider",async function(s,e,t,i,o){if(!(e instanceof ge))throw ji();let{codeActionProvider:n}=s.get(V),r=s.get(Ct).getModel(e);if(!r)throw ji();let a=Q.isISelection(t)?Q.liftSelection(t):C.isIRange(t)?r.validateRange(t):void 0;if(!a)throw ji();let d=typeof i=="string"?new He(i):void 0,l=await jr(n,r,a,{type:1,triggerAction:Kt.Default,filter:{includeSourceActions:!0,include:d}},go.None,oe.None),c=[],h=Math.min(l.validActions.length,typeof o=="number"?o:0);for(let u=0;u<h;u++)c.push(l.validActions[u].resolve(oe.None));try{return await Promise.all(c),l.validActions.map(u=>u.action)}finally{setTimeout(()=>l.dispose(),100)}});var hO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},uO=function(s,e){return function(t,i){e(t,i,s)}},PS,Um=class{static{PS=this}static{this.codeActionCommands=[Vm,Bm,zm,Vc,zc]}constructor(e){this.keybindingService=e}getResolver(){let e=new Ua(()=>this.keybindingService.getKeybindings().filter(t=>PS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===Vc?i={kind:Ve.SourceOrganizeImports.value}:t.command===zc&&(i={kind:Ve.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...zr.fromUser(i,{kind:He.None,apply:"never"})}}));return t=>{if(t.kind)return this.bestKeybindingForCodeAction(t,e.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;let i=new He(e.kind);return t.filter(o=>o.kind.contains(i)).filter(o=>o.preferred?e.isPreferred:!0).reduceRight((o,n)=>o?o.kind.contains(n.kind)?n:o:n,void 0)}};Um=PS=hO([uO(0,he)],Um);K("symbolIcon.arrayForeground",It,p(1569,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.booleanForeground",It,p(1570,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},p(1571,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.colorForeground",It,p(1572,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.constantForeground",It,p(1573,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},p(1574,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},p(1575,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},p(1576,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},p(1577,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},p(1578,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.fileForeground",It,p(1579,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.folderForeground",It,p(1580,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},p(1581,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},p(1582,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.keyForeground",It,p(1583,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.keywordForeground",It,p(1584,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},p(1585,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.moduleForeground",It,p(1586,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.namespaceForeground",It,p(1587,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.nullForeground",It,p(1588,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.numberForeground",It,p(1589,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.objectForeground",It,p(1590,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.operatorForeground",It,p(1591,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.packageForeground",It,p(1592,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.propertyForeground",It,p(1593,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.referenceForeground",It,p(1594,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.snippetForeground",It,p(1595,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.stringForeground",It,p(1596,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.structForeground",It,p(1597,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.textForeground",It,p(1598,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.typeParameterForeground",It,p(1599,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.unitForeground",It,p(1600,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));K("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},p(1601,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var YT=Object.freeze({kind:He.Empty,title:p(917,"More Actions...")}),gO=Object.freeze([{kind:Ve.QuickFix,title:p(918,"Quick Fix")},{kind:Ve.RefactorExtract,title:p(919,"Extract"),icon:B.wrench},{kind:Ve.RefactorInline,title:p(920,"Inline"),icon:B.wrench},{kind:Ve.RefactorRewrite,title:p(921,"Rewrite"),icon:B.wrench},{kind:Ve.RefactorMove,title:p(922,"Move"),icon:B.wrench},{kind:Ve.SurroundWith,title:p(923,"Surround With"),icon:B.surroundWith},{kind:Ve.Source,title:p(924,"Source Action"),icon:B.symbolFile},YT]);function XT(s,e,t){if(!e)return s.map(n=>({kind:"action",item:n,group:YT,disabled:!!n.action.disabled,label:n.action.disabled||n.action.title,canPreview:!!n.action.edit?.edits.length}));let i=gO.map(n=>({group:n,actions:[]}));for(let n of s){let r=n.action.kind?new He(n.action.kind):He.None;for(let a of i)if(a.group.kind.contains(r)){a.actions.push(n);break}}let o=[];for(let n of i)if(n.actions.length){o.push({kind:"header",group:n.group});for(let r of n.actions){let a=n.group;o.push({kind:"action",item:r,group:r.action.isAI?{title:a.title,kind:a.kind,icon:B.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return o}var AS=new te("supportedCodeAction",""),QT="_typescript.applyFixAllCodeAction",OS=class extends D{constructor(e,t,i,o=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=o,this._autoTriggerTimer=this._register(new on),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged(n=>this._onMarkerChanges(n))),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(i=>$i(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Kt.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;let t=this._editor.getSelection();if(e.type===1)return t;let i=this._editor.getOption(73).enabled;if(!(i===Os.Off&&!this.ignoreLightbulbOff)){{if(i===Os.Off||i===Os.On)return t;if(i===Os.OnCode){if(!t.isEmpty())return t;let n=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),d=n.getLineContent(r);if(d.length===0)return;if(a===1){if(/\s/.test(d[0]))return}else if(a===n.getLineMaxColumn(r)){if(/\s/.test(d[d.length-1]))return}else if(/\s/.test(d[a-2])&&/\s/.test(d[a-1]))return}}return t}}},Ys;(function(s){s.Empty={type:0};class e{constructor(i,o,n){this.trigger=i,this.position=o,this._cancellablePromise=n,this.type=1,this.actions=n.catch(r=>{if(oi(r))return Uc;throw r})}cancel(){this._cancellablePromise.cancel()}}s.Triggered=e})(Ys||(Ys={}));var Uc=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1}),jm=class extends D{constructor(e,t,i,o,n,r){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=n,this._configurationService=r,this._codeActionOracle=this._register(new xe),this._state=Ys.Empty,this._onDidChangeState=this._register(new z),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new xe),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=AS.bindTo(o),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(a=>{a.hasChanged(73)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Ys.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(Ys.Empty),this.codeActionsDisposable.clear();let e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(104)){let t=this._registry.all(e).flatMap(o=>o.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(" "));let i=new OS(this._editor,this._markerService,o=>{if(!o){this.setState(Ys.Empty);return}let n=o.selection.getStartPosition(),r=je(async l=>{if(this._settingEnabledNearbyQuickfixes()&&o.trigger.type===1&&(o.trigger.triggerAction===Kt.QuickFix||o.trigger.filter?.include?.contains(Ve.QuickFix))){let h=new M,u=!1;try{let g=h.add(await jr(this._registry,e,o.selection,o.trigger,go.None,l)),m=[...g.allActions];if(l.isCancellationRequested)return Uc;let f=g.validActions?.some(b=>b.action.kind&&Ve.QuickFix.contains(new He(b.action.kind))&&!b.action.isAI),_=this._markerService.read({resource:e.uri});if(f){for(let v of g.validActions)v.action.command?.arguments?.some(y=>typeof y=="string"&&y.includes(QT))&&(v.action.diagnostics=[..._.filter(y=>y.relatedInformation)]);let b=this._setCodeActions({validActions:g.validActions,allActions:m,documentation:g.documentation,hasAutoFix:g.hasAutoFix,hasAIFix:g.hasAIFix,allAIFixes:g.allAIFixes,dispose:()=>h.dispose()});return u=!0,b}else if(!f&&_.length>0){let b=o.selection.getPosition(),v=b,y=Number.MAX_VALUE,L=[...g.validActions];for(let x of _){let T=x.endColumn,N=x.endLineNumber,F=x.startLineNumber;if(N===b.lineNumber||F===b.lineNumber){v=new H(N,T);let P={type:o.trigger.type,triggerAction:o.trigger.triggerAction,filter:{include:o.trigger.filter?.include?o.trigger.filter?.include:Ve.QuickFix},autoApply:o.trigger.autoApply,context:{notAvailableMessage:o.trigger.context?.notAvailableMessage||"",position:v}},Y=new Q(v.lineNumber,v.column,v.lineNumber,v.column),le=h.add(await jr(this._registry,e,Y,P,go.None,l));if(l.isCancellationRequested)return Uc;if(le.validActions.length!==0){for(let de of le.validActions)de.action.command?.arguments?.some(Ee=>typeof Ee=="string"&&Ee.includes(QT))&&(de.action.diagnostics=[..._.filter(Ee=>Ee.relatedInformation)]);g.allActions.length===0&&m.push(...le.allActions),Math.abs(b.column-T)<y?L.unshift(...le.validActions):L.push(...le.validActions)}y=Math.abs(b.column-T)}}let E=L.filter((x,T,N)=>N.findIndex(F=>F.action.title===x.action.title)===T);E.sort((x,T)=>x.action.isPreferred&&!T.action.isPreferred?-1:!x.action.isPreferred&&T.action.isPreferred||x.action.isAI&&!T.action.isAI?1:!x.action.isAI&&T.action.isAI?-1:0);let S=this._setCodeActions({validActions:E,allActions:m,documentation:g.documentation,hasAutoFix:g.hasAutoFix,hasAIFix:g.hasAIFix,allAIFixes:g.allAIFixes,dispose:()=>h.dispose()});return u=!0,S}}finally{u||h.dispose()}}if(o.trigger.type===1){let h=await jr(this._registry,e,o.selection,o.trigger,go.None,l);return l.isCancellationRequested?(h.dispose(),Uc):this._setCodeActions(h)}let c=await jr(this._registry,e,o.selection,o.trigger,go.None,l);return l.isCancellationRequested?(c.dispose(),Uc):this._setCodeActions(c)});o.trigger.type===1&&this._progressService?.showWhile(r,250);let a=new Ys.Triggered(o.trigger,n,r),d=!1;this._state.type===1&&(d=this._state.trigger.type===1&&a.type===1&&a.trigger.type===2&&this._state.position!==a.position),d?setTimeout(()=>{this.setState(a)},500):this.setState(a)},void 0);i.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=i,this._codeActionOracle.value.trigger({type:2,triggerAction:Kt.Default})}else this._supportedCodeActions.reset()}_setCodeActions(e){return this.codeActionsDisposable.value=e,e}takeCodeActions(e){if(this.codeActionsDisposable.value===e)return this.codeActionsDisposable.clearAndLeak(),e}trigger(e){this._codeActionOracle.value?.trigger(e),this.codeActionsDisposable.clear()}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}};var mO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pO=function(s,e){return function(t,i){e(t,i,s)}},Kr,JT=qe("gutter-lightbulb",B.lightBulb,p(925,"Icon which spawns code actions menu from the gutter when there is no space in the editor.")),e1=qe("gutter-lightbulb-auto-fix",B.lightbulbAutofix,p(926,"Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),t1=qe("gutter-lightbulb-sparkle",B.lightbulbSparkle,p(927,"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),i1=qe("gutter-lightbulb-aifix-auto-fix",B.lightbulbSparkleAutofix,p(928,"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.")),o1=qe("gutter-lightbulb-sparkle-filled",B.sparkleFilled,p(929,"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.")),Ko;(function(s){s.Hidden={type:0};class e{constructor(i,o,n,r){this.actions=i,this.trigger=o,this.editorPosition=n,this.widgetPosition=r,this.type=1}}s.Showing=e})(Ko||(Ko={}));function FS(s,e,t,i,o=!1){if(s.validActions.length<=0)return;let n,r=!1;s.allAIFixes?(n=o?o1:B.sparkleFilled,s.validActions.length===1&&(r=!0)):s.hasAutoFix?s.hasAIFix?n=o?i1:B.lightbulbSparkleAutofix:n=o?e1:B.lightbulbAutofix:s.hasAIFix?n=o?t1:B.lightbulbSparkle:n=o?JT:B.lightBulb;let a;return r?a=p(930,"Run: {0}",s.validActions[0].action.title):s.hasAutoFix&&t?a=p(931,"Show Code Actions. Preferred Quick Fix Available ({0})",t):!s.hasAutoFix&&i?a=p(932,"Show Code Actions ({0})",i):a=p(933,"Show Code Actions"),{actions:s,trigger:e,icon:n,autoRun:r,title:a,isGutter:o}}var Xs=class extends D{static{Kr=this}static{this.GUTTER_DECORATION=ee.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:ne.asClassName(B.lightBulb),glyphMargin:{position:gc.Left},stickiness:1})}static{this.ID="editor.contrib.lightbulbWidget"}static{this._posPref=[0]}static _computeLightBulbInfo(e,t,i,o){if(e.type===1)return FS(e.actions,e.trigger,i,o,t)}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this.onlyWithEmptySelection=!1,this._onClick=this._register(new z),this.onClick=this._onClick.event,this._state=be(this,Ko.Hidden),this._gutterState=be(this,Ko.Hidden),this._combinedInfo=R(this,i=>{let o=this._gutterState.read(i);if(o.type===1)return Kr._computeLightBulbInfo(o,!0,this._preferredKbLabel.read(i),this._quickFixKbLabel.read(i));let n=this._state.read(i);if(n.type===1)return Kr._computeLightBulbInfo(n,!1,this._preferredKbLabel.read(i),this._quickFixKbLabel.read(i))}),this._iconClasses=[],this.lightbulbClasses=["codicon-"+JT.id,"codicon-"+i1.id,"codicon-"+e1.id,"codicon-"+t1.id,"codicon-"+o1.id],this._preferredKbLabel=be(this,void 0),this._quickFixKbLabel=be(this,void 0),this.gutterDecoration=Kr.GUTTER_DECORATION,this._domNode=W("div.lightBulbWidget"),this._domNode.role="listbox",this._register(Fg.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(i=>{let o=this._editor.getModel(),n=this._state.get();(n.type!==1||!o||n.editorPosition.lineNumber>=o.getLineCount())&&this.hide();let r=this._gutterState.get();(r.type!==1||!o||r.editorPosition.lineNumber>=o.getLineCount())&&this.gutterHide()})),this._register(s0(this._domNode,i=>{let o=this._state.get();if(o.type!==1)return;this._editor.focus(),i.preventDefault();let{top:n,height:r}=tt(this._domNode),a=this._editor.getOption(75),d=Math.floor(a/3);o.widgetPosition.position!==null&&o.widgetPosition.position.lineNumber<o.editorPosition.lineNumber&&(d+=a),this._onClick.fire({x:i.posx,y:n+r+d,actions:o.actions,trigger:o.trigger})})),this._register(Z(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(De.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(Od)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Ur)?.getLabel()??void 0,void 0)})),this._register(se(i=>{let o=this._combinedInfo.read(i);this._updateLightBulbTitleAndIcon(o),this._updateGutterDecorationOptions(o)})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(l=>i.target.element&&i.target.element.classList.contains(l)))return;let o=this._gutterState.get();if(o.type!==1)return;this._editor.focus();let{top:n,height:r}=tt(i.target.element),a=this._editor.getOption(75),d=Math.floor(a/3);o.widgetPosition.position!==null&&o.widgetPosition.position.lineNumber<o.editorPosition.lineNumber&&(d+=a),this._onClick.fire({x:i.event.posx,y:n+r+d,actions:o.actions,trigger:o.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,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(this.onlyWithEmptySelection&&!this._editor.getSelection()?.isEmpty())return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(this._editor.getOptions().get(73).enabled===Os.Off)return this.gutterHide(),this.hide();let r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();let{lineNumber:a,column:d}=r.validatePosition(i),l=r.getOptions().tabSize,c=this._editor.getOptions().get(59),h=r.getLineContent(a),u=Dc(h,l),g=c.spaceWidth*u>22,m=E=>E>2&&this._editor.getTopForLineNumber(E)===this._editor.getTopForLineNumber(E-1),f=this._editor.getLineDecorations(a),_=!1;if(f)for(let E of f){let S=E.options.glyphMarginClassName;if(S&&!this.lightbulbClasses.some(x=>S.includes(x))){_=!0;break}}let b=a,v=1;if(!g){let E=S=>{let x=r.getLineContent(S);return/^\s*$|^\s+/.test(x)||x.length<=v};if(a>1&&!m(a-1)){let S=r.getLineCount(),x=a===S,T=a>1&&E(a-1),N=!x&&E(a+1),F=E(a),P=!N&&!T;if(!N&&!T&&!_)return this._gutterState.set(new Ko.Showing(e,t,i,{position:{lineNumber:b,column:v},preference:Kr._posPref}),void 0),this.renderGutterLightbub(),this.hide();T||x||T&&!F?b-=1:(N||P&&F)&&(b+=1)}else if(a===1&&(a===r.getLineCount()||!E(a+1)&&!E(a)))if(this._gutterState.set(new Ko.Showing(e,t,i,{position:{lineNumber:b,column:v},preference:Kr._posPref}),void 0),_)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!m(a+1))b+=1;else if(d*c.spaceWidth<22)return this.hide();v=/^\S\s*$/.test(r.getLineContent(b))?2:1}this._state.set(new Ko.Showing(e,t,i,{position:{lineNumber:b,column:v},preference:Kr._posPref}),void 0),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());let y=e.validActions,L=e.validActions[0].action.kind;if(y.length!==1||!L){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this._state.get()!==Ko.Hidden&&(this._state.set(Ko.Hidden,void 0),this._editor.layoutContentWidget(this))}gutterHide(){this._gutterState.get()!==Ko.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this._gutterState.set(Ko.Hidden,void 0))}_updateLightBulbTitleAndIcon(e){this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],!(!e||e.isGutter)&&(this._domNode.title=e.title,this._iconClasses=ne.asClassNameArray(e.icon),this._domNode.classList.add(...this._iconClasses))}_updateGutterDecorationOptions(e){!e||!e.isGutter||(this.gutterDecoration=ee.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:ne.asClassName(e.icon),glyphMargin:{position:gc.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 C(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(i=>{i.changeDecoration(e,new C(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}};Xs=Kr=mO([pO(1,he)],Xs);var fO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qo=function(s,e){return function(t,i){e(t,i,s)}},Ad,_O="quickfix-edit-highlight",wn=class extends D{static{Ad=this}static{this.ID="editor.contrib.codeActionController"}static get(e){return e.getContribution(Ad.ID)}constructor(e,t,i,o,n,r,a,d,l,c,h,u){super(),this._commandService=a,this._configurationService=d,this._actionWidgetService=l,this._instantiationService=c,this._progressService=h,this._keybindingService=u,this._activeCodeActions=this._register(new xe),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=be(this,void 0),this._preferredKbLabel=be(this,void 0),this._quickFixKbLabel=be(this,void 0),this._editor=e,this._model=this._register(new jm(this._editor,n.codeActionProvider,t,i,r,d)),this._register(this._model.onDidChangeState(g=>this.update(g))),this._register(De.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(Od)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Ur)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new Ua(()=>{let g=this._editor.getContribution(Xs.ID);return g&&(this._register(g.onClick(m=>this.showCodeActionsFromLightbulb(m.actions,m))),g.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection),g}),this._resolver=o.createInstance(Um),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 i=e.validActions[0],o=i.action.command;o&&o.id==="inlineChat.start"&&o.arguments&&o.arguments.length>=1&&o.arguments[0]&&(o.arguments[0]={...o.arguments[0],autoSend:!1}),await this.applyCodeAction(i,!1,!1,Sn.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,o){if(!this._editor.hasModel())return;Ut.get(this._editor)?.closeMessage();let n=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:o,context:{notAvailableMessage:e,position:n}})}_trigger(e){return this._model.trigger(e)}async applyCodeAction(e,t,i,o){let n=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(ZT,e,o,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Kt.QuickFix,filter:{}}),n.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=this._model.takeCodeActions(await e.actions)}catch(o){ae(o);return}if(!t)return;if(this._disposed){t.dispose();return}if(this._editor.getSelection()?.startLineNumber!==e.position.lineNumber){t.dispose();return}if(this._lightBulbWidget.value?.update(t,e.trigger,e.position),this._lightBulbInfoObs.set(FS(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,Sn.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){let r=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(r&&r.action.disabled){Ut.get(this._editor)?.showMessage(r.action.disabled,e.trigger.context.position),t.dispose();return}}}let o=!!e.trigger.filter?.include;if(e.trigger.context&&(!t.allActions.length||!o&&!t.validActions.length)){Ut.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:o,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:i})=>i.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]}static{this.DECORATION=ee.register({description:"quickfix-highlight",className:_O})}async showCodeActionList(e,t,i){let o=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;let r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;let a=H.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(l,c)=>{this.applyCodeAction(l,!0,!!c,i.fromLightbulb?Sn.FromAILightbulb:Sn.FromCodeActions),this._actionWidgetService.hide(!1),o.clear()},onHide:l=>{this._editor?.focus(),o.clear()},onHover:async(l,c)=>{if(c.isCancellationRequested)return;let h=!1,u=l.action.kind;if(u){let g=new He(u);h=[Ve.RefactorExtract,Ve.RefactorInline,Ve.RefactorRewrite,Ve.RefactorMove,Ve.Source].some(f=>f.contains(g))}return{canPreview:h||!!l.action.edit?.edits.length}},onFocus:l=>{if(l&&l.action){let c=l.action.ranges,h=l.action.diagnostics;if(o.clear(),c&&c.length>0){let u=h&&h?.length>1?h.map(g=>({range:g,options:Ad.DECORATION})):c.map(g=>({range:g,options:Ad.DECORATION}));o.set(u)}else if(h&&h.length>0){let u=h.map(m=>({range:m,options:Ad.DECORATION}));o.set(u);let g=h[0];if(g.startLineNumber&&g.startColumn){let m=this._editor.getModel()?.getWordAtPosition({lineNumber:g.startLineNumber,column:g.startColumn})?.word;Oi(p(914,"Context: {0} at line {1} and column {2}.",m,g.startLineNumber,g.startColumn))}}}else o.clear()}};this._actionWidgetService.show("codeActionWidget",!0,XT(r,this._shouldShowHeaders(),this._resolver.getResolver()),d,a,n,this._getActionBarActions(e,t,i))}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),i=tt(this._editor.getDomNode()),o=i.left+t.left,n=i.top+t.top+t.height;return{x:o,y:n}}_shouldShowHeaders(){let e=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e?.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];let o=e.documentation.map(n=>({id:n.id,label:n.title,tooltip:n.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(n.id,...n.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&o.push(this._showDisabled?{id:"hideMoreActions",label:p(915,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:p(916,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),o}};wn=Ad=fO([qo(1,js),qo(2,J),qo(3,j),qo(4,V),qo(5,pn),qo(6,Fe),qo(7,re),qo(8,Ji),qo(9,j),qo(10,pn),qo(11,he)],wn);gn((s,e)=>{((o,n)=>{n&&e.addRule(`.monaco-editor ${o} { background-color: ${n}; }`)})(".quickfix-edit-highlight",s.getColor(Lk));let i=s.getColor(kg);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${$n(s.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function jc(s){return O.regex(AS.keys()[0],new RegExp("(\\s|^)"+zn(s.value)+"\\b"))}var HS={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:p(882,"Kind of the code action to run.")},apply:{type:"string",description:p(883,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[p(884,"Always apply the first returned code action."),p(885,"Apply the first returned code action if it is the only one."),p(886,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:p(887,"Controls if only preferred code actions should be returned.")}}};function Qs(s,e,t,i,o=Kt.Default){s.hasModel()&&wn.get(s)?.manualTriggerAtCurrentPosition(e,o,t,i)}var Km=class extends ri{constructor(){super({id:Ur,title:I(904,"Quick Fix..."),precondition:O.and(w.writable,w.hasCodeActionsProvider),icon:B.lightBulb,f1:!0,keybinding:{when:w.textInputFocus,primary:2137,weight:100},menu:{id:q.InlineChatEditorAffordance,group:"1_quickfix",order:0,when:O.and(w.writable,w.hasCodeActionsProvider)}})}runEditorCommand(e,t){return Qs(t,p(888,"No code actions available"),void 0,void 0,Kt.QuickFix)}},qm=class extends at{constructor(){super({id:Bm,precondition:O.and(w.writable,w.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:HS}]}})}runEditorCommand(e,t,i){let o=zr.fromUser(i,{kind:He.Empty,apply:"ifSingle"});return Qs(t,typeof i?.kind=="string"?o.preferred?p(889,"No preferred code actions for '{0}' available",i.kind):p(890,"No code actions for '{0}' available",i.kind):o.preferred?p(891,"No preferred code actions available"):p(892,"No code actions available"),{include:o.kind,includeSourceActions:!0,onlyIncludePreferredActions:o.preferred},o.apply)}},Gm=class extends A{constructor(){super({id:Vm,label:I(905,"Refactor..."),precondition:O.and(w.writable,w.hasCodeActionsProvider),kbOpts:{kbExpr:w.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:O.and(w.writable,jc(Ve.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:HS}]}})}run(e,t,i){let o=zr.fromUser(i,{kind:Ve.Refactor,apply:"never"});return Qs(t,typeof i?.kind=="string"?o.preferred?p(893,"No preferred refactorings for '{0}' available",i.kind):p(894,"No refactorings for '{0}' available",i.kind):o.preferred?p(895,"No preferred refactorings available"):p(896,"No refactorings available"),{include:Ve.Refactor.contains(o.kind)?o.kind:He.None,onlyIncludePreferredActions:o.preferred},o.apply,Kt.Refactor)}},$m=class extends A{constructor(){super({id:zm,label:I(906,"Source Action..."),precondition:O.and(w.writable,w.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:O.and(w.writable,jc(Ve.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:HS}]}})}run(e,t,i){let o=zr.fromUser(i,{kind:Ve.Source,apply:"never"});return Qs(t,typeof i?.kind=="string"?o.preferred?p(897,"No preferred source actions for '{0}' available",i.kind):p(898,"No source actions for '{0}' available",i.kind):o.preferred?p(899,"No preferred source actions available"):p(900,"No source actions available"),{include:Ve.Source.contains(o.kind)?o.kind:He.None,includeSourceActions:!0,onlyIncludePreferredActions:o.preferred},o.apply,Kt.SourceAction)}},Zm=class extends A{constructor(){super({id:Vc,label:I(907,"Organize Imports"),precondition:O.and(w.writable,jc(Ve.SourceOrganizeImports)),kbOpts:{kbExpr:w.textInputFocus,primary:1581,weight:100},metadata:{description:I(908,"Organize imports in the current file. Also called 'Optimize Imports' by some tools")}})}run(e,t){return Qs(t,p(901,"No organize imports action available"),{include:Ve.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Kt.OrganizeImports)}},Ym=class extends A{constructor(){super({id:zc,label:I(909,"Fix All"),precondition:O.and(w.writable,jc(Ve.SourceFixAll))})}run(e,t){return Qs(t,p(902,"No fix all action available"),{include:Ve.SourceFixAll,includeSourceActions:!0},"ifSingle",Kt.FixAll)}},Xm=class extends A{constructor(){super({id:Od,label:I(910,"Auto Fix..."),precondition:O.and(w.writable,jc(Ve.QuickFix)),kbOpts:{kbExpr:w.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Qs(t,p(903,"No auto fixes available"),{include:Ve.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Kt.AutoFix)}};$(wn.ID,wn,3);$(Xs.ID,Xs,4);pe(Km);k(Gm);k($m);k(Zm);k(Xm);k(Ym);X(new qm);hi.as(ed.Configuration).registerConfiguration({...rm,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:6,description:p(911,"Enable/disable showing group headers in the Code Action menu."),default:!0}}});hi.as(ed.Configuration).registerConfiguration({...rm,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:6,description:p(912,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});hi.as(ed.Configuration).registerConfiguration({...rm,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:6,markdownDescription:p(913,"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 Js=class s{constructor(){this.lenses=[]}static{this.Empty=new s}dispose(){this._store?.dispose()}get isDisposed(){return this._store?.isDisposed??!1}add(e,t){Va(e)&&(this._store??=new M,this._store.add(e));for(let i of e.lenses)this.lenses.push({symbol:i,provider:t})}};async function WS(s,e,t){let i=s.ordered(e),o=new Map,n=new Js,r=i.map(async(a,d)=>{o.set(a,d);try{let l=await Promise.resolve(a.provideCodeLenses(e,t));l&&n.add(l,a)}catch(l){Te(l)}});return await Promise.all(r),t.isCancellationRequested?(n.dispose(),Js.Empty):(n.lenses=n.lenses.sort((a,d)=>a.symbol.range.startLineNumber<d.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>d.symbol.range.startLineNumber?1:o.get(a.provider)<o.get(d.provider)?-1:o.get(a.provider)>o.get(d.provider)?1:a.symbol.range.startColumn<d.symbol.range.startColumn?-1:a.symbol.range.startColumn>d.symbol.range.startColumn?1:0),n)}ve.registerCommand("_executeCodeLensProvider",function(s,...e){let[t,i]=e;_e(ge.isUri(t)),_e(typeof i=="number"||!i);let{codeLensProvider:o}=s.get(V),n=s.get(Ct).getModel(t);if(!n)throw ji();let r=[],a=new M;return WS(o,n,oe.None).then(d=>{a.add(d);let l=[];for(let c of d.lenses)i==null||c.symbol.command?r.push(c.symbol):i-- >0&&c.provider.resolveCodeLens&&l.push(Promise.resolve(c.provider.resolveCodeLens(n,c.symbol,oe.None)).then(h=>r.push(h||c.symbol)));return Promise.all(l)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var bO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},vO=function(s,e){return function(t,i){e(t,i,s)}},VS=zt("ICodeLensCache"),Qm=class{constructor(e,t){this.lineCount=e,this.data=t}},BS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new dn(20,.75);let t="codelens/cache";d0(Oa,()=>e.remove(t,1));let i="codelens/cache2",o=e.get(i,1,"{}");this._deserialize(o);let n=De.filter(e.onWillSaveState,r=>r.reason===xd.SHUTDOWN);De.once(n)(r=>{e.store(i,this._serialize(),1,1)})}put(e,t){let i=t.lenses.map(r=>({range:r.symbol.range,command:r.symbol.command&&{id:"",title:r.symbol.command?.title}})),o=new Js;o.add({lenses:i},this._fakeProvider);let n=new Qm(e.getLineCount(),o);this._cache.set(e.uri.toString(),n)}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,i]of this._cache){let o=new Set;for(let n of i.data.lenses)o.add(n.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...o.values()]}}return JSON.stringify(e)}_deserialize(e){try{let t=JSON.parse(e);for(let i in t){let o=t[i],n=[];for(let a of o.lines)n.push({range:new C(a,1,a,11)});let r=new Js;r.add({lenses:n},this._fakeProvider),this._cache.set(i,new Qm(o.lineCount,r))}}catch{}}};BS=bO([vO(0,Tt)],BS);ai(VS,BS,1);var zS=class{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,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")}},US=class s{static{this._idPool=0}constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${s._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();let i=[],o=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r&&(o=!0,r.command)){let a=IR(r.command.title.trim());if(r.command.id){let d=`c${s._idPool++}`;i.push(W("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(W("span",{title:r.command.tooltip},...a));n+1<e.length&&i.push(W("span",void 0,"\xA0|\xA0"))}}o?(Rs(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):Rs(this._domNode,W("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}},Fd=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 i=0,o=t.length;i<o;i++)this._addDecorationsCallbacks[i](t[i])}},n1=ee.register({collapseOnReplaceEdit:!0,description:"codelens"}),Kc=class{constructor(e,t,i,o,n,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a,d=[];this._data.forEach((l,c)=>{l.symbol.command&&d.push(l.symbol),i.addDecoration({range:l.symbol.range,options:n1},h=>this._decorationIds[c]=h),a?a=C.plusRange(a,l.symbol.range):a=C.lift(l.symbol.range)}),this._viewZone=new zS(a.startLineNumber-1,n,r),this._viewZoneId=o.addZone(this._viewZone),d.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(d,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new US(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),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{let i=this._editor.getModel().getDecorationRange(e),o=this._data[t].symbol;return!!(i&&C.isEmpty(o.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,o)=>{t.addDecoration({range:i.symbol.range,options:n1},n=>this._decorationIds[o]=n)})}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 i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){let i=e[t];if(i){let{symbol:o}=this._data[t];o.command=i.command||o.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)))}}};var CO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qc=function(s,e){return function(t,i){e(t,i,s)}},Gc=class{static{this.ID="css.editor.codeLens"}constructor(e,t,i,o,n,r){this._editor=e,this._languageFeaturesService=t,this._commandService=o,this._notificationService=n,this._codeLensCache=r,this._disposables=new M,this._localToDispose=new M,this._lenses=[],this._oldCodeLensModels=new M,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ae(()=>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(a=>{(a.hasChanged(59)||a.hasChanged(25)||a.hasChanged(24))&&this._updateLensStyle(),a.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(),i=this._editor.getOption(24),o=this._editor.getOption(59),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",o.fontFeatureSettings),i&&(n.setProperty("--vscode-editorCodeLens-fontFamily",i),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",dd.fontFamily)),this._editor.changeViewZones(r=>{for(let a of this._lenses)a.updateHeight(e,r)})}_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&&Zt(()=>{let o=this._codeLensCache.get(e);t===o&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(let o of this._languageFeaturesService.codeLensProvider.all(e))if(typeof o.onDidChange=="function"){let n=o.onDidChange(()=>i.schedule());this._localToDispose.add(n)}let i=new Ae(()=>{let o=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=je(n=>WS(this._languageFeaturesService.codeLensProvider,e,n)),this._getCodeLensModelPromise.then(n=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=n,this._codeLensCache.put(e,n);let r=this._provideCodeLensDebounce.update(e,Date.now()-o);i.delay=r,this._renderCodeLensSymbols(n),this._resolveCodeLensesInViewportSoon()},ae)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(ce(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(o=>{this._editor.changeViewZones(n=>{let r=[],a=-1;this._lenses.forEach(l=>{!l.isValid()||a===l.getLineNumber()?r.push(l):(l.update(n),a=l.getLineNumber())});let d=new Fd;r.forEach(l=>{l.dispose(d,n),this._lenses.splice(this._lenses.indexOf(l),1)}),d.commit(o)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(o=>{o.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(ce(()=>{if(this._editor.getModel()){let o=fn.capture(this._editor);this._editor.changeDecorations(n=>{this._editor.changeViewZones(r=>{this._disposeAllLenses(n,r)})}),o.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(o=>{if(o.target.type!==9)return;let n=o.target.element;if(n?.tagName==="SPAN"&&(n=n.parentElement),n?.tagName==="A")for(let r of this._lenses){let a=r.getCommand(n);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(d=>this._notificationService.error(d));break}}})),i.schedule()}_disposeAllLenses(e,t){let i=new Fd;for(let o of this._lenses)o.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;let t=this._editor.getModel().getLineCount(),i=[],o;for(let a of e.lenses){let d=a.symbol.range.startLineNumber;d<1||d>t||(o&&o[o.length-1].symbol.range.startLineNumber===d?o.push(a):(o=[a],i.push(o)))}if(!i.length&&!this._lenses.length)return;let n=fn.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{let l=new Fd,c=0,h=0;for(;h<i.length&&c<this._lenses.length;){let u=i[h][0].symbol.range.startLineNumber,g=this._lenses[c].getLineNumber();g<u?(this._lenses[c].dispose(l,d),this._lenses.splice(c,1)):g===u?(this._lenses[c].updateCodeLensSymbols(i[h],l),h++,c++):(this._lenses.splice(c,0,new Kc(i[h],this._editor,l,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),c++,h++)}for(;c<this._lenses.length;)this._lenses[c].dispose(l,d),this._lenses.splice(c,1);for(;h<i.length;)this._lenses.push(new Kc(i[h],this._editor,l,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),h++;l.commit(a)})}),n.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=[],i=[];if(this._lenses.forEach(r=>{let a=r.computeIfNecessary(e);a&&(t.push(a),i.push(r))}),t.length===0){this._oldCodeLensModels.clear();return}let o=Date.now(),n=je(r=>{let a=t.map((d,l)=>{let c=new Array(d.length),h=d.map((u,g)=>!u.symbol.command&&typeof u.provider.resolveCodeLens=="function"?Promise.resolve(u.provider.resolveCodeLens(e,u.symbol,r)).then(m=>{c[g]=m},Te):(c[g]=u.symbol,Promise.resolve(void 0)));return Promise.all(h).then(()=>{!r.isCancellationRequested&&!i[l].isDisposed()&&i[l].updateCommands(c)})});return Promise.all(a)});this._resolveCodeLensesPromise=n,this._resolveCodeLensesPromise.then(()=>{let r=this._resolveCodeLensesDebounce.update(e,Date.now()-o);this._resolveCodeLensesScheduler.delay=r,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),n===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},r=>{ae(r),n===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};Gc=CO([qc(1,V),qc(2,Mt),qc(3,Fe),qc(4,Je),qc(5,VS)],Gc);$(Gc.ID,Gc,1);k(class extends A{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:w.hasCodeLensProvider,label:I(935,"Show CodeLens Commands for Current Line")})}async run(e,t){if(!t.hasModel())return;let i=e.get(At),o=e.get(Fe),n=e.get(Je),r=t.getSelection().positionLineNumber,a=t.getContribution(Gc.ID);if(!a)return;let d=await a.getModel();if(!d)return;let l=[];for(let u of d.lenses)u.symbol.command&&u.symbol.range.startLineNumber===r&&l.push({label:u.symbol.command.title,command:u.symbol.command});if(l.length===0)return;let c=await i.pick(l,{canPickMany:!1,placeHolder:p(934,"Select a command")});if(!c)return;let h=c.command;if(d.isDisposed){let g=(await a.getModel())?.lenses.find(m=>m.symbol.range.startLineNumber===r&&m.symbol.command?.title===h.title);if(!g||!g.symbol.command)return;h=g.symbol.command}try{await o.executeCommand(h.id,...h.arguments||[])}catch(u){n.error(u)}}});var SO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},yn=function(s,e){return function(t,i){e(t,i,s)}},ui=class extends Cd{constructor(e,t,i,o,n,r,a,d,l,c,h,u,g,m){super(e,{...o.getRawOptions(),overflowWidgetsDomNode:o.getOverflowWidgetsDomNode()},i,n,r,a,d,l,c,h,u,g,m),this._parentEditor=o,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(o.onDidChangeConfiguration(f=>this._onParentConfigurationChanged(f)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Ja(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};ui=SO([yn(4,j),yn(5,Re),yn(6,Fe),yn(7,J),yn(8,Ke),yn(9,Je),yn(10,Zi),yn(11,We),yn(12,V),yn(13,Tr)],ui);function Jm(s){let e=s.get(Re).getFocusedCodeEditor();return e instanceof ui?e.getParentEditor():e}var r1=new fe(new Bo(0,122,204)),wO={showArrow:!0,showFrame:!0,className:"",frameColor:r1,arrowColor:r1,keepEditorSelection:!1},yO="vs.editor.contrib.zoneWidget",jS=class{constructor(e,t,i,o,n,r,a,d){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=o,this.showInHiddenAreas=a,this.ordinal=d,this._onDomNodeTop=n,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}},KS=class{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}},qS=class s{static{this._IdGenerator=new yR(".arrow-decoration-")}constructor(e){this._editor=e,this._ruleName=s._IdGenerator.nextId(),this._color=null,this._height=-1,this._decorations=this._editor.createDecorationsCollection()}dispose(){this.hide(),SC(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(){SC(this._ruleName),mk(`.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:C.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}},ep=class{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._isSashResizeHeight=!1,this._viewZone=null,this._disposables=new M,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=z0(t),Ja(this.options,wO,!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(i=>{let o=this._getWidth(i);this.domNode.style.width=o+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(o)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),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 qS(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 i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}this._resizeSash?.layout()}get position(){let e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){let i=C.isIRange(e)?C.lift(e):C.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:ee.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),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 i=Math.round(e/3);t+=2*i}if(this.options.showFrame){let i=this.options.frameWidth??Math.round(e/9);t+=2*i}return t}_getMaximumHeightInLines(){return Math.max(12,this.editor.getLayoutInfo().height/this.editor.getOption(75)*.8)}_showImpl(e,t){let i=e.getStartPosition(),o=this.editor.getLayoutInfo(),n=this._getWidth(o);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(o)+"px";let r=document.createElement("div");r.style.overflow="hidden";let a=this.editor.getOption(75),d=this._getMaximumHeightInLines();d!==void 0&&(t=Math.min(t,d));let l=0,c=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(a/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones(g=>{this._viewZone&&g.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new jS(r,i.lineNumber,i.column,t,m=>this._onViewZoneTop(m),m=>this._onViewZoneHeight(m),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=g.addZone(this._viewZone),this._overlayWidget=new KS(yO+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this._updateSashEnablement(),this.container&&this.options.showFrame){let g=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=g+"px",this.container.style.borderBottomWidth=g+"px"}let h=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=h+"px",this.container.style.overflow="hidden"),this._doLayout(h,n),this.options.keepEditorSelection||this.editor.setSelection(e);let u=this.editor.getModel();if(u){let g=u.validateRange(new C(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(g,g.startLineNumber===u.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 i=this._getMaximumHeightInLines(),o=t&&i!==void 0?Math.min(i,e):e;this._viewZone&&this._viewZone.heightInLines!==o&&(this.editor.changeViewZones(n=>{this._viewZone&&(this._viewZone.heightInLines=o,n.layoutZone(this._viewZone.id))}),this._updateSashEnablement())}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Xn(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 i=(t.currentY-e.startY)/this.editor.getOption(75),o=i<0?Math.ceil(i):Math.floor(i),n=e.heightInLines+o;n>e.minLines&&n<e.maxLines&&(this._isSashResizeHeight=!0,this._relayout(n))}}))}_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}};var s1=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},a1=function(s,e){return function(t,i){e(t,i,s)}},GS=zt("IPeekViewService");ai(GS,class{constructor(){this._widgets=new Map}addExclusiveWidget(s,e){let t=this._widgets.get(s);t&&(t.listener.dispose(),t.widget.dispose());let i=()=>{let o=this._widgets.get(s);o&&o.widget===e&&(o.listener.dispose(),this._widgets.delete(s))};this._widgets.set(s,{widget:e,listener:e.onDidClose(i)})}},1);var qt;(function(s){s.inPeekEditor=new te("inReferenceSearchEditor",!0,p(1382,"Whether the current code editor is embedded inside peek")),s.notInPeekEditor=s.inPeekEditor.toNegated()})(qt||(qt={}));var tp=class{static{this.ID="editor.contrib.referenceController"}constructor(e,t){e instanceof ui&&qt.inPeekEditor.bindTo(t)}dispose(){}};tp=s1([a1(1,J)],tp);$(tp.ID,tp,0);var xO={headerBackgroundColor:fe.white,primaryHeadingColor:fe.fromHex("#333333"),secondaryHeadingColor:fe.fromHex("#6c6c6cb3")},Hd=class extends ep{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new z,this.onDidClose=this._onDidClose.event,Ja(this.options,xO,!1);let o=ke(this.editor);o.openedPeekWidgets.set(o.openedPeekWidgets.get()+1,void 0)}dispose(){if(!this.disposed){this.disposed=!0,super.dispose(),this._onDidClose.fire(this),this._onDidClose.dispose();let e=ke(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=W(".head"),this._bodyElement=W(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=W(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Xt(this._titleElement,"click",n=>this._onTitleClick(n))),U(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=W("span.filename"),this._secondaryHeading=W("span.dirname"),this._metaHeading=W("span.meta"),U(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);let i=W(".peekview-actions");U(this._headElement,i);let o=this._getActionBarOptions();this._actionbarWidget=new Xi(i,o),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(this._disposables.add(new an("peekview.close",p(1383,"Close"),ne.asClassName(B.close),!0,()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:OR.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:Vt(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,ci(this._metaHeading)):Qt(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}let i=Math.ceil(this.editor.getOption(75)*1.2),o=Math.round(e-(i+1));this._doLayoutHead(i,t),this._doLayoutBody(o,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`)}};Hd=s1([a1(2,j)],Hd);var d1=K("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:fe.black,hcLight:fe.white},p(1384,"Background color of the peek view title area.")),ip=K("peekViewTitleLabel.foreground",{dark:fe.white,light:fe.black,hcDark:fe.white,hcLight:Fs},p(1385,"Color of the peek view title.")),op=K("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},p(1386,"Color of the peek view title info.")),l1=K("peekView.border",{dark:Cc,light:Cc,hcDark:Yi,hcLight:Yi},p(1387,"Color of the peek view borders and arrow.")),c1=K("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:fe.black,hcLight:fe.white},p(1388,"Background color of the peek view result list."));K("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:fe.white,hcLight:Fs},p(1389,"Foreground color for line nodes in the peek view result list."));K("peekViewResult.fileForeground",{dark:fe.white,light:"#1E1E1E",hcDark:fe.white,hcLight:Fs},p(1390,"Foreground color for file nodes in the peek view result list."));K("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},p(1391,"Background color of the selected entry in the peek view result list."));K("peekViewResult.selectionForeground",{dark:fe.white,light:"#6C6C6C",hcDark:fe.white,hcLight:Fs},p(1392,"Foreground color of the selected entry in the peek view result list."));var $S=K("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:fe.black,hcLight:fe.white},p(1393,"Background color of the peek view editor."));K("peekViewEditorGutter.background",$S,p(1394,"Background color of the gutter in the peek view editor."));K("peekViewEditorStickyScroll.background",$S,p(1395,"Background color of sticky scroll in the peek view editor."));K("peekViewEditorStickyScrollGutter.background",$S,p(1396,"Background color of the gutter part of sticky scroll in the peek view editor."));K("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},p(1397,"Match highlight color in the peek view result list."));K("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},p(1398,"Match highlight color in the peek view editor."));K("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:un,hcLight:un},p(1399,"Match highlight border in the peek view editor."));var eo=class{constructor(e,t,i,o){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=o,this.id=xR.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?p(1146,"{0} in {1} on line {2} at column {3}",e.value,ei(this.uri),this.range.startLineNumber,this.range.startColumn):p(1145,"in {0} on line {1} at column {2}",ei(this.uri),this.range.startLineNumber,this.range.startColumn)}},ZS=class{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){let i=this._modelReference.object.textEditorModel;if(!i)return;let{startLineNumber:o,startColumn:n,endLineNumber:r,endColumn:a}=e,d=i.getWordUntilPosition({lineNumber:o,column:n-t}),l=new C(o,d.startColumn,o,n),c=new C(r,a,r,1073741824),h=i.getValueInRange(l).replace(/^\s+/,""),u=i.getValueInRange(e),g=i.getValueInRange(c).replace(/\s+$/,"");return{value:h+u+g,highlight:{start:h.length,end:h.length+u.length}}}},xn=class{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new co}dispose(){ft(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){let e=this.children.length;return e===1?p(1147,"1 symbol in {0}, full path {1}",ei(this.uri),this.uri.fsPath):p(1148,"{0} symbols in {1}, full path {2}",e,ei(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 i=await e.createModelReference(t.uri);this._previews.set(t.uri,new ZS(i))}catch(i){ae(i)}return this}},Di=class s{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new z,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;let[i]=e;e.sort(s._compareReferences);let o;for(let n of e)if((!o||!uC.isEqual(o.uri,n.uri,!0))&&(o=new xn(this,n.uri),this.groups.push(o)),o.children.length===0||s._compareReferences(n,o.children[o.children.length-1])!==0){let r=new eo(i===n,o,n,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),o.children.push(r)}}dispose(){ft(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new s(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?p(1149,"No results found"):this.references.length===1?p(1150,"Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?p(1151,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):p(1152,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){let{parent:i}=e,o=i.children.indexOf(e),n=i.children.length,r=i.parent.groups.length;return r===1||t&&o+1<n||!t&&o>0?(t?o=(o+1)%n:o=(o+n-1)%n,i.children[o]):(o=i.parent.groups.indexOf(i),t?(o=(o+1)%r,i.parent.groups[o].children[0]):(o=(o+r-1)%r,i.parent.groups[o].children[i.parent.groups[o].children.length-1]))}nearestReference(e,t){let i=this.references.map((o,n)=>({idx:n,prefixLen:Fo(o.uri.toString(),e.toString()),offsetDist:Math.abs(o.range.startLineNumber-t.lineNumber)*100+Math.abs(o.range.startColumn-t.column)})).sort((o,n)=>o.prefixLen>n.prefixLen?-1:o.prefixLen<n.prefixLen?1:o.offsetDist<n.offsetDist?-1:o.offsetDist>n.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(let i of this.references)if(i.uri.toString()===e.toString()&&C.containsPosition(i.range,t))return i}firstReference(){for(let e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return uC.compare(e.uri,t.uri)||C.compareRangesUsingStarts(e.range,t.range)}};var lp=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},cp=function(s,e){return function(t,i){e(t,i,s)}},YS,np=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Di||e instanceof xn}getChildren(e){if(e instanceof Di)return e.groups;if(e instanceof xn)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};np=lp([cp(0,St)],np);var rp=class{getHeight(){return 23}getTemplateId(e){return e instanceof xn?$c.id:Zc.id}},sp=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof eo){let t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return ei(e.uri)}};sp=lp([cp(0,he)],sp);var ap=class{getId(e){return e instanceof eo?e.id:e.uri}},XS=class extends D{constructor(e,t){super(),this._labelService=t;let i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new cm(i,{supportHighlights:!0})),this.badge=this._register(new hT(U(i,W(".count")),{},TR)),e.appendChild(i)}set(e,t){let i=Ya(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});let o=e.children.length;this.badge.setCount(o),o>1?this.badge.setTitleFormat(p(1139,"{0} references",o)):this.badge.setTitleFormat(p(1140,"{0} reference",o))}};XS=lp([cp(1,Cn)],XS);var $c=class{static{YS=this}static{this.id="FileReferencesRenderer"}constructor(e){this._instantiationService=e,this.templateId=YS.id}renderTemplate(e){return this._instantiationService.createInstance(XS,e)}renderElement(e,t,i){i.set(e.element,Ws(e.filterData))}disposeTemplate(e){e.dispose()}};$c=YS=lp([cp(0,j)],$c);var QS=class extends D{constructor(e){super(),this.label=this._register(new uT(e))}set(e,t){let i=e.parent.getPreview(e)?.preview(e.range);if(!i||!i.value)this.label.set(`${ei(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{let{value:o,highlight:n}=i;t&&!Yn.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(o,Ws(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(o,[n]))}}},Zc=class s{constructor(){this.templateId=s.id}static{this.id="OneReferenceRenderer"}renderTemplate(e){return new QS(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}},dp=class{getWidgetAriaLabel(){return p(1141,"References")}getAriaLabel(e){return e.ariaMessage}};var h1=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ea=function(s,e){return function(t,i){e(t,i,s)}},JS=class s{static{this.DecorationOptions=ee.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new M,this._callOnModelChange=new M,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(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));let t=[],i=[];for(let o=0,n=e.children.length;o<n;o++){let r=e.children[o];this._decorationIgnoreSet.has(r.id)||r.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:r.range,options:s.DecorationOptions}),i.push(o))}this._editor.changeDecorations(o=>{let n=o.deltaDecorations([],t);for(let r=0;r<n.length;r++)this._decorations.set(n[r],e.children[i[r]])})}_onDecorationChanged(){let e=[],t=this._editor.getModel();if(t){for(let[i,o]of this._decorations){let n=t.getDecorationRange(i);if(!n)continue;let r=!1;if(!C.equalsRange(n,o.range)){if(C.spansMultipleLines(n))r=!0;else{let a=o.range.endColumn-o.range.startColumn,d=n.endColumn-n.startColumn;a!==d&&(r=!0)}r?(this._decorationIgnoreSet.add(o.id),e.push(i)):o.range=n}}for(let i=0,o=e.length;i<o;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}},hp=class{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{let o=JSON.parse(e);t=o.ratio,i=o.heightInLines}catch{}return{ratio:t||.7,heightInLines:i||18}}},ew=class extends cT{},tw=class{constructor(e){this.labelService=e,this.disposables=new M}getDragURI(e){return e instanceof xn?e.uri.toString():e instanceof eo?jR(e.uri,e.range).toString():null}getDragLabel(e){return e.length===0?void 0:e.map(i=>this.labelService.getUriBasenameLabel(i.uri)).join(", ")}onDragStart(e,t){if(!t.dataTransfer)return;let o=e.elements.map(n=>this.getDragURI(n)).filter(Boolean);o.length&&(t.dataTransfer.setData(TC.RESOURCES,JSON.stringify(o)),t.dataTransfer.setData(TC.TEXT,o.join(`
|
|
8
|
+
`)))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};tw=h1([ea(0,Cn)],tw);var up=class extends Hd{constructor(e,t,i,o,n,r,a,d,l){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=n,this._instantiationService=r,this._peekViewService=a,this._uriLabel=d,this._keybindingService=l,this._disposeOnNewModel=new M,this._callOnDispose=new M,this._onDidSelectReference=this._callOnDispose.add(new z),this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Me(0,0),this._isClosing=!1,this._applyTheme(o.getColorTheme()),this._callOnDispose.add(o.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),ft(this._preview),ft(this._previewNotAvailableMessage),ft(this._tree),ft(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){let t=e.getColor(l1)||fe.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(d1)||fe.transparent,primaryHeadingColor:e.getColor(ip),secondaryHeadingColor:e.getColor(op)})}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=U(e,W("div.messages")),Qt(this._messageContainer),this._splitView=new dT(e,{orientation:1}),this._previewContainer=U(e,W("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(ui,this._previewContainer,t,{},this.editor),Qt(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(bd,p(1142,"no preview available"),pg,bd.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=U(e,W("div.ref-tree.inline"));let i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new dp,keyboardNavigationLabelProvider:this._instantiationService.createInstance(sp),identityProvider:new ap,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:c1},dnd:this._instantiationService.createInstance(tw)};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Xt(this._treeContainer,"keydown",n=>{n.equals(9)&&(this._keybindingService.dispatchEvent(n,n.target),n.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(ew,"ReferencesWidget",this._treeContainer,new rp,[this._instantiationService.createInstance($c),this._instantiationService.createInstance(Zc)],this._instantiationService.createInstance(np),i),this._splitView.addView({onDidChange:De.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:n=>{this._preview.layout({height:this._dim.height,width:n})}},GC.Distribute),this._splitView.addView({onDidChange:De.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:n=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${n}px`,this._tree.layout(this._dim.height,n)}},GC.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let o=(n,r)=>{n instanceof eo&&(r==="show"&&this._revealReference(n,!1),this._onDidSelectReference.fire({element:n,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(n=>{n.sideBySide?o(n.element,"side"):n.editorOptions.pinned?o(n.element,"goto"):o(n.element,"show")})),Qt(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Me(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=p(1143,"No results"),ci(this._messageContainer),Promise.resolve(void 0)):(Qt(this._messageContainer),this._decorationsManager=new JS(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{let{event:t,target:i}=e;if(t.detail!==2)return;let o=this._getFocusedReference();o&&this._onDidSelectReference.fire({element:{uri:o.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),ci(this._treeContainer),ci(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 eo)return e;if(e instanceof xn&&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!==_t.inMemory?this.setTitle(R0(e.uri),this._uriLabel.getUriLabel(Ya(e.uri))):this.setTitle(p(1144,"References"));let i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));let o=await i;if(!this._model){o.dispose();return}ft(this._previewModelReference);let n=o.object;if(n){let r=this._preview.getModel()===n.textEditorModel?0:1,a=C.lift(e.range).collapseToStart();this._previewModelReference=o,this._preview.setModel(n.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,r)}else this._preview.setModel(this._previewNotAvailableMessage),o.dispose()}};up=h1([ea(3,Ke),ea(4,St),ea(5,j),ea(6,GS),ea(7,Cn),ea(8,he)],up);var IO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Wd=function(s,e){return function(t,i){e(t,i,s)}},gp,ta=new te("referenceSearchVisible",!1,p(1136,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'")),tr=class{static{gp=this}static{this.ID="editor.contrib.referencesController"}static get(e){return e.getContribution(gp.ID)}constructor(e,t,i,o,n,r,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=o,this._notificationService=n,this._instantiationService=r,this._storageService=a,this._configurationService=d,this._disposables=new M,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ta.bindTo(i)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let o;if(this._widget&&(o=this._widget.position),this.closeWidget(),o&&e.containsPosition(o))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));let n="peekViewLayout",r=hp.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(up,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(p(1137,"Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(d=>{let{element:l,kind:c}=d;if(l)switch(c){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(l,!1,!1);break;case"side":this.openReference(l,!0,!1);break;case"goto":i?this._gotoReference(l,!0):this.openReference(l,!1,!0);break}}));let a=++this._requestIdPool;t.then(d=>{if(a!==this._requestIdPool||!this._widget){d.dispose();return}return this._model?.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(p(1138,"{0} ({1})",this._model.title,this._model.references.length));let l=this._editor.getModel().uri,c=new H(e.startLineNumber,e.startColumn),h=this._model.nearestReference(l,c);if(h)return this._widget.setSelection(h).then(()=>{this._widget&&this._editor.getOption(99)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;let t=this._widget.position;if(!t)return;let i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;let o=this._model.nextOrPreviousReference(i,e),n=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(o),await this._gotoReference(o,!1),n?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){this._widget?.hide(),this._ignoreModelChangeEvent=!0;let i=C.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(o=>{if(this._ignoreModelChangeEvent=!1,!o||!this._widget){this.closeWidget();return}if(this._editor===o)this._widget.show(i),this._widget.focusOnReferenceTree();else{let n=gp.get(o),r=this._model.clone();this.closeWidget(),o.focus(),n?.toggleWidget(i,je(a=>Promise.resolve(r)),this._peekMode??!1)}},o=>{this._ignoreModelChangeEvent=!1,ae(o)})}openReference(e,t,i){t||this.closeWidget();let{uri:o,range:n}=e;this._editorService.openCodeEditor({resource:o,options:{selection:n,selectionSource:"code.jump",pinned:i}},this._editor,t)}};tr=gp=IO([Wd(2,J),Wd(3,Re),Wd(4,Je),Wd(5,j),Wd(6,Tt),Wd(7,re)],tr);function ia(s,e){let t=Jm(s);if(!t)return;let i=tr.get(t);i&&e(i)}Jt.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Xe(2089,60),when:O.or(ta,qt.inPeekEditor),handler(s){ia(s,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Jt.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:O.or(ta,qt.inPeekEditor),handler(s){ia(s,e=>{e.goToNextOrPreviousReference(!0)})}});Jt.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:O.or(ta,qt.inPeekEditor),handler(s){ia(s,e=>{e.goToNextOrPreviousReference(!1)})}});ve.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");ve.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");ve.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");ve.registerCommand("closeReferenceSearch",s=>ia(s,e=>e.closeWidget()));Jt.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:O.and(qt.inPeekEditor,O.not("config.editor.stablePeek"))});Jt.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:O.and(ta,O.not("config.editor.stablePeek"),O.or(w.editorTextFocus,lT.negate()))});Jt.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:O.and(ta,ZC,YC.negate(),XC.negate()),handler(s){let t=s.get(lm).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof eo&&ia(s,i=>i.revealReference(t[0]))}});Jt.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:O.and(ta,ZC,YC.negate(),XC.negate()),handler(s){let t=s.get(lm).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof eo&&ia(s,i=>i.openReference(t[0],!0,!0))}});ve.registerCommand("openReference",s=>{let t=s.get(lm).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof eo&&ia(s,i=>i.openReference(t[0],!1,!0))});var u1=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Yc=function(s,e){return function(t,i){e(t,i,s)}},nw=new te("hasSymbols",!1,p(1153,"Whether there are symbol locations that can be navigated via keyboard-only.")),Xc=zt("ISymbolNavigationService"),iw=class{constructor(e,t,i,o){this._editorService=t,this._notificationService=i,this._keybindingService=o,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=nw.bindTo(e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.close(),this._currentModel=void 0,this._currentIdx=-1}put(e){let t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();let i=new ow(this._editorService),o=i.onDidChange(n=>{if(this._ignoreEditorChange)return;let r=this._editorService.getActiveCodeEditor();if(!r)return;let a=r.getModel(),d=r.getPosition();if(!a||!d)return;let l=!1,c=!1;for(let h of t.references)if($i(h.uri,a.uri))l=!0,c=c||C.containsPosition(h.range,d);else if(l)break;(!l||!c)&&this.reset()});this._currentState=Xv(i,o)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;let t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:C.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();let e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?p(1154,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):p(1155,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};iw=u1([Yc(0,J),Yc(1,Re),Yc(2,Je),Yc(3,he)],iw);ai(Xc,iw,1);X(new class extends at{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:nw,kbOpts:{weight:100,primary:70}})}runEditorCommand(s,e){return s.get(Xc).revealNext(e)}});Jt.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:nw,primary:9,handler(s){s.get(Xc).reset()}});var ow=class{constructor(e){this._listener=new Map,this._disposables=new M,this._onDidChange=new z,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(),ft(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,Xv(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)}};ow=u1([Yc(0,Re)],ow);function rw(s,e){return e.uri.scheme===s.uri.scheme?!0:!HD(e.uri,_t.walkThroughSnippet,_t.vscodeChatCodeBlock,_t.vscodeChatCodeCompareBlock)}async function Qc(s,e,t,i,o){let r=t.ordered(s,i).map(d=>Promise.resolve(o(d,s,e)).then(void 0,l=>{Te(l)})),a=await Promise.all(r);return vi(a.flat()).filter(d=>rw(s,d))}function qr(s,e,t,i,o){return Qc(e,t,s,i,(n,r,a)=>n.provideDefinition(r,a,o))}function mp(s,e,t,i,o){return Qc(e,t,s,i,(n,r,a)=>n.provideDeclaration(r,a,o))}function pp(s,e,t,i,o){return Qc(e,t,s,i,(n,r,a)=>n.provideImplementation(r,a,o))}function fp(s,e,t,i,o){return Qc(e,t,s,i,(n,r,a)=>n.provideTypeDefinition(r,a,o))}function Bd(s,e,t,i,o,n){return Qc(e,t,s,o,async(r,a,d)=>{let l=(await r.provideReferences(a,d,{includeDeclaration:!0},n))?.filter(h=>rw(a,h));if(!i||!l||l.length!==2)return l;let c=(await r.provideReferences(a,d,{includeDeclaration:!1},n))?.filter(h=>rw(a,h));return c&&c.length===1?c:l})}async function In(s){let e=await s(),t=new Di(e,""),i=t.references.map(o=>o.link);return t.dispose(),i}Wt("_executeDefinitionProvider",(s,e,t)=>{let i=s.get(V),o=qr(i.definitionProvider,e,t,!1,oe.None);return In(()=>o)});Wt("_executeDefinitionProvider_recursive",(s,e,t)=>{let i=s.get(V),o=qr(i.definitionProvider,e,t,!0,oe.None);return In(()=>o)});Wt("_executeTypeDefinitionProvider",(s,e,t)=>{let i=s.get(V),o=fp(i.typeDefinitionProvider,e,t,!1,oe.None);return In(()=>o)});Wt("_executeTypeDefinitionProvider_recursive",(s,e,t)=>{let i=s.get(V),o=fp(i.typeDefinitionProvider,e,t,!0,oe.None);return In(()=>o)});Wt("_executeDeclarationProvider",(s,e,t)=>{let i=s.get(V),o=mp(i.declarationProvider,e,t,!1,oe.None);return In(()=>o)});Wt("_executeDeclarationProvider_recursive",(s,e,t)=>{let i=s.get(V),o=mp(i.declarationProvider,e,t,!0,oe.None);return In(()=>o)});Wt("_executeReferenceProvider",(s,e,t)=>{let i=s.get(V),o=Bd(i.referenceProvider,e,t,!1,!1,oe.None);return In(()=>o)});Wt("_executeReferenceProvider_recursive",(s,e,t)=>{let i=s.get(V),o=Bd(i.referenceProvider,e,t,!1,!0,oe.None);return In(()=>o)});Wt("_executeImplementationProvider",(s,e,t)=>{let i=s.get(V),o=pp(i.implementationProvider,e,t,!1,oe.None);return In(()=>o)});Wt("_executeImplementationProvider_recursive",(s,e,t)=>{let i=s.get(V),o=pp(i.implementationProvider,e,t,!0,oe.None);return In(()=>o)});wi.appendMenuItem(q.EditorContext,{submenu:q.EditorContextPeek,title:p(1096,"Peek"),group:"navigation",order:100});var oa=class s{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof s||H.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}},Ln=class s extends ri{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return s._allSymbolNavigationCommands.values()}static _patchConfig(e){let t={...e,f1:!0};if(t.menu)for(let i of Co.wrap(t.menu))(i.id===q.EditorContext||i.id===q.EditorContextPeek)&&(i.when=O.and(e.precondition,i.when));return t}constructor(e,t){super(s._patchConfig(t)),this.configuration=e,s._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,o){if(!t.hasModel())return Promise.resolve(void 0);let n=e.get(Je),r=e.get(Re),a=e.get(pn),d=e.get(Xc),l=e.get(V),c=e.get(j),h=t.getModel(),u=t.getPosition(),g=oa.is(i)?i:new oa(h,u),m=new Lo(t,5),f=Ao(this._getLocationModel(l,g.model,g.position,m.token),m.token).then(async _=>{if(!_||m.token.isCancellationRequested)return;xt(_.ariaMessage);let b;if(_.referenceAt(h.uri,u)){let y=this._getAlternativeCommand(t);y!==void 0&&!s._activeAlternativeCommands.has(y)&&s._allSymbolNavigationCommands.has(y)&&(b=s._allSymbolNavigationCommands.get(y))}let v=_.references.length;if(v===0){if(!this.configuration.muteMessage){let y=h.getWordAtPosition(u);Ut.get(t)?.showMessage(this._getNoResultFoundMessage(y),u)}}else if(v===1&&b)s._activeAlternativeCommands.add(this.desc.id),c.invokeFunction(y=>b.runEditorCommand(y,t,i,o).finally(()=>{s._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,_,o)},_=>{n.error(_)}).finally(()=>{m.dispose()});return a.showWhile(f,250),f}async _onResult(e,t,i,o,n){let r=this._getGoToPreference(i);if(!(i instanceof ui)&&(this.configuration.openInPeek||r==="peek"&&o.references.length>1))this._openInPeek(i,o,n);else{let a=o.firstReference(),d=o.references.length>1&&r==="gotoAndPeek",l=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&l?this._openInPeek(l,o,n):o.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,o,n){let r;if(X0(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;let a=await t.openCodeEditor({resource:i.uri,options:{selection:C.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,o);if(a){if(n){let d=a.getModel(),l=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&l.clear()},350)}return a}}_openInPeek(e,t,i){let o=tr.get(e);o&&e.hasModel()?o.toggleWidget(i??e.getSelection(),je(n=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}},ir=class extends Ln{async _getLocationModel(e,t,i,o){return new Di(await qr(e.definitionProvider,t,i,!1,o),p(1097,"Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?p(1098,"No definition found for '{0}'",e.word):p(1099,"No definition found")}_getAlternativeCommand(e){return e.getOption(67).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleDefinitions}};pe(class sw extends ir{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sw.id,title:{...I(1123,"Go to Definition"),mnemonicTitle:p(1100,"Go to &&Definition")},precondition:w.hasDefinitionProvider,keybinding:[{when:w.editorTextFocus,primary:70,weight:100},{when:O.and(w.editorTextFocus,$C),primary:2118,weight:100}],menu:[{id:q.EditorContext,group:"navigation",order:1.1},{id:q.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),ve.registerCommandAlias("editor.action.goToDeclaration",sw.id)}});pe(class aw extends ir{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:aw.id,title:I(1124,"Open Definition to the Side"),precondition:O.and(w.hasDefinitionProvider,w.isInEmbeddedEditor.toNegated()),keybinding:[{when:w.editorTextFocus,primary:Xe(2089,70),weight:100},{when:O.and(w.editorTextFocus,$C),primary:Xe(2089,2118),weight:100}]}),ve.registerCommandAlias("editor.action.openDeclarationToTheSide",aw.id)}});pe(class dw extends ir{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:dw.id,title:I(1125,"Peek Definition"),precondition:O.and(w.hasDefinitionProvider,qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated()),keybinding:{when:w.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:q.EditorContextPeek,group:"peek",order:2}}),ve.registerCommandAlias("editor.action.previewDeclaration",dw.id)}});var _p=class extends Ln{async _getLocationModel(e,t,i,o){return new Di(await mp(e.declarationProvider,t,i,!1,o),p(1101,"Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?p(1102,"No declaration found for '{0}'",e.word):p(1103,"No declaration found")}_getAlternativeCommand(e){return e.getOption(67).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(67).multipleDeclarations}};pe(class g1 extends _p{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:g1.id,title:{...I(1126,"Go to Declaration"),mnemonicTitle:p(1104,"Go to &&Declaration")},precondition:O.and(w.hasDeclarationProvider,w.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?p(1105,"No declaration found for '{0}'",e.word):p(1106,"No declaration found")}});pe(class extends _p{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:I(1127,"Peek Declaration"),precondition:O.and(w.hasDeclarationProvider,qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated()),menu:{id:q.EditorContextPeek,group:"peek",order:3}})}});var bp=class extends Ln{async _getLocationModel(e,t,i,o){return new Di(await fp(e.typeDefinitionProvider,t,i,!1,o),p(1107,"Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?p(1108,"No type definition found for '{0}'",e.word):p(1109,"No type definition found")}_getAlternativeCommand(e){return e.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleTypeDefinitions}};pe(class m1 extends bp{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:m1.ID,title:{...I(1128,"Go to Type Definition"),mnemonicTitle:p(1110,"Go to &&Type Definition")},precondition:w.hasTypeDefinitionProvider,keybinding:{when:w.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}]})}});pe(class p1 extends bp{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:p1.ID,title:I(1129,"Peek Type Definition"),precondition:O.and(w.hasTypeDefinitionProvider,qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated()),menu:{id:q.EditorContextPeek,group:"peek",order:4}})}});var vp=class extends Ln{async _getLocationModel(e,t,i,o){return new Di(await pp(e.implementationProvider,t,i,!1,o),p(1111,"Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?p(1112,"No implementation found for '{0}'",e.word):p(1113,"No implementation found")}_getAlternativeCommand(e){return e.getOption(67).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(67).multipleImplementations}};pe(class f1 extends vp{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:f1.ID,title:{...I(1130,"Go to Implementations"),mnemonicTitle:p(1114,"Go to &&Implementations")},precondition:w.hasImplementationProvider,keybinding:{when:w.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}]})}});pe(class _1 extends vp{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:_1.ID,title:I(1131,"Peek Implementations"),precondition:O.and(w.hasImplementationProvider,qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated()),keybinding:{when:w.editorTextFocus,primary:3142,weight:100},menu:{id:q.EditorContextPeek,group:"peek",order:5}})}});var Cp=class extends Ln{_getNoResultFoundMessage(e){return e?p(1115,"No references found for '{0}'",e.word):p(1116,"No references found")}_getAlternativeCommand(e){return e.getOption(67).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(67).multipleReferences}};pe(class extends Cp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...I(1132,"Go to References"),mnemonicTitle:p(1117,"Go to &&References")},precondition:O.and(w.hasReferenceProvider,qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated()),keybinding:{when:w.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,i,o){return new Di(await Bd(e.referenceProvider,t,i,!0,!1,o),p(1118,"References"))}});pe(class extends Cp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:I(1133,"Peek References"),precondition:O.and(w.hasReferenceProvider,qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated()),menu:{id:q.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,o){return new Di(await Bd(e.referenceProvider,t,i,!1,!1,o),p(1119,"References"))}});var lw=class extends Ln{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:I(1134,"Go to Any Symbol"),precondition:O.and(qt.notInPeekEditor,w.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,o){return new Di(this._references,p(1120,"Locations"))}_getNoResultFoundMessage(e){return e&&p(1121,"No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(67).multipleReferences}_getAlternativeCommand(){}};ve.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:ge},{name:"position",description:"The position at which to start",constraint:H.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(s,e,t,i,o,n,r)=>{_e(ge.isUri(e)),_e(H.isIPosition(t)),_e(Array.isArray(i)),_e(typeof o>"u"||typeof o=="string"),_e(typeof r>"u"||typeof r=="boolean");let a=s.get(Re),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(qC(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(l=>{let c=new class extends lw{_getNoResultFoundMessage(h){return n||super._getNoResultFoundMessage(h)}}({muteMessage:!n,openInPeek:!!r,openToSide:!1},i,o);l.get(j).invokeFunction(c.run.bind(c),d)})}});ve.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:ge},{name:"position",description:"The position at which to start",constraint:H.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(s,e,t,i,o)=>{s.get(Fe).executeCommand("editor.action.goToLocations",e,t,i,o,void 0,!0)}});ve.registerCommand({id:"editor.action.findReferences",handler:(s,e,t)=>{_e(ge.isUri(e)),_e(H.isIPosition(t));let i=s.get(V),o=s.get(Re);return o.openCodeEditor({resource:e},o.getFocusedCodeEditor()).then(n=>{if(!qC(n)||!n.hasModel())return;let r=tr.get(n);if(!r)return;let a=je(l=>Bd(i.referenceProvider,n.getModel(),H.lift(t),!1,!1,l).then(c=>new Di(c,p(1122,"References")))),d=new C(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});ve.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var Vd=class{constructor(e,t,i,o){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=o,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}},or=class{constructor(e,t,i,o,n,r){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=o,this.initialMousePosY=n,this.supportsMarkerHover=r,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}},to=class{constructor(e,t){this.renderedHoverParts=e,this.disposables=t}dispose(){for(let e of this.renderedHoverParts)e.dispose();this.disposables?.dispose()}},po=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var b1=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},cw=function(s,e){return function(t,i){e(t,i,s)}},na=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){let o=t.range,n=t.color,r=new fe(new Bo(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),n.alpha)),a=fe.Format.CSS.formatRGB(r),d=fe.Format.CSS.formatHSL(r),l=fe.Format.CSS.formatHexA(r,!0),c=[];return c.push({label:a,textEdit:{range:o,text:a}}),c.push({label:d,textEdit:{range:o,text:d}}),c.push({label:l,textEdit:{range:o,text:l}}),c}};na=b1([cw(0,xi)],na);var Sp=class extends D{constructor(e,t){super(),this._register(e.colorProvider.register("*",new na(t)))}};Sp=b1([cw(0,V),cw(1,xi)],Sp);async function xp(s,e,t,i="auto"){return Ip(new hw,s,e,t,i)}function uw(s,e,t,i){return Promise.resolve(t.provideColorPresentations(s,e,i))}var hw=class{constructor(){}async compute(e,t,i,o){let n=await e.provideDocumentColors(t,i);if(Array.isArray(n))for(let r of n)o.push({colorInfo:r,provider:e});return Array.isArray(n)}},wp=class{constructor(){}async compute(e,t,i,o){let n=await e.provideDocumentColors(t,i);if(Array.isArray(n))for(let r of n)o.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]});return Array.isArray(n)}},yp=class{constructor(e){this.colorInfo=e}async compute(e,t,i,o){let n=await e.provideColorPresentations(t,this.colorInfo,oe.None);return Array.isArray(n)&&o.push(...n),Array.isArray(n)}};async function Ip(s,e,t,i,o){let n=!1,r,a=[],d=e.ordered(t);for(let l=d.length-1;l>=0;l--){let c=d[l];if(o!=="always"&&c instanceof na)r=c;else try{await s.compute(c,t,i,a)&&(n=!0)}catch(h){Te(h)}}return n?a:r&&o!=="never"?(await s.compute(r,t,i,a),a):[]}function gw(s,e){let{colorProvider:t}=s.get(V),i=s.get(Ct).getModel(e);if(!i)throw ji();let o=s.get(re).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,defaultColorDecoratorsEnablement:o}}var LO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},mw=function(s,e){return function(t,i){e(t,i,s)}},ra,fw=Object.create({}),nr=class extends D{static{ra=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1e3}static{this.colorDecoratorInnerWidthInEm=.8}static{this.colorDecoratorMarginInEm=.2}constructor(e,t,i,o){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new M),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new pw),this._colorDecorationClassRefs=this._register(new M),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new Pg(this._editor));let n=this._editor.getContainerDomNode();n.style.setProperty("--vscode-colorPicker-colorDecoratorWidth",`${ra.colorDecoratorInnerWidthInEm}em`),n.style.setProperty("--vscode-colorPicker-colorDecoratorMargin",`${ra.colorDecoratorMarginInEm}em`),this._register(ce(()=>{n.style.removeProperty("--vscode-colorPicker-colorDecoratorWidth"),n.style.removeProperty("--vscode-colorPicker-colorDecoratorMargin")})),this._debounceInformation=o.for(i.colorProvider,"Document Colors",{min:ra.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(r=>{let a=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168);let d=a!==this._isColorDecoratorsEnabled||r.hasChanged(27),l=r.hasChanged(168);(d||l)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168),this.updateColors()}isEnabled(){let e=this._editor.getModel();if(!e)return!1;let t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){let o=i.colorDecorators;if(o&&o.enable!==void 0&&!o.enable)return o.enable}return this._editor.getOption(26)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled){this.removeAllDecorations();return}let e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new on,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=je(async e=>{let t=this._editor.getModel();if(!t)return[];let i=new kt(!1),o=await xp(this._languageFeaturesService.colorProvider,t,e,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(t,i.elapsed()),o});try{let e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){ae(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){let t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:ee.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((o,n)=>this._colorDatas.set(o,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[],i=ra.colorDecoratorInnerWidthInEm+2*ra.colorDecoratorMarginInEm,o=this._editor.getOption(27);for(let r=0;r<e.length&&t.length<o;r++){let{red:a,green:d,blue:l,alpha:c}=e[r].colorInfo.color,h=new Bo(Math.round(a*255),Math.round(d*255),Math.round(l*255),c),u=`rgba(${h.r}, ${h.g}, ${h.b}, ${h.a})`,g=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:u}));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:ng,inlineClassName:`${g.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:fw,widthInEm:i}}})}let n=o<e.length?o:!1;this._decoratorLimitReporter.update(e.length,n),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){let t=this._editor.getModel();if(!t)return null;let i=t.getDecorationsInRange(C.fromPositions(e,e)).filter(o=>this._colorDatas.has(o.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};nr=ra=LO([mw(1,re),mw(2,V),mw(3,Mt)],nr);var pw=class extends D{constructor(){super(...arguments),this._onDidChange=this._register(new z),this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}};var Lp="editor.action.showHover",v1="editor.action.showDefinitionPreviewHover",C1="editor.action.hideHover",S1="editor.action.scrollUpHover",w1="editor.action.scrollDownHover",y1="editor.action.scrollLeftHover",x1="editor.action.scrollRightHover",I1="editor.action.pageUpHover",L1="editor.action.pageDownHover",E1="editor.action.goToTopHover",D1="editor.action.goToBottomHover",sa="editor.action.increaseHoverVerbosityLevel",k1=p(1160,"Increase Hover Verbosity Level"),aa="editor.action.decreaseHoverVerbosityLevel",R1=p(1161,"Decrease Hover Verbosity Level"),Jc="editor.action.hideLongLineWarningHover";var Go="editor.action.inlineSuggest.commit",da="editor.action.inlineSuggest.commitAlternativeAction",Ep="editor.action.inlineSuggest.showPrevious",Dp="editor.action.inlineSuggest.showNext",zd="editor.action.inlineSuggest.jump",kp="editor.action.inlineSuggest.hide",eh="editor.action.inlineSuggest.toggleShowCollapsed",_w="editor.action.inlineSuggest.renameSymbol";var Sw=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},To=function(s,e){return function(t,i){e(t,i,s)}},Rp,Tp=class extends D{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=st(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar==="always"),this.sessionPosition=void 0,this.position=R(this,o=>{let n=this.model.read(o)?.primaryGhostText.read(o);if(!this.alwaysShowToolbar.read(o)||!n||n.parts.length===0)return this.sessionPosition=void 0,null;let r=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);let a=new H(n.lineNumber,Math.min(r,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(nn((o,n)=>{let r=this.model.read(o);if(!r||!this.alwaysShowToolbar.read(o))return;let a=R(l=>{let c=l.store.add(this.instantiationService.createInstance(rr.hot.read(l),this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands,r.warning,()=>{}));return e.addContentWidget(c),l.store.add(ce(()=>e.removeContentWidget(c))),l.store.add(se(h=>{this.position.read(h)&&r.lastTriggerKind.read(h)!==di.Explicit&&r.triggerExplicitly()})),c}),d=Si(this,(l,c)=>!!this.position.read(l)||!!c);n.add(se(l=>{d.read(l)&&a.read(l)}))}))}};Tp=Sw([To(2,j)],Tp);var EO=qe("inline-suggestion-hints-next",B.chevronRight,p(1270,"Icon for show next parameter hint.")),DO=qe("inline-suggestion-hints-previous",B.chevronLeft,p(1271,"Icon for show previous parameter hint.")),rr=class extends D{static{Rp=this}static{this.hot=Sd(this)}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,i){let o=new an(e,t,i,!0,()=>this._commandService.executeCommand(e));return o.tooltip=this.keybindingService.appendKeybinding(t,e,this._contextKeyService),o}constructor(e,t,i,o,n,r,a,d,l,c,h,u,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=o,this._suggestionCount=n,this._extraCommands=r,this._warning=a,this._relayout=d,this._commandService=l,this.keybindingService=h,this._contextKeyService=u,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${Rp.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=R(m=>{let f=this._warning.read(m);return f?typeof f.message=="string"?f.message:m.store.add(Vs(f.message)).element:void 0}),this._warningMessageNode=G.div({class:"warningMessage",style:{maxWidth:400,margin:4,marginBottom:4,display:R(m=>this._warning.read(m)?"block":"none")}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=Ir("div.inlineSuggestionsHints",{className:this.withBorder?"monaco-hover monaco-hover-content":""},[this._warningMessageNode.element,Ir("div@toolBar")]),this.previousAction=this._register(this.createCommandAction(Ep,p(1272,"Previous"),ne.asClassName(DO))),this.availableSuggestionCountAction=this._register(new an("inlineSuggestionHints.availableSuggestionCount","",void 0,!1)),this.nextAction=this._register(this.createCommandAction(Dp,p(1273,"Next"),ne.asClassName(EO))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(q.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ae(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Ae(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(se(m=>{this._warningMessageContentNode.read(m),this._warningMessageNode.readEffect(m),this._relayout()})),this.toolBar=this._register(c.createInstance(Cw,this.nodes.toolBar,q.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:m=>m.startsWith("primary")},actionViewItemProvider:(m,f)=>{if(m instanceof xo)return c.createInstance(vw,m,void 0);if(m===this.availableSuggestionCountAction){let _=new bw(void 0,m,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(m=>{Rp._dropDownVisible=m})),this._register(se(m=>{this._position.read(m),this.editor.layoutContentWidget(this)})),this._register(se(m=>{let f=this._suggestionCount.read(m),_=this._currentSuggestionIdx.read(m);f!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${_+1}/${f}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),f!==void 0&&f>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(se(m=>{let _=this._extraCommands.read(m).map(b=>({class:void 0,id:b.command.id,enabled:!0,tooltip:b.command.tooltip||"",label:b.command.title,run:()=>this._commandService.executeCommand(b.command.id,...b.command.arguments??[])}));for(let[b,v]of this.inlineCompletionsActionsMenus.getActions())for(let y of v)y instanceof xo&&_.push(y);_.length>0&&_.unshift(new jn),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};rr=Rp=Sw([To(8,Fe),To(9,j),To(10,he),To(11,J),To(12,Gi)],rr);var bw=class extends Rc{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(){}},vw=class extends Id{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!e)return super.updateLabel();if(this.label){let t=Ir("div.keybinding").root;this._register(new vn(t,tn,{disableTitle:!0,...im})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},Cw=class extends AR{constructor(e,t,i,o,n,r,a,d,l){super(e,{resetMenu:t,...i},o,n,r,a,d,l),this.menuId=t,this.options2=i,this.menuService=o,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this.additionalPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){let{primary:e,secondary:t}=Qg(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){Yt(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Yt(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Cw=Sw([To(3,Gi),To(4,J),To(5,_n),To(6,he),To(7,Fe),To(8,yi)],Cw);function Gr(s,e,t){let i=tt(s);return!(e<i.left+3||e>i.left+i.width-3||t<i.top+3||t>i.top+i.height-3)}function Mp(s,e,t){return s==="on"?!0:s==="off"?!1:th(e,t.event)}function th(s,e){return s==="altKey"?e.ctrlKey||e.metaKey:e.altKey}var ww=class{constructor(e,t,i,o){this.value=e,this.isComplete=t,this.hasLoadingMessage=i,this.options=o}},Ud=class extends D{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new z),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new ih(i=>this._triggerAsyncComputation(i),0)),this._syncComputationScheduler=this._register(new ih(i=>this._triggerSyncComputation(i),0)),this._loadingMessageScheduler=this._register(new ih(i=>this._triggerLoadingMessage(i),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._options=void 0,super.dispose()}get _hoverTime(){return this._editor.getOption(69).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t){this._options=t,this._state=e,this._fireResult(t)}_triggerAsyncComputation(e){this._setState(2,e),this._syncComputationScheduler.schedule(e,this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=DD(t=>this._computer.computeAsync(e,t)),(async()=>{try{for await(let t of this._asyncIterable)t&&(this._result.push(t),this._fireResult(e));this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0,e)}catch(t){ae(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(e){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync(e))),this._setState(this._asyncIterableDone?0:3,e)}_triggerLoadingMessage(e){this._state===3&&this._setState(4,e)}_fireResult(e){if(this._state===1||this._state===2)return;let t=this._state===0,i=this._state===4;this._onResult.fire(new ww(this._result.slice(0),t,i,e))}start(e,t){if(e===0)this._state===0&&(this._setState(1,t),this._asyncComputationScheduler.schedule(t,this._firstWaitTime),this._loadingMessageScheduler.schedule(t,this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(t),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t);break}}cancel(){this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._options=void 0,this._state=0}get options(){return this._options}},ih=class extends D{constructor(e,t){super(),this._scheduler=this._register(new Ae(()=>e(this._options),t))}schedule(e,t){this._options=e,this._scheduler.schedule(t)}cancel(){this._scheduler.cancel()}};var $r=class{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new z,this._onDidResize=new z,this._sashListener=new M,this._size=new Me(0,0),this._minSize=new Me(0,0),this._maxSize=new Me(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Xn(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Xn(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Xn(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:BC.North}),this._southSash=new Xn(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:BC.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(De.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(De.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(o=>{e&&(i=o.currentX-o.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(o=>{e&&(i=-(o.currentX-o.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(o=>{e&&(t=-(o.currentY-o.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(o=>{e&&(t=o.currentY-o.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(De.any(this._eastSash.onDidReset,this._westSash.onDidReset)(o=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(De.any(this._northSash.onDidReset,this._southSash.onDidReset)(o=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,o){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=o?3:0}layout(e=this.size.height,t=this.size.width){let{height:i,width:o}=this._minSize,{height:n,width:r}=this._maxSize;e=Math.max(i,Math.min(n,e)),t=Math.max(o,Math.min(r,t));let a=new Me(t,e);Me.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}};var kO=30,RO=24,Np=class extends D{constructor(e,t=new Me(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new $r),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Me.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Me(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?H.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){let t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:tt(t).top+i.top-kO}_availableVerticalSpaceBelow(e){let t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;let o=tt(t),n=rn(t.ownerDocument.body),r=o.top+i.top+i.height;return n.height-r-RO}_findPositionPreference(e,t){let i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),o=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),n=Math.min(Math.max(o,i),e),r=Math.min(e,n),a;return this._editor.getOption(69).above?a=r<=o?1:2:a=r<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}};var TO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Pp=function(s,e){return function(t,i){e(t,i,s)}},Mo,T1=30,Op=class extends Np{static{Mo=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new Me(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,o,n){let r=e.getOption(75)+8,a=150,d=new Me(a,r);super(e,d),this._configurationService=i,this._accessibilityService=o,this._keybindingService=n,this._hover=this._register(new om(!0)),this._onDidResize=this._register(new z),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new z),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new z),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=d,this._hoverVisibleKey=w.hoverVisible.bindTo(t),this._hoverFocusedKey=w.hoverFocused.bindTo(t),U(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._resizableNode.domNode.className="monaco-resizable-hover",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(59)&&this._updateFont()}));let l=this._register(qi(this._resizableNode.domNode));this._register(l.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(l.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll(c=>{this._onDidScroll.fire(c)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return Mo.ID}static _applyDimensions(e,t,i){let o=typeof t=="number"?`${t}px`:t,n=typeof i=="number"?`${i}px`:i;e.style.width=o,e.style.height=n}_setContentsDomNodeDimensions(e,t){let i=this._hover.contentsDomNode;return Mo._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){let i=this._hover.containerDomNode;return Mo._applyDimensions(i,e,t)}_setScrollableElementDimensions(e,t){let i=this._hover.scrollbar.getDomNode();return Mo._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContainerDomNodeDimensions(e,t),this._setScrollableElementDimensions(e,t),this._setContentsDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){let o=typeof t=="number"?`${t}px`:t,n=typeof i=="number"?`${i}px`:i;e.style.maxWidth=o,e.style.maxHeight=n}_setHoverWidgetMaxDimensions(e,t){Mo._applyMaxDimensions(this._hover.contentsDomNode,e,t),Mo._applyMaxDimensions(this._hover.scrollbar.getDomNode(),e,t),Mo._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 Me(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){Mo._lastDimensions=new Me(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){let e=this._renderedHover?.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){let e=this._findAvailableSpaceVertically();if(!e)return;let i=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach(o=>{i+=o.clientHeight}),Math.min(e,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");let e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;let e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth;return e||this._hover.containerDomNode.clientWidth<t?rn(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;let i=tt(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=M1(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));let o=M1(e,t,i.left,i.top,i.width,i.height);return o>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,o),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){let{fontSize:e,lineHeight:t}=this._editor.getOption(59),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(n=>this._editor.applyFontInfo(n))}_updateContent(e){let t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){let e=Math.max(this._editor.getLayoutInfo().height/4,250,Mo._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,750,Mo._lastDimensions.width);this._resizableNode.maxSize=new Me(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=xr(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.handleContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();let n=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&XR(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");n&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+n)}hide(){if(!this._renderedHover)return;let e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Me(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 Me(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Me(e,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let e=this._hover.contentsDomNode,t=xr(e),i=Pi(e)+2;if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=xr(e),i=Pi(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),this._renderedHover?.showAtPosition){let o=xr(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(o,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-T1})}scrollRight(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+T1})}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})}};Op=Mo=TO([Pp(1,J),Pp(2,re),Pp(3,Zi),Pp(4,he)],Op);function M1(s,e,t,i,o,n){let r=t+o/2,a=i+n/2,d=Math.max(Math.abs(s-r)-o/2,0),l=Math.max(Math.abs(e-a)-n/2,0);return Math.sqrt(d*d+l*l)}var Ap=class s{constructor(e,t){this._editor=e,this._participants=t}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];let i=e.getModel(),o=t.range.startLineNumber;if(o>i.getLineCount())return[];let n=i.getLineMaxColumn(o);return e.getLineDecorations(o).filter(r=>{if(r.options.isWholeLine)return!0;let a=r.range.startLineNumber===o?r.range.startColumn:1,d=r.range.endLineNumber===o?r.range.endColumn:n;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e,t){let i=e.anchor;if(!this._editor.hasModel()||!i)return _i.EMPTY;let o=s._getLineDecorations(this._editor,i);return _i.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(i,o,e.source,t):_i.EMPTY))}computeSync(e){if(!this._editor.hasModel())return[];let t=e.anchor,i=s._getLineDecorations(this._editor,t),o=[];for(let n of this._participants)o=o.concat(n.computeSync(t,i,e.source));return vi(o)}};var oh=class{constructor(e,t,i){this.hoverParts=e,this.isComplete=t,this.options=i}filter(e){let t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new yw(this,t,this.isComplete,this.options)}},yw=class extends oh{constructor(e,t,i,o){super(t,i,o),this.original=e}filter(e){return this.original.filter(e)}};var MO=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},N1=function(s,e){return function(t,i){e(t,i,s)}},P1=W,jd=class extends D{get hasContent(){return this._hasContent}constructor(e,t){super(),this._keybindingService=e,this._hoverService=t,this.actions=[],this._hasContent=!1,this.hoverElement=P1("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=U(this.hoverElement,P1("div.actions"))}addAction(e){let t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;let o=this._register(nm.render(this.actionsElement,e,i));return this._register(this._hoverService.setupManagedHover(jg("element"),o.actionContainer,o.actionRenderedLabel)),this.actions.push(o),o}append(e){let t=U(this.actionsElement,e);return this._hasContent=!0,t}};jd=MO([N1(0,he),N1(1,Lt)],jd);var Fp=class s{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){let e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){let t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){let t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){let t=this._editor.getModel().getDecorationsInRange(e);for(let i of t){let o=i.options;if(o===s._FIND_MATCH_DECORATION||o===s._FIND_MATCH_NO_OVERVIEW_DECORATION||o===s._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let o=0,n=this._decorations.length;o<n;o++){let r=this._editor.getModel().getDecorationRange(this._decorations[o]);if(e.equalsRange(r)){t=this._decorations[o],i=o+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(o=>{if(this._highlightedDecorationId!==null&&(o.changeDecorationOptions(this._highlightedDecorationId,s._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,o.changeDecorationOptions(this._highlightedDecorationId,s._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(o.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let n=this._editor.getModel().getDecorationRange(t);if(n.startLineNumber!==n.endLineNumber&&n.endColumn===1){let r=n.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(r);n=new C(n.startLineNumber,n.startColumn,r,a)}this._rangeHighlightDecorationId=o.addDecoration(n,s._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let o=s._FIND_MATCH_DECORATION,n=[];if(e.length>1e3){o=s._FIND_MATCH_NO_OVERVIEW_DECORATION;let a=this._editor.getModel().getLineCount(),l=this._editor.getLayoutInfo().height/a,c=Math.max(2,Math.ceil(3/l)),h=e[0].range.startLineNumber,u=e[0].range.endLineNumber;for(let g=1,m=e.length;g<m;g++){let f=e[g].range;u+c>=f.startLineNumber?f.endLineNumber>u&&(u=f.endLineNumber):(n.push({range:new C(h,1,u,1),options:s._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),h=f.startLineNumber,u=f.endLineNumber)}n.push({range:new C(h,1,u,1),options:s._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let r=new Array(e.length);for(let a=0,d=e.length;a<d;a++)r[a]={range:e[a].range,options:o};this._decorations=i.deltaDecorations(this._decorations,r),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,n),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t?.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,s._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){let i=this._decorations[t],o=this._editor.getModel().getDecorationRange(i);if(!(!o||o.endLineNumber>e.lineNumber)){if(o.endLineNumber<e.lineNumber)return o;if(!(o.endColumn>e.column))return o}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){let o=this._decorations[t],n=this._editor.getModel().getDecorationRange(o);if(!(!n||n.startLineNumber<e.lineNumber)){if(n.startLineNumber>e.lineNumber)return n;if(!(n.startColumn<e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}static{this._CURRENT_FIND_MATCH_DECORATION=ee.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:ot(Rg),position:Ai.Center},minimap:{color:ot(xC),position:1}})}static{this._FIND_MATCH_DECORATION=ee.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:ot(Rg),position:Ai.Center},minimap:{color:ot(xC),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=ee.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=ee.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:ot(Rg),position:Ai.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=ee.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=ee.register({description:"find-scope",className:"findScope",isWholeLine:!0})}};var Hp=class{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){let i=[];for(let r=0;r<this._ranges.length;r++)i.push({range:this._ranges[r],text:this._replaceStrings[r]});i.sort((r,a)=>C.compareRangesUsingStarts(r.range,a.range));let o=[],n=i[0];for(let r=1;r<i.length;r++)n.range.endLineNumber===i[r].range.startLineNumber&&n.range.endColumn===i[r].range.startColumn?(n.range=n.range.plusRange(i[r].range),n.text=n.text+i[r].text):(o.push(n),n=i[r]);o.push(n);for(let r of o)t.addEditOperation(r.range,r.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}};function xw(s,e){if(s&&s[0]!==""){let t=O1(s,e,"-"),i=O1(s,e,"_");return t&&!i?A1(s,e,"-"):!t&&i?A1(s,e,"_"):s[0].toUpperCase()===s[0]?e.toUpperCase():s[0].toLowerCase()===s[0]?e.toLowerCase():AD(s[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):s[0][0].toUpperCase()!==s[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function O1(s,e,t){return s[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&s[0].split(t).length===e.split(t).length}function A1(s,e,t){let i=e.split(t),o=s[0].split(t),n="";return i.forEach((r,a)=>{n+=xw([o[a]],r)+t}),n.slice(0,-1)}var Wp=class{constructor(e){this.staticValue=e,this.kind=0}},Iw=class{constructor(e){this.pieces=e,this.kind=1}},qd=class s{static fromStaticValue(e){return new s([Kd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Wp(""):e.length===1&&e[0].staticValue!==null?this._state=new Wp(e[0].staticValue):this._state=new Iw(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?xw(e,this._state.staticValue):this._state.staticValue;let i="";for(let o=0,n=this._state.pieces.length;o<n;o++){let r=this._state.pieces[o];if(r.staticValue!==null){i+=r.staticValue;continue}let a=s._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){let d=[],l=r.caseOps.length,c=0;for(let h=0,u=a.length;h<u;h++){if(c>=l){d.push(a.slice(h));break}switch(r.caseOps[c]){case"U":d.push(a[h].toUpperCase());break;case"u":d.push(a[h].toUpperCase()),c++;break;case"L":d.push(a[h].toLowerCase());break;case"l":d.push(a[h].toLowerCase()),c++;break;default:d.push(a[h])}}a=d.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}},Kd=class s{static staticValue(e){return new s(e,-1,null)}static caseOps(e,t){return new s(null,e,t)}constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}},Lw=class{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Kd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Kd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Kd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new qd(this._result)}};function F1(s){if(!s||s.length===0)return new qd(null);let e=[],t=new Lw(s);for(let i=0,o=s.length;i<o;i++){let n=s.charCodeAt(i);if(n===92){if(i++,i>=o)break;let r=s.charCodeAt(i);switch(r){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
|
|
9
|
+
`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(n===36){if(i++,i>=o)break;let r=s.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<o){let d=s.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}var Dn=new te("findWidgetVisible",!1);Dn.toNegated();var Gd=new te("findInputFocussed",!1),nh=new te("replaceInputFocussed",!1),H1=new te("findWidgetFocused",!1),rh={primary:545,mac:{primary:2593}},sh={primary:565,mac:{primary:2613}},ah={primary:560,mac:{primary:2608}},dh={primary:554,mac:{primary:2602}},lh={primary:558,mac:{primary:2606}},ze={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"},En=19999,NO=240,Bp=class s{constructor(e,t){this._toDispose=new M,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new on,this._decorations=new Fp(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ae(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,ft(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)},NO)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new C(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));let o=this._findMatches(i,!1,En);this._decorations.set(o,i);let n=this._editor.getSelection(),r=this._decorations.getCurrentMatchesPosition(n);if(r===0&&o.length>0){let a=wg(o.map(d=>d.range),d=>C.compareRangesUsingStarts(d,n)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(50).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){let t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:i,column:o}=e,n=this._editor.getModel();return t||o===1?(i===1?i=n.getLineCount():i--,o=n.getLineMaxColumn(i)):o--,new H(i,o)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){let c=this._decorations.matchAfterPosition(e);c&&this._setCurrentFindMatch(c);return}if(this._decorations.getCount()<En){let c=this._decorations.matchBeforePosition(e);c&&c.isEmpty()&&c.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),c=this._decorations.matchBeforePosition(e)),c&&this._setCurrentFindMatch(c);return}if(this._cannotFind())return;let i=this._decorations.getFindScope(),o=s._getSearchRange(this._editor.getModel(),i);o.getEndPosition().isBefore(e)&&(e=o.getEndPosition()),e.isBefore(o.getStartPosition())&&(e=o.getEndPosition());let{lineNumber:n,column:r}=e,a=this._editor.getModel(),d=new H(n,r),l=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(l&&l.range.isEmpty()&&l.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),l=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1)),!!l){if(!t&&!o.containsRange(l.range))return this._moveToPrevMatch(l.range.getStartPosition(),!0);this._setCurrentFindMatch(l.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:i,column:o}=e,n=this._editor.getModel();return t||o===n.getLineMaxColumn(i)?(i===n.getLineCount()?i=1:i++,o=1):o++,new H(i,o)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){let i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<En){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}let t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,o=!1){if(this._cannotFind())return null;let n=this._decorations.getFindScope(),r=s._getSearchRange(this._editor.getModel(),n);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());let{lineNumber:a,column:d}=e,l=this._editor.getModel(),c=new H(a,d),h=l.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,t);return i&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._nextSearchPosition(c),h=l.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,t)),h?!o&&!r.containsRange(h.range)?this._getNextMatch(h.range.getEndPosition(),t,i,!0):h:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){let t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?F1(this._state.replaceString):qd.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){let o=e.buildReplaceString(i.matches,this._state.preserveCase),n=new Kn(t,o);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new H(t.startLineNumber,t.startColumn+o.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){let o=(e||[null]).map(n=>s._getSearchRange(this._editor.getModel(),n));return this._editor.getModel().findMatches(this._state.searchString,o,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,t,i)}replaceAll(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=En?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){let t=new ek(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let h="mu";i.ignoreCase&&(h+="i"),i.global&&(h+="g"),i=new RegExp(i.source,h)}let o=this._editor.getModel(),n=o.getValue(1),r=o.getFullModelRange(),a=this._getReplacePattern(),d,l=this._state.preserveCase;a.hasReplacementPatterns||l?d=n.replace(i,function(){return a.buildReplaceString(arguments,l)}):d=n.replace(i,a.buildReplaceString(null,l));let c=new hg(r,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(e){let t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),o=[];for(let r=0,a=i.length;r<a;r++)o[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);let n=new Hp(this._editor.getSelection(),i.map(r=>r.range),o);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes(),i=this._findMatches(e,!1,1073741824).map(n=>new Q(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn)),o=this._editor.getSelection();for(let n=0,r=i.length;n<r;n++)if(i[n].equalsRange(o)){i=[o].concat(i.slice(0,n)).concat(i.slice(n+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}};var PO=p(5,"input"),OO=p(6,"Preserve Case"),Ew=class extends sm{constructor(e){super({icon:B.preserveCase,title:OO+e.appendTitle,isChecked:e.isChecked,hoverLifecycleOptions:e.hoverLifecycleOptions,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},Vp=class extends Zn{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(e,t,i,o){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new z),this._onKeyDown=this._register(new z),this._onMouseDown=this._register(new z),this._onInput=this._register(new z),this._onKeyUp=this._register(new z),this._onPreserveCaseKeyDown=this._register(new z),this.contextViewProvider=t,this.placeholder=o.placeholder||"",this.validation=o.validation,this.label=o.label||PO;let n=o.appendPreserveCaseLabel||"",r=o.history||new Set([]),a=!!o.flexibleHeight,d=!!o.flexibleWidth,l=o.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new sT(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:o.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:l,inputBoxStyles:o.inputBoxStyles})),this.preserveCase=this._register(new Ew({appendTitle:n,isChecked:!1,hoverLifecycleOptions:o.hoverLifecycleOptions,...o.toggleStyles})),this._register(this.preserveCase.onChange(u=>{this._onDidOptionChange.fire(u),!u&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(u=>{this._onPreserveCaseKeyDown.fire(u)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let c=[this.preserveCase.domNode];this.onkeydown(this.domNode,u=>{iT(u,this.domNode,()=>c,()=>this.inputBox.focus())});let h=document.createElement("div");h.className="controls",h.style.display=this._showOptionButtons?"block":"none",h.appendChild(this.preserveCase.domNode),this.domNode.appendChild(h),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,u=>this._onKeyDown.fire(u)),this.onkeyup(this.inputBox.inputElement,u=>this._onKeyUp.fire(u)),this.oninput(this.inputBox.inputElement,u=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,u=>this._onMouseDown.fire(u))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}};var W1=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},B1=function(s,e){return function(t,i){e(t,i,s)}},Kp=new te("suggestWidgetVisible",!1,p(1793,"Whether suggestion are visible")),Dw="historyNavigationWidgetFocus",V1="historyNavigationForwardsEnabled",z1="historyNavigationBackwardsEnabled",ch,zp=[];function U1(s,e){if(zp.includes(e))throw new Error("Cannot register the same widget multiple times");zp.push(e);let t=new M,i=new te(Dw,!1).bindTo(s),o=new te(V1,!0).bindTo(s),n=new te(z1,!0).bindTo(s),r=()=>{i.set(!0),ch=e},a=()=>{i.set(!1),ch===e&&(ch=void 0)};return Un(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(ce(()=>{zp.splice(zp.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:o,historyNavigationBackwardsEnablement:n,dispose(){t.dispose()}}}var Up=class extends aT{constructor(e,t,i,o){super(e,t,i);let n=this._register(o.createScoped(this.inputBox.element));this._register(U1(n,this.inputBox))}};Up=W1([B1(3,J)],Up);var jp=class extends Vp{constructor(e,t,i,o,n=!1){super(e,t,n,i);let r=this._register(o.createScoped(this.inputBox.element));this._register(U1(r,this.inputBox))}};jp=W1([B1(3,J)],jp);Jt.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:O.and(O.has(Dw),O.equals(z1,!0),Kp.isEqualTo(!1)),primary:16,secondary:[528],handler:s=>{ch?.showPreviousValue()}});Jt.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:O.and(O.has(Dw),O.equals(V1,!0),Kp.isEqualTo(!1)),primary:18,secondary:[530],handler:s=>{ch?.showNextValue()}});function kw(s){return s.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()==="Up"&&s.lookupKeybinding("history.showNext")?.getElectronAccelerator()==="Down"}var j1=qe("find-collapsed",B.chevronRight,p(1011,"Icon to indicate that the editor find widget is collapsed.")),K1=qe("find-expanded",B.chevronDown,p(1012,"Icon to indicate that the editor find widget is expanded.")),AO=qe("find-selection",B.selection,p(1013,"Icon for 'Find in Selection' in the editor find widget.")),FO=qe("find-replace",B.replace,p(1014,"Icon for 'Replace' in the editor find widget.")),HO=qe("find-replace-all",B.replaceAll,p(1015,"Icon for 'Replace All' in the editor find widget.")),WO=qe("find-previous-match",B.arrowUp,p(1016,"Icon for 'Find Previous' in the editor find widget.")),BO=qe("find-next-match",B.arrowDown,p(1017,"Icon for 'Find Next' in the editor find widget.")),VO=p(1018,"Find / Replace"),Rw=p(1019,"Find"),zO=p(1020,"Find"),UO=p(1021,"Previous Match"),jO=p(1022,"Next Match"),KO=p(1023,"Find in Selection"),qO=p(1024,"Close"),Tw=p(1025,"Replace"),GO=p(1026,"Replace"),$O=p(1027,"Replace"),ZO=p(1028,"Replace All"),YO=p(1029,"Toggle Replace"),XO=p(1030,"Only the first {0} results are highlighted, but all find operations work on the entire text.",En),QO=p(1031,"{0} of {1}"),qp=p(1032,"No results"),kn=419,JO=275,eA=JO-54,hh=69,tA=33,q1=Ki?256:2048,uh=class{constructor(e){this.afterLineNumber=e,this.heightInPx=tA,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}};function G1(s,e,t){let i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){s.stopPropagation();return}}function $1(s,e,t){let i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){s.stopPropagation();return}}var Gp=class s extends Zn{static{this.ID="editor.contrib.findWidget"}constructor(e,t,i,o,n,r,a,d,l,c,h){super(),this._hoverService=a,this._findWidgetSearchHistory=d,this._replaceWidgetHistory=l,this._configurationService=c,this._accessibilityService=h,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=o,this._keybindingService=n,this._contextKeyService=r,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new Mi(500),this._register(ce(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(u=>this._onStateChanged(u))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(u=>{if(u.hasChanged(104)&&(this._codeEditor.getOption(104)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),u.hasChanged(166)&&this._tryUpdateWidgetWidth(),u.hasChanged(2)&&this.updateAccessibilitySupport(),u.hasChanged(50)){let g=this._codeEditor.getOption(50).loop;this._state.change({loop:g},!1);let m=this._codeEditor.getOption(50).addExtraSpaceOnTop;m&&!this._viewZone&&(this._viewZone=new uh(0),this._showViewZone()),!m&&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 u=await this._controller.getGlobalBufferTerm();u&&u!==this._state.searchString&&(this._state.change({searchString:u},!1),this._findInput.select())}})),this._findInputFocused=Gd.bindTo(r),this._findFocusTracker=this._register(qi(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=nh.bindTo(r),this._replaceFocusTracker=this._register(qi(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=H1.bindTo(r),this._widgetFocusTracker=this._register(qi(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(Z(this._domNode,"focusin",u=>{ni(u.target)&&(this._lastFocusedElement=u.target)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop&&(this._viewZone=new uh(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(u=>{if(u.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return s.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=Pi(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){let t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,ae)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=hh+"px",this._state.matchesCount>=En?this._matchesCount.title=XO:this._matchesCount.title="",this._matchesCount.firstChild?.remove();let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=En&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=ja(QO,i,t)}else e=qp;this._matchesCount.appendChild(document.createTextNode(e)),xt(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),hh=Math.max(hh,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){let o;if(e===qp)o=i===""?p(1033,"{0} found",e):p(1034,"{0} found for '{1}'",e,i);else if(t){let n=p(1035,"{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),r=this._codeEditor.getModel();r&&t.startLineNumber<=r.getLineCount()&&t.startLineNumber>=1?o=`${r.getLineContent(t.startLineNumber)}, ${n}`:o=n}else o=p(1036,"{0} found for '{1}'",e,i);return o}_updateToggleSelectionFindButton(){let e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let i=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(50).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{let i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false"),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 i=this._codeEditor.getDomNode();if(i){let o=tt(i),n=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=o.left+(n?n.left:0),a=n?n.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);let d=h0(this._domNode).left;r>d&&(t=!1);let l=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());o.left+(l?l.left:0)>d&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._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 i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(o=>{i.heightInPx=this._getHeight(),this._viewZoneId=o.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new uh(0));let i=this._viewZone;this._codeEditor.changeViewZones(o=>{if(this._viewZoneId!==void 0){let n=this._getHeight();if(n===i.heightInPx)return;let r=n-i.heightInPx;i.heightInPx=n,o.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r);return}else{let n=this._getHeight();if(n-=this._codeEditor.getOption(96).top,n<=0)return;i.heightInPx=n,this._viewZoneId=o.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;let e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");let i=e.width,o=e.minimap.minimapWidth,n=!1,r=!1,a=!1;if(this._resized&&Pi(this._domNode)>kn){this._domNode.style.maxWidth=`${i-28-o-15}px`,this._replaceInput.width=Pi(this._findInput.domNode);return}if(kn+28+o>=i&&(r=!0),kn+28+o-hh>=i&&(a=!0),kn+28+o-hh>=i+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!n&&(this._domNode.style.maxWidth=`${i-28-o-15}px`),this._findInput.layout({collapsedFindWidget:n,narrowFindWidget:a,reducedFindWidget:r}),this._resized){let d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=Pi(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){let e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));let i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!C.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(q1|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
|
|
10
|
+
`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return G1(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return $1(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(q1|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`
|
|
11
|
+
`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return G1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return $1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){return this._keybindingService.appendKeybinding("",e)}_buildDomNode(){let i=this._codeEditor.getOption(50).history,o=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new Up(null,this._contextViewProvider,{width:eA,label:Rw,placeholder:zO,appendCaseSensitiveLabel:this._keybindingLabelFor(ze.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(ze.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(ze.ToggleRegexCommand),validation:h=>{if(h.length===0||!this._findInput.getRegex())return null;try{return new RegExp(h,"gu"),null}catch(u){return{content:u.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>kw(this._keybindingService),inputBoxStyles:zC,toggleStyles:VC,history:i==="workspace"?this._findWidgetSearchHistory:new Set([])},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(h=>{h.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(h)})),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(h=>{h.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),h.preventDefault())})),this._register(this._findInput.onRegexKeyDown(h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),h.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(h=>{this._tryUpdateHeight()&&this._showViewZone()})),CD&&this._register(this._findInput.onMouseDown(h=>this._onFindInputMouseDown(h))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();let n={groupId:"find-widget"};this._prevBtn=this._register(new Rn({label:UO+this._keybindingLabelFor(ze.PreviousMatchFindAction),icon:WO,hoverLifecycleOptions:n,onTrigger:()=>{Sr(this._codeEditor.getAction(ze.PreviousMatchFindAction)).run().then(void 0,ae)}},this._hoverService)),this._nextBtn=this._register(new Rn({label:jO+this._keybindingLabelFor(ze.NextMatchFindAction),icon:BO,hoverLifecycleOptions:n,onTrigger:()=>{Sr(this._codeEditor.getAction(ze.NextMatchFindAction)).run().then(void 0,ae)}},this._hoverService));let r=document.createElement("div");r.className="find-part",r.appendChild(this._findInput.domNode);let a=document.createElement("div");a.className="find-actions",r.appendChild(a),a.appendChild(this._matchesCount),a.appendChild(this._prevBtn.domNode),a.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new sm({icon:AO,title:KO+this._keybindingLabelFor(ze.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:n,inputActiveOptionBackground:Se(gd),inputActiveOptionBorder:Se(Mg),inputActiveOptionForeground:Se(Ng)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let h=this._codeEditor.getSelections();h=h.map(u=>(u.endColumn===1&&u.endLineNumber>u.startLineNumber&&(u=u.setEndPosition(u.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(u.endLineNumber-1))),u.isEmpty()?null:u)).filter(u=>!!u),h.length&&this._state.change({searchScope:h},!0)}}else this._state.change({searchScope:null},!0)})),a.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Rn({label:qO+this._keybindingLabelFor(ze.CloseFindWidgetCommand),icon:Zg,hoverLifecycleOptions:n,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:h=>{h.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),h.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new jp(null,void 0,{label:Tw,placeholder:GO,appendPreserveCaseLabel:this._keybindingLabelFor(ze.TogglePreserveCaseCommand),history:o==="workspace"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>kw(this._keybindingService),inputBoxStyles:zC,toggleStyles:VC,hoverLifecycleOptions:n},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(h=>this._onReplaceInputKeyDown(h))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(h=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(h=>{h.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),h.preventDefault())})),this._replaceBtn=this._register(new Rn({label:$O+this._keybindingLabelFor(ze.ReplaceOneAction),icon:FO,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replace()},onKeyDown:h=>{h.equals(1026)&&(this._closeBtn.focus(),h.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Rn({label:ZO+this._keybindingLabelFor(ze.ReplaceAllAction),icon:HO,hoverLifecycleOptions:n,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let d=document.createElement("div");d.className="replace-part",d.appendChild(this._replaceInput.domNode);let l=document.createElement("div");l.className="replace-actions",d.appendChild(l),l.appendChild(this._replaceBtn.domNode),l.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Rn({label:YO,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Pi(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=VO,this._domNode.role="dialog",this._domNode.style.width=`${kn}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(r),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(d),this._resizeSash=this._register(new Xn(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let c=kn;this._register(this._resizeSash.onDidStart(()=>{c=Pi(this._domNode)})),this._register(this._resizeSash.onDidChange(h=>{this._resized=!0;let u=c+h.startX-h.currentX;if(u<kn)return;let g=parseFloat(c0(this._domNode).maxWidth)||0;u>g||(this._domNode.style.width=`${u}px`,this._isReplaceVisible&&(this._replaceInput.width=Pi(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{let h=Pi(this._domNode);if(h<kn)return;let u=kn;if(!this._resized||h===kn){let g=this._codeEditor.getLayoutInfo();u=g.width-28-g.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${u}px`,this._isReplaceVisible&&(this._replaceInput.width=Pi(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let e=Rw,t=Tw;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue("accessibility.verbosity.find")&&this._accessibilityService.isScreenReaderOptimized()){let i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel();if(i){let o=p(1037,"Press {0} for accessibility help",i);e=p(1038,"{0}, {1}",e,o),t=p(1039,"{0}, {1}",t,o)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=Zt(()=>{this._isVisible&&(this._findInput.inputBox.setAriaLabel(Rw),this._replaceInput.inputBox.setAriaLabel(Tw))},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)}},Rn=class extends Zn{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+ne.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},e.hoverLifecycleOptions)),this.onclick(this._domNode,o=>{this._opts.onTrigger(),o.preventDefault()}),this.onkeydown(this._domNode,o=>{if(o.equals(10)||o.equals(3)){this._opts.onTrigger(),o.preventDefault();return}this._opts.onKeyDown?.(o)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...ne.asClassNameArray(j1)),this._domNode.classList.add(...ne.asClassNameArray(K1))):(this._domNode.classList.remove(...ne.asClassNameArray(K1)),this._domNode.classList.add(...ne.asClassNameArray(j1)))}};gn((s,e)=>{let t=s.getColor(kg);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${$n(s.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);let i=s.getColor(Dk);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${$n(s.type)?"dashed":"solid"} ${i}; }`);let o=s.getColor(Yi);o&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${o}; }`);let n=s.getColor(Ik);n&&e.addRule(`.monaco-editor .findMatchInline { color: ${n}; }`);let r=s.getColor(Ek);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var iA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Z1=function(s,e){return function(t,i){e(t,i,s)}},$p=class extends D{constructor(e,t,i,o){super(),this._container=e,this._getContent=t,this._clipboardService=i,this._hoverService=o,this._container.classList.add("hover-row-with-copy"),this._button=this._register(new Rn({label:p(1186,"Copy"),icon:B.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),Oi(p(1187,"Copied to clipboard")))}};$p=iA([Z1(2,Rt),Z1(3,Lt)],$p);var Mw=class{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}};async function oA(s,e,t,i,o){let n=await Promise.resolve(s.provideHover(t,i,o)).catch(Te);if(!(!n||!nA(n)))return new Mw(s,n,e)}function gh(s,e,t,i,o=!1){let r=s.ordered(e,o).map((a,d)=>oA(a,d,e,t,i));return _i.fromPromisesResolveOrder(r).coalesce()}async function Y1(s,e,t,i,o=!1){let n=[];for await(let r of gh(s,e,t,i,o))n.push(r.hover);return n}Wt("_executeHoverProvider",(s,e,t)=>{let i=s.get(V);return Y1(i.hoverProvider,e,t,oe.None)});Wt("_executeHoverProvider_recursive",(s,e,t)=>{let i=s.get(V);return Y1(i.hoverProvider,e,t,oe.None,!0)});function nA(s){let e=typeof s.range<"u",t=typeof s.contents<"u"&&s.contents&&s.contents.length>0;return e&&t}var rA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},$d=function(s,e){return function(t,i){e(t,i,s)}},la=W,sA=qe("hover-increase-verbosity",B.addSmall,p(1188,"Icon for increaseing hover verbosity.")),aA=qe("hover-decrease-verbosity",B.removeSmall,p(1189,"Icon for decreasing hover verbosity.")),ki=class{constructor(e,t,i,o,n,r=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=o,this.ordinal=n,this.source=r}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Zp=class{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Fi.Increase:return this.hover.canIncreaseVerbosity??!1;case Fi.Decrease:return this.hover.canDecreaseVerbosity??!1}}},Zr=class{constructor(e,t,i,o,n,r,a){this._editor=e,this._markdownRendererService=t,this._configurationService=i,this._languageFeaturesService=o,this._keybindingService=n,this._hoverService=r,this._commandService=a,this.hoverOrdinal=3}createLoadingMessage(e){return new ki(this,e.range,[new dt().appendText(p(1190,"Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let i=this._editor.getModel(),o=e.range.startLineNumber,n=i.getLineMaxColumn(o),r=[],a=1e3,d=i.getLineLength(o),l=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(133),h=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:l}),u=this._editor.getOption(69).showLongLineWarning,g=!1;c>=0&&d>c&&e.range.startColumn>=c&&(g=!0,u&&r.push(new ki(this,e.range,[{value:p(1191,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`. [Don't Show Again](command:{0})",Jc),isTrusted:!0}],!1,a++))),!g&&typeof h=="number"&&d>=h&&u&&r.push(new ki(this,e.range,[{value:p(1192,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`. [Don't Show Again](command:{0})",Jc),isTrusted:!0}],!1,a++));let m=!1;for(let f of t){let _=f.range.startLineNumber===o?f.range.startColumn:1,b=f.range.endLineNumber===o?f.range.endColumn:n,v=f.options.hoverMessage;if(!v||Nr(v))continue;f.options.beforeContentClassName&&(m=!0);let y=new C(e.range.startLineNumber,_,e.range.startLineNumber,b);r.push(new ki(this,y,dg(v),m,a++))}return r}computeAsync(e,t,i,o){if(!this._editor.hasModel()||e.type!==1)return _i.EMPTY;let n=this._editor.getModel(),r=this._languageFeaturesService.hoverProvider;return r.has(n)?this._getMarkdownHovers(r,n,e,o):_i.EMPTY}async*_getMarkdownHovers(e,t,i,o){let n=i.range.getStartPosition(),r=gh(e,t,n,o);for await(let a of r)if(!Nr(a.hover.contents)){let d=a.hover.range?C.lift(a.hover.range):i.range,l=new Zp(a.hover,a.provider,n);yield new ki(this,d,a.hover.contents,!1,a.ordinal,l)}}renderHoverParts(e,t){return this._renderedHoverParts=new Nw(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))}};Zr=rA([$d(1,Li),$d(2,re),$d(3,V),$d(4,he),$d(5,Lt),$d(6,Fe)],Zr);var Zd=class{constructor(e,t,i,o){this.hoverPart=e,this.hoverElement=t,this.disposables=i,this.actionsContainer=o}dispose(){this.disposables.dispose()}},Nw=class{constructor(e,t,i,o,n,r,a,d,l,c){this._hoverParticipant=i,this._editor=o,this._commandService=n,this._keybindingService=r,this._hoverService=a,this._configurationService=d,this._markdownRendererService=l,this._onFinishedRendering=c,this._ongoingHoverOperations=new Map,this._disposables=new M,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(ce(()=>{this.renderedHoverParts.forEach(h=>{h.dispose()}),this._ongoingHoverOperations.forEach(h=>{h.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(So(o=>o.ordinal,wo)),e.map(o=>{let n=this._renderHoverPart(o,i);return t.appendChild(n.hoverElement),n})}_renderHoverPart(e,t){let i=this._renderMarkdownHover(e,t),o=i.hoverElement,n=e.source,r=new M;if(r.add(i),!n)return new Zd(e,o,r);let a=n.supportsVerbosityAction(Fi.Increase),d=n.supportsVerbosityAction(Fi.Decrease);if(!a&&!d)return new Zd(e,o,r);let l=la("div.verbosity-actions");o.prepend(l);let c=la("div.verbosity-actions-inner");return l.append(c),r.add(this._renderHoverExpansionAction(c,Fi.Increase,a)),r.add(this._renderHoverExpansionAction(c,Fi.Decrease,d)),new Zd(e,o,r,c)}_renderMarkdownHover(e,t){return Q1(this._editor,e,this._markdownRendererService,t)}_renderHoverExpansionAction(e,t,i){let o=new M,n=t===Fi.Increase,r=U(e,la(ne.asCSSSelector(n?sA:aA)));r.tabIndex=0;let a=o.add(new HR("mouse",void 0,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService));if(o.add(this._hoverService.setupManagedHover(a,r,dA(this._keybindingService,t))),!i)return r.classList.add("disabled"),o;r.classList.add("enabled");let d=()=>this._commandService.executeCommand(t===Fi.Increase?sa:aa,{focus:!0});return o.add(new QR(r,d)),o.add(new JR(r,d,[3,10])),o}handleScroll(e){this.renderedHoverParts.forEach(t=>{let i=t.actionsContainer;if(!i)return;let o=t.hoverElement,r=e.scrollTop+e.height,a=o.offsetTop,d=o.clientHeight,l=a+d,c=22,h;l<=r||a>=r?h=d-c:h=r-a-c,i.style.top=`${h}px`})}async updateMarkdownHoverPartVerbosityLevel(e,t){let i=this._editor.getModel();if(!i)return;let o=this._getRenderedHoverPartAtIndex(t),n=o?.hoverPart.source;if(!o||!n?.supportsVerbosityAction(e))return;let r=await this._fetchHover(n,i,e);if(!r)return;let a=new Zp(r,n.hoverProvider,n.hoverPosition),d=o.hoverPart,l=new ki(this._hoverParticipant,d.range,r.contents,d.isBeforeContent,d.ordinal,a),c=this._updateRenderedHoverPart(t,l);if(c)return{hoverPart:l,hoverElement:c.hoverElement}}getAccessibleContent(e){let t=this.renderedHoverParts.findIndex(r=>r.hoverPart===e);if(t===-1)return;let i=this._getRenderedHoverPartAtIndex(t);return i?i.hoverElement.innerText.replace(/[^\S\n\r]+/gu," "):void 0}async _fetchHover(e,t,i){let o=i===Fi.Increase?1:-1,n=e.hoverProvider,r=this._ongoingHoverOperations.get(n);r&&(r.tokenSource.cancel(),o+=r.verbosityDelta);let a=new Oe;this._ongoingHoverOperations.set(n,{verbosityDelta:o,tokenSource:a});let d={verbosityRequest:{verbosityDelta:o,previousHover:e.hover}},l;try{l=await Promise.resolve(n.provideHover(t,e.hoverPosition,a.token,d))}catch(c){Te(c)}return a.dispose(),this._ongoingHoverOperations.delete(n),l}_updateRenderedHoverPart(e,t){if(e>=this.renderedHoverParts.length||e<0)return;let i=this._renderHoverPart(t,this._onFinishedRendering),o=this.renderedHoverParts[e],n=o.hoverElement,r=i.hoverElement,a=Array.from(r.children);n.replaceChildren(...a);let d=new Zd(t,n,i.disposables,i.actionsContainer);return o.dispose(),this.renderedHoverParts[e]=d,d}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}};function X1(s,e,t,i){e.sort(So(n=>n.ordinal,wo));let o=[];for(let n of e){let r=Q1(t,n,i,s.onContentsChanged);s.fragment.appendChild(r.hoverElement),o.push(r)}return new to(o)}function Q1(s,e,t,i){let o=new M,n=la("div.hover-row"),r=la("div.hover-row-contents");n.appendChild(r);let a=e.contents;for(let l of a){if(Nr(l))continue;let c=la("div.markdown-hover"),h=U(c,la("div.hover-contents")),u=o.add(t.render(l,{context:s,asyncRenderCallback:()=>{h.className="hover-contents code-hover-contents",i()}}));h.appendChild(u.element),r.appendChild(c)}return{hoverPart:e,hoverElement:n,dispose(){o.dispose()}}}function dA(s,e){switch(e){case Fi.Increase:return s.appendKeybinding(p(1193,"Increase Hover Verbosity"),sa);case Fi.Decrease:return s.appendKeybinding(p(1194,"Decrease Hover Verbosity"),aa)}}var J1=W,Yp=class extends D{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=this._register(new z),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new z),this.onColorFlushed=this._onColorFlushed.event,this._domNode=J1(".saturation-wrap"),U(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",U(this._domNode,this._canvas),this.selection=J1(".saturation-selection"),U(this._domNode,this.selection),this.layout(),this._register(Z(this._domNode,me.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new Lg);let t=tt(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>this.onDidChangePosition(o.pageX-t.left,o.pageY-t.top),()=>null);let i=Z(e.target.ownerDocument,me.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){let i=Math.max(0,Math.min(1,e/this.width)),o=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,o),this._onDidChange.fire({s:i,v:o})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();let e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){let e=this.model.color.hsva,t=new fe(new sd(e.h,1,1,1)),i=this._canvas.getContext("2d"),o=i.createLinearGradient(0,0,this._canvas.width,0);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)");let n=i.createLinearGradient(0,0,0,this._canvas.height);n.addColorStop(0,"rgba(0, 0, 0, 0)"),n.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=fe.Format.CSS.format(t),i.fill(),i.fillStyle=o,i.fill(),i.fillStyle=n,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let t=e.hsva;this.paintSelection(t.s,t.v)}};var Xp=class extends D{constructor(e){super(),this._onClicked=this._register(new z),this.onClicked=this._onClicked.event,this._button=U(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Z(this._button,me.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}};var mh=W,Qp=class extends D{constructor(e,t,i){super(),this.model=t,this._onDidChange=this._register(new z),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new z),this.onColorFlushed=this._onColorFlushed.event,i==="standalone"?(this.domNode=U(e,mh(".standalone-strip")),this.overlay=U(this.domNode,mh(".standalone-overlay"))):(this.domNode=U(e,mh(".strip")),this.overlay=U(this.domNode,mh(".overlay"))),this.slider=U(this.domNode,mh(".slider")),this.slider.style.top="0px",this._register(Z(this.domNode,me.POINTER_DOWN,o=>this.onPointerDown(o))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){let t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._register(new Lg),i=tt(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangeTop(n.pageY-i.top),()=>null);let o=Z(e.target.ownerDocument,me.POINTER_UP,()=>{this._onColorFlushed.fire(),o.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){let t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}},Jp=class extends Qp{constructor(e,t,i){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);let{r:t,g:i,b:o}=e.rgba,n=new fe(new Bo(t,i,o,1)),r=new fe(new Bo(t,i,o,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}},ef=class extends Qp{constructor(e,t,i){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}};var lA=W,tf=class extends D{constructor(e,t,i,o){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=lA(".colorpicker-body"),U(e,this._domNode),this._saturationBox=new Yp(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 Jp(this._domNode,this.model,o),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new ef(this._domNode,this.model,o),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),o==="standalone"&&(this._insertButton=this._register(new Xp(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){let i=this.model.color.hsva;this.model.color=new fe(new sd(i.h,e,t,i.a))}onDidOpacityChange(e){let t=this.model.color.hsva;this.model.color=new fe(new sd(t.h,t.s,t.v,e))}onDidHueChange(e){let t=this.model.color.hsva,i=(1-e)*360;this.model.color=new fe(new sd(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}};var cA=W,of=class extends D{constructor(e){super(),this._onClicked=this._register(new z),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),U(e,this._button);let t=document.createElement("div");t.classList.add("close-button-inner-div"),U(this._button,t),U(t,cA(".button"+ne.asCSSSelector(qe("color-picker-close",B.close,p(936,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(Z(this._button,me.CLICK,()=>{this._onClicked.fire()}))}};var nf=W,rf=class extends D{constructor(e,t,i,o){super(),this.model=t,this.type=o,this._closeButton=null,this._domNode=nf(".colorpicker-header"),U(e,this._domNode),this._pickedColorNode=U(this._domNode,nf(".picked-color")),U(this._pickedColorNode,nf("span.codicon.codicon-color-mode")),this._pickedColorPresentation=U(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");let n=p(937,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",n),this._originalColorNode=U(this._domNode,nf(".original-color")),this._originalColorNode.style.backgroundColor=fe.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(Sc)||fe.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(Sc)||fe.white})),this._register(Z(this._pickedColorNode,me.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Z(this._originalColorNode,me.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=fe.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 of(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=fe.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}};var hA=W,Yd=class extends Zn{constructor(e,t,i,o,n){super(),this.model=t,this.pixelRatio=i,this._register(uk.getInstance(bt(e)).onDidChange(()=>this.layout())),this._domNode=hA(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new rf(this._domNode,this.model,o,n)),this.body=this._register(new tf(this._domNode,this.model,this.pixelRatio,n))}layout(){this.body.layout()}get domNode(){return this._domNode}};var sf=class extends D{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){super(),this.presentationIndex=i,this._onColorFlushed=this._register(new z),this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=this._register(new z),this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=this._register(new z),this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let o=0;o<this.colorPresentations.length;o++)if(t.toLowerCase()===this.colorPresentations[o].label){i=o;break}if(i===-1){let o=t.split("(")[0].toLowerCase();for(let n=0;n<this.colorPresentations.length;n++)if(this.colorPresentations[n].label.toLowerCase().startsWith(o)){i=n;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}};async function af(s,e,t){let i=s.getValueInRange(e.range),{red:o,green:n,blue:r,alpha:a}=e.color,d=new Bo(Math.round(o*255),Math.round(n*255),Math.round(r*255),a),l=new fe(d),c=await uw(s,e,t,oe.None),h=new sf(l,[],0);return h.colorPresentations=c||[],h.guessColorPresentation(l,i),{range:C.lift(e.range),model:h,provider:t}}function df(s,e,t,i){let o=[],n=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};t.presentation.additionalTextEdits&&o.push(...t.presentation.additionalTextEdits);let r=C.lift(n.range),a=s.getModel()._setTrackedRange(null,r,3);return i?o.push(...i.map(d=>({range:d,text:n.text,forceMoveMarkers:!1}))):o.push(n),s.executeEdits("colorpicker",o),s.pushUndoStop(),s.getModel()._getTrackedRange(a)??r}async function ca(s,e,t,i,o){let n=await uw(s,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},o.provider,oe.None);e.colorPresentations=n||[]}var uA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gA=function(s,e){return function(t,i){e(t,i,s)}},Xd=class s{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}static fromBaseColor(e,t){return new s(e,t.range,t.model,t.provider)}},Qd=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t,i){return[]}computeAsync(e,t,i,o){return _i.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];if(!this._isValidRequest(i))return[];let o=nr.get(this._editor);if(!o)return[];for(let n of t){if(!o.isColorDecoration(n))continue;let r=o.getColorData(n.range.getStartPosition());if(r)return[Xd.fromBaseColor(this,await af(this._editor.getModel(),r.colorInfo,r.provider))]}return[]}_isValidRequest(e){let t=this._editor.getOption(169);switch(e){case 0:return t==="hover"||t==="clickAndHover";case 1:return t==="click"||t==="clickAndHover";case 2:return!0}}renderHoverParts(e,t){let i=this._editor;if(t.length===0||!i.hasModel())return new to([]);let o=i.getOption(75)+8;e.setMinimumDimensions(new Me(302,o));let n=new M,r=t[0],a=i.getModel(),d=r.model;this._colorPicker=n.add(new Yd(e.fragment,d,i.getOption(164),this._themeService,"hover"));let l=!1,c=new C(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);n.add(d.onColorFlushed(async u=>{await ca(a,d,u,c,r),l=!0,c=df(i,c,d)})),n.add(d.onDidChangeColor(u=>{ca(a,d,u,c,r)})),n.add(i.onDidChangeModelContent(u=>{l?l=!1:(e.hide(),i.focus())}));let h={hoverPart:Xd.fromBaseColor(this,r),hoverElement:this._colorPicker.domNode,dispose(){n.dispose()}};return new to([h])}getAccessibleContent(e){return p(938,"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}};Qd=uA([gA(1,Ke)],Qd);function Pw(s,e){return!!s[e]}var ph=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=Pw(e.event,t.triggerModifier),this.isMiddleClick&&t.mouseMiddleClickAction==="ctrlLeftClick"&&(this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0),this.hasSideBySideModifier=Pw(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},lf=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=Pw(e,t.triggerModifier)}},Jd=class{constructor(e,t,i,o,n){this.mouseMiddleClickAction=n,this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=o}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier&&this.mouseMiddleClickAction===e.mouseMiddleClickAction}};function eM(s,e){return s==="altKey"?Ki?new Jd(57,"metaKey",6,"altKey",e):new Jd(5,"ctrlKey",6,"altKey",e):Ki?new Jd(6,"altKey",57,"metaKey",e):new Jd(6,"altKey",5,"ctrlKey",e)}var Tn=class extends D{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new z),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new z),this.onExecute=this._onExecute.event,this._onCancel=this._register(new z),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=eM(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(86)||i.hasChanged(87)){let o=eM(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(o))return;this._opts=o,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new ph(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new ph(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new ph(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new lf(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new lf(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){let t=this._extractLineNumberFromMouseEvent(e);this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&(this._hasTriggerKeyOnMouseDown||e.isMiddleClick&&e.mouseMiddleClickAction==="openLink")&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}};var fh=class{constructor(e,t){this.range=e,this.direction=t}},Ow=class s{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){let t=new s(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{let t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(t){Te(t),this._isResolved=!1}}},_h=class s{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(e,t,i,o){let n=[],r=e.ordered(t).reverse().map(a=>i.map(async d=>{try{let l=await a.provideInlayHints(t,d,o);(l?.hints.length||a.onDidChangeInlayHints)&&n.push([l??s._emptyInlayHintList,a])}catch(l){Te(l)}}));if(await Promise.all(r.flat()),o.isCancellationRequested||t.isDisposed())throw new Aa;return new s(i,n,t)}constructor(e,t,i){this._disposables=new M,this.ranges=e,this.provider=new Set;let o=[];for(let[n,r]of t){this._disposables.add(n),this.provider.add(r);for(let a of n.hints){let d=i.validatePosition(a.position),l="before",c=s._getRangeAtPosition(i,d),h;c.getStartPosition().isBefore(d)?(h=C.fromPositions(c.getStartPosition(),d),l="after"):(h=C.fromPositions(d,c.getEndPosition()),l="before"),o.push(new Ow(a,new fh(h,l),r))}}this.items=o.sort((n,r)=>H.compare(n.hint.position,r.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){let i=t.lineNumber,o=e.getWordAtPosition(t);if(o)return new C(i,o.startColumn,i,o.endColumn);e.tokenization.tokenizeIfCheap(i);let n=e.tokenization.getLineTokens(i),r=t.column-1,a=n.findTokenIndexAtOffset(r),d=n.getStartOffset(a),l=n.getEndOffset(a);return l-d===1&&(d===r&&a>1?(d=n.getStartOffset(a-1),l=n.getEndOffset(a-1)):l===r&&a<n.getCount()-1&&(d=n.getStartOffset(a+1),l=n.getEndOffset(a+1))),new C(i,d+1,i,l+1)}};function tM(s){return Gg(s.id,...s.arguments??[]).toString()}async function iM(s,e,t,i){let o=s.get(St),n=s.get(_n),r=s.get(Fe),a=s.get(j),d=s.get(Je);if(await i.item.resolve(oe.None),!i.part.location)return;let l=i.part.location,c=[],h=new Set(wi.getMenuItems(q.EditorContext).map(g=>L0(g)?g.command.id:pd()));for(let g of Ln.all())h.has(g.desc.id)&&c.push(new an(g.desc.id,xo.label(g.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let m=await o.createModelReference(l.uri);try{let f=new oa(m.object.textEditorModel,C.getStartPosition(l.range)),_=i.item.anchor.range;await a.invokeFunction(g.runEditorCommand.bind(g),e,f,_)}finally{m.dispose()}}));if(i.part.command){let{command:g}=i.part;c.push(new jn),c.push(new an(g.id,g.title,void 0,!0,async()=>{try{await r.executeCommand(g.id,...g.arguments??[])}catch(m){d.notify({severity:Rr.Error,source:i.item.provider.displayName,message:m})}}))}let u=e.getOption(144);n.showContextMenu({domForShadowRoot:u?e.getDomNode()??void 0:void 0,getAnchor:()=>{let g=tt(t);return{x:g.left,y:g.top+g.height+8}},getActions:()=>c,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function cf(s,e,t,i){let n=await s.get(St).createModelReference(i.uri);await t.invokeWithinContext(async r=>{let a=e.hasSideBySideModifier,d=r.get(J),l=qt.inPeekEditor.getValue(d),c=!a&&t.getOption(101)&&!l;return new ir({openToSide:a,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new oa(n.object.textEditorModel,C.getStartPosition(i.range)),C.lift(i.range))}),n.dispose()}var mA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},el=function(s,e){return function(t,i){e(t,i,s)}},tl,Aw=class s{constructor(){this._entries=new dn(50)}get(e){let t=s._key(e);return this._entries.get(t)}set(e,t){let i=s._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}},oM=zt("IInlayHintsCache");ai(oM,Aw,1);var il=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]}},Fw=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}},Hw=class{constructor(){this._store=new xe,this._tokenSource=new Oe}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new Oe,this._store.value=new M,{store:this._store.value,token:this._tokenSource.token}}},ha=class{static{tl=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._whitespaceData={}}static get(e){return e.getContribution(tl.ID)??void 0}constructor(e,t,i,o,n,r,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=o,this._commandService=n,this._notificationService=r,this._instaService=a,this._disposables=new M,this._sessionDisposables=new M,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new Pg(this._editor)),this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(d=>{d.hasChanged(159)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let e=this._editor.getOption(159);if(e.enabled==="off")return;let t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let l,c;e.enabled==="onUnlessPressed"?(l=0,c=1):(l=1,c=0),this._activeRenderMode=l,this._sessionDisposables.add(C0.getInstance().event(h=>{if(!this._editor.hasModel())return;let u=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:l;if(u!==this._activeRenderMode){this._activeRenderMode=u;let g=this._editor.getModel(),m=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],m),a.schedule(0)}}))}let i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(ce(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let o,n=new Set;this._sessionDisposables.add(t.onWillDispose(()=>o?.cancel()));let r=this._sessionDisposables.add(new Hw),a=new Ae(async()=>{let l=Date.now(),{store:c,token:h}=r.reset();try{let u=await _h.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(a.delay=this._debounceInfo.update(t,Date.now()-l),h.isCancellationRequested){u.dispose();return}for(let g of u.provider)typeof g.onDidChangeInlayHints=="function"&&!n.has(g)&&(n.add(g),c.add(g.onDidChangeInlayHints(()=>{a.isScheduled()||a.schedule()})));c.add(u),c.add(ce(()=>n.clear())),this._updateHintsDecorators(u.ranges,u.items),this._cacheHintsForFastRestore(t)}catch(u){ae(u)}},this._debounceInfo.get(t));this._sessionDisposables.add(a),a.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(l=>{(l.scrollTopChanged||!a.isScheduled())&&a.schedule()}));let d=this._sessionDisposables.add(new xe);this._sessionDisposables.add(this._editor.onDidChangeModelContent(l=>{let c=Math.max(a.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+c},d.value=Zt(()=>a.schedule(0),c),a.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration(l=>{l.hasChanged(159)&&a.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>a.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let e=new M,t=e.add(new Tn(this._editor)),i=new M;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(o=>{let[n]=o,r=this._getInlayHintLabelPart(n),a=this._editor.getModel();if(!r||!a){i.clear();return}let d=new Oe;i.add(ce(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new Fw(r,n.hasTriggerModifier):void 0;let l=a.validatePosition(r.item.hint.position).lineNumber,c=new C(l,1,l,a.getLineMaxColumn(l)),h=this._getInlineHintsForRange(c);this._updateHintsDecorators([c],h),i.add(ce(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([c],h)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async o=>{let n=this._getInlayHintLabelPart(o);if(n){let r=n.part;r.location?this._instaService.invokeFunction(cf,o,this._editor,r.location):Sg.is(r.command)&&await this._invokeCommand(r.command,n.item)}})),e}_getInlineHintsForRange(e){let t=new Set;for(let i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;let i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(oe.None),wt(i.item.hint.textEdits))){let o=i.item.hint.textEdits.map(n=>Ge.replace(C.lift(n.range),n.text));this._editor.executeEdits("inlayHint.default",o),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!ni(e.event.target))return;let t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(iM,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options;if(t instanceof vd&&t?.attachedData instanceof il)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Rr.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){let t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){let t=new Map;for(let[i,o]of this._decorationsMetadata){if(t.has(o.item))continue;let n=e.getDecorationRange(i);if(n){let r=new fh(n,o.item.anchor.direction),a=o.item.with({anchor:r});t.set(o.item,a)}}return Array.from(t.values())}_getHintsRanges(){let t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),o=[];for(let n of i.sort(C.compareRangesUsingStarts)){let r=t.validateRange(new C(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));o.length===0||!C.areIntersectingOrTouching(o[o.length-1],r)?o.push(r):o[o.length-1]=C.plusRange(o[o.length-1],r)}return o}_updateHintsDecorators(e,t){let i=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&e.some(b=>b.containsPosition(this._cursorInfo.position))){let{position:b}=this._cursorInfo;this._cursorInfo=void 0;let v=new Map;for(let S of this._editor.getLineDecorations(b.lineNumber)??[]){let x=this._decorationsMetadata.get(S.id);if(S.range.startColumn>b.column)continue;let T=x?.decoration.options[x.item.anchor.direction];if(T&&T.attachedData!==tl._whitespaceData){let N=v.get(x.item)??0;v.set(x.item,N+T.content.length)}}let y=t.filter(S=>S.anchor.range.startLineNumber===b.lineNumber&&S.anchor.range.endColumn<=b.column),L=Array.from(v.values()),E;for(;;){let S=y.shift(),x=L.shift();if(!x&&!S)break;if(S)i.set(S,x??0),E=S;else if(E&&x){let T=i.get(E);T+=x,T+=L.reduce((N,F)=>N+F,0),L.length=0;break}}}let{fontSize:o,fontFamily:n,padding:r,isUniform:a}=this._getLayoutInfo(),d=this._editor.getOption(61),l=[],c=(b,v,y,L,E,S)=>{let x={content:y,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:v.className,cursorStops:L,attachedData:E,widthInEm:S};l.push({item:b,classNameRef:v,decoration:{range:b.anchor.range,options:{description:"InlayHint",showIfCollapsed:b.anchor.range.isEmpty(),collapseOnReplaceEdit:!b.anchor.range.isEmpty(),stickiness:0,[b.anchor.direction]:this._activeRenderMode===0?x:void 0}}})},h=(b,v)=>{let y=o/3|0,L=y/d,E=this._ruleFactory.createClassNameRef({width:`${y}px`,display:"inline-block"});c(b,E,"",v?ln.Right:ln.None,tl._whitespaceData,L)},u=this._editor.getOption(159).maximumLength,g="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(g,n);let m={line:0,totalLen:0};for(let b=0;b<t.length;b++){let v=t[b];if(m.line!==v.anchor.range.startLineNumber&&(m={line:v.anchor.range.startLineNumber,totalLen:0}),u&&m.totalLen>u)continue;v.hint.paddingLeft&&h(v,!1);let y=typeof v.hint.label=="string"?[{label:v.hint.label}]:v.hint.label,L=i.get(v),E=0;for(let S=0;S<y.length;S++){let x=y[S],T=S===0,N=S===y.length-1,F={fontSize:`${o}px`,fontFamily:`var(${g}), ${dd.fontFamily}`,verticalAlign:a?"baseline":"middle",unicodeBidi:"isolate"};wt(v.hint.textEdits)&&(F.cursor="default"),this._fillInColors(F,v.hint),(x.command||x.location)&&this._activeInlayHintPart?.part.item===v&&this._activeInlayHintPart.part.index===S&&(F.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(F.color=ot(yk),F.cursor="pointer"));let P=x.label;m.totalLen+=P.length;let Y=!1,le=u!==0?m.totalLen-u:0;if(le>0&&(P=P.slice(0,-le)+"\u2026",Y=!0),E+=P.length,L!==void 0){let de=E-L;de>=0&&(E-=de,P=P.slice(0,-(1+de))+"\u2026",Y=!0)}if(r&&(T&&(N||Y)?(F.padding=`1px ${Math.max(1,o/4)|0}px`,F.borderRadius=`${o/4|0}px`):T?(F.padding=`1px 0 1px ${Math.max(1,o/4)|0}px`,F.borderRadius=`${o/4|0}px 0 0 ${o/4|0}px`):N||Y?(F.padding=`1px ${Math.max(1,o/4)|0}px 1px 0`,F.borderRadius=`0 ${o/4|0}px ${o/4|0}px 0`):F.padding="1px 0 1px 0"),c(v,this._ruleFactory.createClassNameRef(F),pA(P),N&&!v.hint.paddingRight?ln.Right:ln.None,new il(v,S)),Y)break}if(L!==void 0&&E<L){let S=L-E;c(v,this._ruleFactory.createClassNameRef({}),"\u200A".repeat(S),ln.None)}if(v.hint.paddingRight&&h(v,!0),l.length>tl._MAX_DECORATORS)break}let f=[];for(let[b,v]of this._decorationsMetadata){let y=this._editor.getModel()?.getDecorationRange(b);y&&e.some(L=>L.containsRange(y))&&(f.push(b),v.classNameRef.dispose(),this._decorationsMetadata.delete(b))}let _=fn.capture(this._editor);this._editor.changeDecorations(b=>{let v=b.deltaDecorations(f,l.map(y=>y.decoration));for(let y=0;y<v.length;y++){let L=l[y];this._decorationsMetadata.set(v[y],L)}}),_.restore(this._editor)}_fillInColors(e,t){t.kind===fC.Parameter?(e.backgroundColor=ot(Pk),e.color=ot(Nk)):t.kind===fC.Type?(e.backgroundColor=ot(Mk),e.color=ot(Tk)):(e.backgroundColor=ot(Rk),e.color=ot(kk))}_getLayoutInfo(){let e=this._editor.getOption(159),t=e.padding,i=this._editor.getOption(61),o=this._editor.getOption(58),n=e.fontSize;(!n||n<5||n>i)&&(n=i);let r=e.fontFamily||o;return{fontSize:n,fontFamily:r,padding:t,isUniform:!t&&r===o&&n===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};ha=tl=mA([el(1,V),el(2,Mt),el(3,oM),el(4,Fe),el(5,Je),el(6,j)],ha);function pA(s){return s.replace(/[ \t]/g,"\xA0")}ve.registerCommand("_executeInlayHintProvider",async(s,...e)=>{let[t,i]=e;_e(ge.isUri(t)),_e(C.isIRange(i));let{inlayHintsProvider:o}=s.get(V),n=await s.get(St).createModelReference(t);try{let r=await _h.create(o,n.object.textEditorModel,[C.lift(i)],oe.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{n.dispose()}});var fA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ua=function(s,e){return function(t,i){e(t,i,s)}},hf=class extends or{constructor(e,t,i,o){super(10,t,e.item.anchor.range,i,o,!0),this.part=e}},ol=class extends Zr{constructor(e,t,i,o,n,r,a,d){super(e,t,n,a,i,o,d),this._resolverService=r,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!ha.get(this._editor)||e.target.type!==6)return null;let i=e.target.detail.injectedText?.options;return i instanceof vd&&i.attachedData instanceof il?new hf(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i,o){return e instanceof hf?new _i(async n=>{let{part:r}=e;if(await r.item.resolve(o),o.isCancellationRequested)return;let a;typeof r.item.hint.tooltip=="string"?a=new dt().appendText(r.item.hint.tooltip):r.item.hint.tooltip&&(a=r.item.hint.tooltip),a&&n.emitOne(new ki(this,e.range,[a],!1,0)),wt(r.item.hint.textEdits)&&n.emitOne(new ki(this,e.range,[new dt().appendText(p(1220,"Double-click to insert"))],!1,10001));let d;if(typeof r.part.tooltip=="string"?d=new dt().appendText(r.part.tooltip):r.part.tooltip&&(d=r.part.tooltip),d&&n.emitOne(new ki(this,e.range,[d],!1,1)),r.part.location||r.part.command){let c,u=this._editor.getOption(86)==="altKey"?Ki?p(1221,"cmd + click"):p(1222,"ctrl + click"):Ki?p(1223,"option + click"):p(1224,"alt + click");r.part.location&&r.part.command?c=new dt().appendText(p(1225,"Go to Definition ({0}), right click for more",u)):r.part.location?c=new dt().appendText(p(1226,"Go to Definition ({0})",u)):r.part.command&&(c=new dt(`[${p(1227,"Execute Command")}](${tM(r.part.command)} "${r.part.command.title}") (${u})`,{isTrusted:!0})),c&&n.emitOne(new ki(this,e.range,[c],!1,1e4))}let l=this._resolveInlayHintLabelPartHover(r,o);for await(let c of l)n.emitOne(c)}):_i.EMPTY}async*_resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return;let{uri:i,range:o}=e.part.location,n=await this._resolverService.createModelReference(i);try{let r=n.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(r))return;for await(let a of gh(this._languageFeaturesService.hoverProvider,r,new H(o.startLineNumber,o.startColumn),t))Nr(a.hover.contents)||(yield new ki(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal))}finally{n.dispose()}}};ol=fA([ua(1,Li),ua(2,he),ua(3,Lt),ua(4,re),ua(5,St),ua(6,V),ua(7,Fe)],ol);var nM=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},nl=function(s,e){return function(t,i){e(t,i,s)}},Ww,Bw,uf=Ww=class extends D{constructor(e,t,i,o,n,r,a){super();let d=t.hoverParts;this._renderedHoverParts=this._register(new zw(e,i,d,o,n,r,a));let l=t.options,c=l.anchor,{showAtPosition:h,showAtSecondaryPosition:u}=Ww.computeHoverPositions(e,c.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=u,this.initialMousePosX=c.initialMousePosX,this.initialMousePosY=c.initialMousePosY,this.shouldFocus=l.shouldFocus,this.source=l.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}get hoverPartsCount(){return this._renderedHoverParts.hoverPartsCount}focusHoverPartWithIndex(e){this._renderedHoverParts.focusHoverPartWithIndex(e)}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let o=1;if(e.hasModel()){let c=e._getViewModel(),h=c.coordinatesConverter,u=h.convertModelRangeToViewRange(t),g=c.getLineMinColumn(u.startLineNumber),m=new H(u.startLineNumber,g);o=h.convertViewPositionToModelPosition(m).column}let n=t.startLineNumber,r=t.startColumn,a;for(let c of i){let h=c.range,u=h.startLineNumber===n,g=h.endLineNumber===n;if(u&&g){let f=h.startColumn,_=Math.min(r,f);r=Math.max(_,o)}c.forceShowAtRange&&(a=h)}let d,l;if(a){let c=a.getStartPosition();d=c,l=c}else d=t.getStartPosition(),l=new H(n,r);return{showAtPosition:d,showAtSecondaryPosition:l}}};uf=Ww=nM([nl(4,he),nl(5,Lt),nl(6,Rt)],uf);var Vw=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()}},zw=class extends D{static{Bw=this}static{this._DECORATION_OPTIONS=ee.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(e,t,i,o,n,r,a){super(),this._hoverService=r,this._clipboardService=a,this._renderedParts=[],this._perPartDisposables=new Map,this._focusedHoverPartIndex=-1,this._context=o,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,o,n,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return D.None;let i=t[0].range;for(let n of t){let r=n.range;i=C.plusRange(i,r)}let o=e.createDecorationsCollection();return o.set([{range:i,options:Bw._DECORATION_OPTIONS}]),ce(()=>{o.clear()})}_renderParts(e,t,i,o,n){let r=new jd(o,n),a={fragment:this._fragment,statusBar:r,...i},d=new M;d.add(r);for(let c of e){let h=this._renderHoverPartsForParticipant(t,c,a);d.add(h);for(let u of h.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:c,hoverPart:u.hoverPart,hoverElement:u.hoverElement})}let l=this._renderStatusBar(this._fragment,r);return l&&(d.add(l),this._renderedParts.push({type:"statusBar",hoverElement:l.hoverElement,actions:l.actions})),d}_renderHoverPartsForParticipant(e,t,i){let o=e.filter(r=>r.owner===t);return o.length>0?t.renderHoverParts(i,o):new to([])}_renderStatusBar(e,t){if(t.hasContent)return new Vw(e,t)}_registerListenersOnRenderedParts(){return this._renderedParts.forEach((e,t)=>{this._createListenersForPart(t,e)}),ce(()=>{for(let e of this._perPartDisposables.values())e.dispose();this._perPartDisposables.clear()})}_createListenersForPart(e,t){let i=new M,o=t.hoverElement;o.tabIndex=0,i.add(Z(o,me.FOCUS_IN,n=>{n.stopPropagation(),this._focusedHoverPartIndex=e})),i.add(Z(o,me.FOCUS_OUT,n=>{n.stopPropagation(),this._focusedHoverPartIndex=-1})),t.type==="hoverPart"&&!(t.hoverPart instanceof Xd)&&!t.participant.hideCopyButton&&i.add(new $p(o,()=>t.participant.getAccessibleContent(t.hoverPart),this._clipboardService,this._hoverService)),this._perPartDisposables.set(e,i)}_updateMarkdownAndColorParticipantInfo(e){let t=e.find(i=>i instanceof Zr&&!(i instanceof ol));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Qd)}focusHoverPartWithIndex(e){e<0||e>=this._renderedParts.length||this._renderedParts[e].hoverElement.focus()}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;let o;t>=0?o={start:t,endExclusive:t+1}:o=this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let n=o.start;n<o.endExclusive;n++){let r=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,n);if(r===void 0)continue;let a=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,r);if(!a)continue;let d=this._perPartDisposables.get(n);d&&(d.dispose(),this._perPartDisposables.delete(n)),this._renderedParts[n]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:a.hoverPart,hoverElement:a.hoverElement},this._createListenersForPart(n,this._renderedParts[n])}i&&(t>=0?this.focusHoverPartWithIndex(t):this._context.focus()),this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){let i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;let n=this._renderedParts.findIndex(r=>r.type==="hoverPart"&&r.participant===e);if(n===-1)throw new Ye;return t-n}_findRangeOfMarkdownHoverParts(e){let t=this._renderedParts.slice(),i=t.findIndex(r=>r.type==="hoverPart"&&r.participant===e),o=t.reverse().findIndex(r=>r.type==="hoverPart"&&r.participant===e),n=o>=0?t.length-o:o;return{start:i,endExclusive:n+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}};zw=Bw=nM([nl(4,he),nl(5,Lt),nl(6,Rt)],zw);var _A=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gf=function(s,e){return function(t,i){e(t,i,s)}},mf=class extends D{constructor(e,t,i,o,n){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._hoverService=o,this._clipboardService=n,this._currentResult=null,this._renderedContentHover=this._register(new xe),this._onContentsChanged=this._register(new z),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Op,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new Ud(this._editor,new Ap(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let e=[];for(let t of po.getAll()){let i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>t.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll(t=>{this._participants.forEach(i=>i.handleScroll?.(t))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach(t=>t.handleContentsChanged?.())})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{let i=t.hasLoadingMessage?this._addLoadingMessage(t):t.value;this._withResult(new oh(i,t.isComplete,t.options))}));let e=this._contentHoverWidget.getDomNode();this._register(Xt(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(Xt(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(nd.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(e,t,i,o,n){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):!1;let a=this._editor.getOption(69).sticky,d=n&&this._contentHoverWidget.isMouseGettingCloser(n.event.posx,n.event.posy);return a&&d?(e&&this._startHoverOperationIfNecessary(e,t,i,o,!0),!0):e?this._currentResult&&this._currentResult.options.anchor.equals(e)?!0:this._currentResult&&e.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)?(this._currentResult&&this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,o,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,o,n){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(e))return;this._hoverOperation.cancel();let a={anchor:e,source:i,shouldFocus:o,insistOnKeepingHoverVisible:n};this._hoverOperation.start(t,a)}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){for(let t of this._participants){if(!t.createLoadingMessage)continue;let i=t.createLoadingMessage(e.options.anchor);if(i)return e.value.slice(0).concat([i])}return e.value}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;let o=e.hoverParts.length===0,n=e.options.insistOnKeepingHoverVisible;o&&n||this._setCurrentResult(e)}_showHover(e){let t=this._getHoverContext();this._renderedContentHover.value=new uf(this._editor,e,this._participants,t,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover.value):this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEach(e=>e.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)},focus:()=>this.focus()}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing||this._isMouseOnCodeActionWidget(e))return!0;let i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);let n=i[0];return this._startShowingOrUpdateHover(n,0,0,!1,e)}_findHoverAnchorCandidates(e){let t=[];for(let o of this._participants){if(!o.suggestHoverAnchor)continue;let n=o.suggestHoverAnchor(e);n&&t.push(n)}let i=e.target;switch(i.type){case 6:{t.push(new Vd(0,i.range,e.event.posx,e.event.posy));break}case 7:{let o=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<o))break;t.push(new Vd(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((o,n)=>n.priority-o.priority),t}_isMouseOnCodeActionWidget(e){let t=e.event.browserEvent.target;return!!(t instanceof Element&&t.closest(".action-widget"))}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Gr(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,o){this._startShowingOrUpdateHover(new Vd(0,e,void 0,void 0),t,i,o,null)}async updateHoverVerbosityLevel(e,t,i){this._renderedContentHover.value?.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){if(this._renderedContentHover.value?.hoverPartsCount===1){this.focusHoverPartWithIndex(0);return}this._contentHoverWidget.focus()}focusHoverPartWithIndex(e){this._renderedContentHover.value?.focusHoverPartWithIndex(e)}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover.value?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};mf=_A([gf(1,j),gf(2,he),gf(3,Lt),gf(4,Rt)],mf);function pf(s){let e=s.target;return!!e&&e.type===6&&e.detail.injectedText?.options.attachedData===fw}var bA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Uw=function(s,e){return function(t,i){e(t,i,s)}},jw,Ft=class extends D{static{jw=this}static{this.ID="editor.contrib.contentHover"}constructor(e,t,i,o){super(),this._editor=e,this._instantiationService=i,this._keybindingService=o,this._onHoverContentsChanged=this._register(new z),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new M,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new Ae(()=>{this._mouseMoveEvent&&this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(t.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(t.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(jw.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(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){this._ignoreMouseEvents||(e.scrollTopChanged||e.scrollLeftChanged)&&this.hideContentHover()}_onEditorMouseDown(e){this._ignoreMouseEvents||(this._isMouseDown=!0,this._shouldKeepHoverWidgetVisible(e))||this.hideContentHover()}_shouldKeepHoverWidgetVisible(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()||pf(e)}_isMouseOnContentHoverWidget(e){return!this._contentWidget||!this._contentWidget.getDomNode().isConnected?!1:Gr(this._contentWidget.getDomNode(),e.event.posx,e.event.posy)}_onEditorMouseUp(){this._ignoreMouseEvents||(this._isMouseDown=!1)}_onEditorMouseLeave(e){this._ignoreMouseEvents||this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldKeepHoverWidgetVisible(e))||this.hideContentHover()}_shouldKeepCurrentHover(e){let t=this._contentWidget;if(!t)return!1;let i=this._hoverSettings.sticky,o=(c,h)=>{let u=this._isMouseOnContentHoverWidget(c);return h&&u},n=c=>{let h=t.isColorPickerVisible,u=this._isMouseOnContentHoverWidget(c),g=h&&u,m=h&&this._isMouseDown;return g||m},r=(c,h)=>{let u=c.event.browserEvent.view;return u?h&&t.containsNode(u.document.activeElement)&&!u.getSelection()?.isCollapsed:!1},a=t.isFocused,d=t.isResizing,l=this._hoverSettings.sticky&&t.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||a||d||l||o(e,i)||n(e)||r(e,i)}_onEditorMouseMove(e){if(this._ignoreMouseEvents)return;if(this._isMouseDown&&!this._shouldKeepHoverWidgetVisible(e)){this._cancelSchedulerAndHide();return}if(this._mouseMoveEvent=e,this._shouldKeepCurrentHover(e)){this._reactToEditorMouseMoveRunner.cancel();return}if(this._shouldRescheduleHoverComputation()){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay);return}this._reactToEditorMouseMove(e)}_shouldRescheduleHoverComputation(){let e=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&e>0}_reactToEditorMouseMove(e){Mp(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"&&th(this._editor.getOption(86),e)&&this._mouseMoveEvent){this._contentWidget.isVisible||this._contentWidget.showsOrWillShow(this._mouseMoveEvent);return}let t=this._isPotentialKeyboardShortcut(e),i=eg(e.keyCode);t||i||this._contentWidget.isFocused&&e.keyCode===2||this.hideContentHover()}_isPotentialKeyboardShortcut(e){if(!this._editor.hasModel()||!this._contentWidget)return!1;let t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1,o=t.kind===2&&(t.commandId===Lp||t.commandId===sa||t.commandId===aa)&&this._contentWidget.isVisible;return i||o}hideContentHover(){rr.dropDownVisible||this._contentWidget?.hide()}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(mf,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,o){this._getOrCreateContentWidget().startShowingAtRange(e,t,i,o)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};Ft=jw=bA([Uw(1,_n),Uw(2,j),Uw(3,he)],Ft);var bh=class extends D{static{this.ID="editor.contrib.colorContribution"}constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){let t=this._editor.getOption(169);if(t!=="click"&&t!=="clickAndHover"||!pf(e))return;let i=this._editor.getContribution(Ft.ID);if(!i||i.isColorPickerVisible)return;let o=e.target.range;if(!o)return;let n=new C(o.startLineNumber,o.startColumn+1,o.endLineNumber,o.endColumn+1);i.showContentHover(n,1,1,!1)}};var vA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},CA=function(s,e){return function(t,i){e(t,i,s)}},Kw=class s{constructor(e,t,i,o){this.owner=e,this.range=t,this.model=i,this.provider=o}static fromBaseColor(e,t){return new s(e,t.range,t.model,t.provider)}},qw=class extends D{constructor(e,t,i,o){super();let n=e.getModel(),r=i.model;this.color=i.model.color,this.colorPicker=this._register(new Yd(t.fragment,r,e.getOption(164),o,"standalone")),this._register(r.onColorFlushed(a=>{this.color=a})),this._register(r.onDidChangeColor(a=>{ca(n,r,a,i.range,i)})),this._register(e.onDidChangeModelContent(a=>{t.hide(),e.focus()})),ca(n,r,this.color,i.range,i)}},ff=class{constructor(e,t){this._editor=e,this._themeService=t}async createColorHover(e,t,i){if(!this._editor.hasModel()||!nr.get(this._editor))return null;let n=await xp(i,this._editor.getModel(),oe.None),r=null,a=null;for(let u of n){let g=u.colorInfo;C.containsRange(g.range,e.range)&&(r=g,a=u.provider)}let d=r??e,l=a??t,c=!!r;return{colorHover:Kw.fromBaseColor(this,await af(this._editor.getModel(),d,l)),foundInEditor:c}}async updateEditorModel(e,t){if(!this._editor.hasModel())return;let i=e.model,o=new C(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await ca(this._editor.getModel(),i,this._color,o,e),o=df(this._editor,o,i,t))}renderHoverParts(e,t){if(!(t.length===0||!this._editor.hasModel()))return this._setMinimumDimensions(e),this._renderedParts=new qw(this._editor,e,t[0],this._themeService),this._renderedParts}_setMinimumDimensions(e){let t=this._editor.getOption(75)+8;e.setMinimumDimensions(new Me(302,t))}get _color(){return this._renderedParts?.color}};ff=vA([CA(1,Ke)],ff);var SA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},vh=function(s,e){return function(t,i){e(t,i,s)}},Gw,$w=class{constructor(e,t){this.value=e,this.foundInEditor=t}},rM=8,wA=22,_f=class extends D{static{Gw=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(e,t,i,o,n,r,a,d){super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=n,this._languageFeaturesService=r,this._editorWorkerService=a,this._hoverService=d,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new z),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new xe),this._renderedStatusBar=this._register(new xe),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=o.createInstance(ff,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let l=this._editor.getSelection();this._selections=this._editor.getSelections()??[];let c=l?{startLineNumber:l.startLineNumber,startColumn:l.startColumn,endLineNumber:l.endLineNumber,endColumn:l.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},h=this._register(qi(this._body));this._register(h.onDidBlur(u=>{this.hide()})),this._register(h.onDidFocus(u=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide(),this._selections=this._editor.getSelections()??[]})),this._register(this._editor.onMouseMove(u=>{let g=u.target.element?.classList;g&&g.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(u=>{this._render(u.value,u.foundInEditor)})),this._start(c),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover,this._selections)}getId(){return Gw.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 $w(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;let t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new na(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){let i=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new jd(this._keybindingService,this._hoverService));let o={fragment:i,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=e,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(o,[e]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}let n=this._renderedHoverParts.value.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),n.layout();let r=n.body,a=r.saturationBox.domNode.clientWidth,d=r.domNode.clientWidth-a-wA-rM,l=n.body.enterButton;l?.onClicked(()=>{this.updateEditor(),this.hide()});let c=n.header,h=c.pickedColorNode;h.style.width=a+rM+"px";let u=c.originalColorNode;u.style.width=d+"px",n.header.closeButton?.onClicked(()=>{this.hide()}),t&&(l&&(l.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};_f=Gw=SA([vh(3,j),vh(4,he),vh(5,V),vh(6,xi),vh(7,Lt)],_f);var yA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},sM=function(s,e){return function(t,i){e(t,i,s)}},Zw,sr=class extends D{static{Zw=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=w.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=w.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(_f,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(Zw.ID)}};sr=Zw=yA([sM(1,J),sM(2,j)],sr);var bf=class extends ri{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...I(940,"Show or Focus Standalone Color Picker"),mnemonicTitle:p(939,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:q.CommandPalette}],metadata:{description:I(941,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){sr.get(t)?.showOrFocus()}},vf=class extends A{constructor(){super({id:"editor.action.hideColorPicker",label:I(942,"Hide the Color Picker"),precondition:w.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:I(943,"Hide the standalone color picker.")}})}run(e,t){sr.get(t)?.hide()}},Cf=class extends A{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:I(944,"Insert Color with Standalone Color Picker"),precondition:w.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:I(945,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){sr.get(t)?.insertColor()}};k(vf);k(Cf);pe(bf);$(bh.ID,bh,2);$(sr.ID,sr,1);$(nr.ID,nr,1);Do(Sp);po.register(Qd);ve.registerCommand("_executeDocumentColorProvider",function(s,...e){let[t]=e;if(!(t instanceof ge))throw ji();let{model:i,colorProviderRegistry:o,defaultColorDecoratorsEnablement:n}=gw(s,t);return Ip(new wp,o,i,oe.None,n)});ve.registerCommand("_executeColorPresentationProvider",function(s,...e){let[t,i]=e;if(!i)return;let{uri:o,range:n}=i;if(!(o instanceof ge)||!Array.isArray(t)||t.length!==4||!C.isIRange(n))throw ji();let{model:r,colorProviderRegistry:a,defaultColorDecoratorsEnablement:d}=gw(s,o),[l,c,h,u]=t;return Ip(new yp({range:n,color:{red:l,green:c,blue:h,alpha:u}}),a,r,oe.None,d)});var ar=class s{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;let o=t.length,n=e.length;if(i+o>n)return!1;for(let r=0;r<o;r++){let a=e.charCodeAt(i+r),d=t.charCodeAt(r);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,o,n,r){let a=e.startLineNumber,d=e.startColumn,l=e.endLineNumber,c=e.endColumn,h=n.getLineContent(a),u=n.getLineContent(l),g=h.lastIndexOf(t,d-1+t.length),m=u.indexOf(i,c-1-i.length);if(g!==-1&&m!==-1)if(a===l)h.substring(g+t.length,m).indexOf(i)>=0&&(g=-1,m=-1);else{let _=h.substring(g+t.length),b=u.substring(0,m);(_.indexOf(i)>=0||b.indexOf(i)>=0)&&(g=-1,m=-1)}let f;g!==-1&&m!==-1?(o&&g+t.length<h.length&&h.charCodeAt(g+t.length)===32&&(t=t+" "),o&&m>0&&u.charCodeAt(m-1)===32&&(i=" "+i,m-=1),f=s._createRemoveBlockCommentOperations(new C(a,g+t.length+1,l,m+1),t,i)):(f=s._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=f.length===1?i:null);for(let _ of f)r.addTrackedEditOperation(_.range,_.text)}static _createRemoveBlockCommentOperations(e,t,i){let o=[];return C.isEmpty(e)?o.push(Ge.delete(new C(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(o.push(Ge.delete(new C(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),o.push(Ge.delete(new C(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),o}static _createAddBlockCommentOperations(e,t,i,o){let n=[];return C.isEmpty(e)?n.push(Ge.replace(new C(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(n.push(Ge.insert(new H(e.startLineNumber,e.startColumn),t+(o?" ":""))),n.push(Ge.insert(new H(e.endLineNumber,e.endColumn),(o?" ":"")+i))),n}getEditOperations(e,t){let i=this._selection.startLineNumber,o=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);let n=e.getLanguageIdAtPosition(i,o),r=this.languageConfigurationService.getLanguageConfiguration(n).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){let i=t.getInverseEditOperations();if(i.length===2){let o=i[0],n=i[1];return new Q(o.range.endLineNumber,o.range.endColumn,n.range.startLineNumber,n.range.startColumn)}else{let o=i[0].range,n=this._usedEndToken?-this._usedEndToken.length-1:0;return new Q(o.endLineNumber,o.endColumn+n,o.endLineNumber,o.endColumn+n)}}};var Sf=class s{constructor(e,t,i,o,n,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=o,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,o){e.tokenization.tokenizeIfCheap(t);let n=e.getLanguageIdAtPosition(t,1),r=o.getLanguageConfiguration(n).comments,a=r?r.lineCommentToken:null;if(!a)return null;let d=[];for(let l=0,c=i-t+1;l<c;l++)d[l]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,o,n,r,a,d,l){let c=!0,u=d.getLanguageConfiguration(l).comments?.lineCommentNoIndent??!1,g;e===0?g=!0:e===1?g=!1:g=!0;for(let m=0,f=o.length;m<f;m++){let _=o[m],b=n+m;if(b===n&&a){_.ignore=!0;continue}let v=i.getLineContent(b),y=oc(v);if(y===-1){_.ignore=r,_.commentStrOffset=u?0:v.length;continue}c=!1;let L=u?0:y;if(_.ignore=!1,_.commentStrOffset=L,g&&!ar._haystackHasNeedleAtOffset(v,_.commentStr,L)&&(e===0?g=!1:e===1||(_.ignore=!0)),g&&t){let E=y+_.commentStrLength;E<v.length&&v.charCodeAt(E)===32&&(_.commentStrLength+=1)}}if(e===0&&c){g=!1;for(let m=0,f=o.length;m<f;m++)o[m].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:o}}static _gatherPreflightData(e,t,i,o,n,r,a,d){let l=s._gatherPreflightCommentStrings(i,o,n,d),c=i.getLanguageIdAtPosition(o,1);return l===null?{supported:!1}:s._analyzeLines(e,t,i,l,o,r,a,d,c)}_executeLineComments(e,t,i,o){let n;i.shouldRemoveComments?n=s._createRemoveLineCommentsOperations(i.lines,o.startLineNumber):(s._normalizeInsertionPoint(e,i.lines,o.startLineNumber,this._indentSize),n=this._createAddLineCommentsOperations(i.lines,o.startLineNumber));let r=new H(o.positionLineNumber,o.positionColumn);for(let a=0,d=n.length;a<d;a++)t.addEditOperation(n[a].range,n[a].text),C.isEmpty(n[a].range)&&C.getStartPosition(n[a].range).equals(r)&&e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(n[a].text||"").length);this._selectionId=t.trackSelection(o)}_attemptRemoveBlockComment(e,t,i,o){let n=t.startLineNumber,r=t.endLineNumber,a=o.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),d=e.getLineContent(n).lastIndexOf(i,a-1),l=e.getLineContent(r).indexOf(o,t.endColumn-1-i.length);return d!==-1&&l===-1&&(l=e.getLineContent(n).indexOf(o,d+i.length),r=n),d===-1&&l!==-1&&(d=e.getLineContent(r).lastIndexOf(i,l),n=r),t.isEmpty()&&(d===-1||l===-1)&&(d=e.getLineContent(n).indexOf(i),d!==-1&&(l=e.getLineContent(n).indexOf(o,d+i.length))),d!==-1&&e.getLineContent(n).charCodeAt(d+i.length)===32&&(i+=" "),l!==-1&&e.getLineContent(r).charCodeAt(l-1)===32&&(o=" "+o,l-=1),d!==-1&&l!==-1?ar._createRemoveBlockCommentOperations(new C(n,d+i.length+1,r,l+1),i,o):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);let o=e.getLanguageIdAtPosition(i.startLineNumber,1),n=this.languageConfigurationService.getLanguageConfiguration(o).comments;if(!n||!n.blockCommentStartToken||!n.blockCommentEndToken)return;let r=n.blockCommentStartToken,a=n.blockCommentEndToken,d=this._attemptRemoveBlockComment(e,i,r,a);if(!d){if(i.isEmpty()){let l=e.getLineContent(i.startLineNumber),c=oc(l);c===-1&&(c=l.length),d=ar._createAddBlockCommentOperations(new C(i.startLineNumber,c+1,i.startLineNumber,l.length+1),r,a,this._insertSpace)}else d=ar._createAddBlockCommentOperations(new C(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);d.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(let l of d)t.addEditOperation(l.range,l.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new C(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
|
|
12
|
+
`),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));let o=s._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return o.supported?this._executeLineComments(e,t,o,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new Q(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){let i=[];for(let o=0,n=e.length;o<n;o++){let r=e[o];r.ignore||i.push(Ge.delete(new C(t+o,r.commentStrOffset+1,t+o,r.commentStrOffset+r.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){let i=[],o=this._insertSpace?" ":"";for(let n=0,r=e.length;n<r;n++){let a=e[n];a.ignore||i.push(Ge.insert(new H(t+n,a.commentStrOffset+1),a.commentStr+o))}return i}static nextVisibleColumn(e,t,i,o){return i?e+(t-e%t):e+o}static _normalizeInsertionPoint(e,t,i,o){let n=1073741824,r,a;for(let d=0,l=t.length;d<l;d++){if(t[d].ignore)continue;let c=e.getLineContent(i+d),h=0;for(let u=0,g=t[d].commentStrOffset;h<n&&u<g;u++)h=s.nextVisibleColumn(h,o,c.charCodeAt(u)===9,1);h<n&&(n=h)}n=Math.floor(n/o)*o;for(let d=0,l=t.length;d<l;d++){if(t[d].ignore)continue;let c=e.getLineContent(i+d),h=0;for(r=0,a=t[d].commentStrOffset;h<n&&r<a;r++)h=s.nextVisibleColumn(h,o,c.charCodeAt(r)===9,1);h>n?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}};var Ch=class extends A{constructor(e,t){super(t),this._type=e}run(e,t){let i=e.get(We);if(!t.hasModel())return;let o=t.getModel(),n=[],r=o.getOptions(),a=t.getOption(29),d=t.getSelections().map((c,h)=>({selection:c,index:h,ignoreFirstLine:!1}));d.sort((c,h)=>C.compareRangesUsingStarts(c.selection,h.selection));let l=d[0];for(let c=1;c<d.length;c++){let h=d[c];l.selection.endLineNumber===h.selection.startLineNumber&&(l.index<h.index?h.ignoreFirstLine=!0:(l.ignoreFirstLine=!0,l=h))}for(let c of d)n.push(new Sf(i,c.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,c.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},Yw=class extends Ch{constructor(){super(0,{id:"editor.action.commentLine",label:I(948,"Toggle Line Comment"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:"5_insert",title:p(946,"&&Toggle Line Comment"),order:1},canTriggerInlineEdits:!0})}},Xw=class extends Ch{constructor(){super(1,{id:"editor.action.addCommentLine",label:I(949,"Add Line Comment"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2081),weight:100},canTriggerInlineEdits:!0})}},Qw=class extends Ch{constructor(){super(2,{id:"editor.action.removeCommentLine",label:I(950,"Remove Line Comment"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2099),weight:100},canTriggerInlineEdits:!0})}},Jw=class extends A{constructor(){super({id:"editor.action.blockComment",label:I(951,"Toggle Block Comment"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:"5_insert",title:p(947,"Toggle &&Block Comment"),order:2},canTriggerInlineEdits:!0})}run(e,t){let i=e.get(We);if(!t.hasModel())return;let o=t.getOption(29),n=[],r=t.getSelections();for(let a of r)n.push(new ar(a,o.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}};k(Yw);k(Xw);k(Qw);k(Jw);var xA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ga=function(s,e){return function(t,i){e(t,i,s)}},ey,Sh=class{static{ey=this}static{this.ID="editor.contrib.contextmenu"}static get(e){return e.getContribution(ey.ID)}constructor(e,t,i,o,n,r,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=o,this._keybindingService=n,this._menuService=r,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new M,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(l=>this._onContextMenu(l))),this._toDispose.add(this._editor.onMouseWheel(l=>{if(this._contextMenuIsBeingShownCount>0){let c=this._contextViewService.getContextViewElement(),h=l.srcElement;h.shadowRoot&&p0(c)===h.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(l=>{this._editor.getOption(30)&&l.keyCode===58&&(l.preventDefault(),l.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(30)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(let o of this._editor.getSelections())if(o.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(30)||!this._editor.hasModel())return;let t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){let i=[],o=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(let n of o){let[,r]=n,a=0;for(let d of r)if(d instanceof E0){let l=this._getMenuActions(e,d.item.submenu);l.length>0&&(i.push(new Lr(d.id,d.label,l)),a++)}else i.push(d),a++;a&&i.push(new jn)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;let i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let n=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),r=tt(this._editor.getDomNode()),a=r.left+n.left,d=r.top+n.top+n.height;i={x:a,y:d}}let o=this._editor.getOption(144)&&!tc;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:o?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:o&&this._editor.getOption(51),getAnchor:()=>i,getActions:()=>e,getActionViewItem:n=>{let r=this._keybindingFor(n);if(r)return new Rc(n,n,{label:!0,keybinding:r.getLabel(),isMenu:!0});let a=n;return typeof a.getActionViewItem=="function"?a.getActionViewItem():new Rc(n,n,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:n=>this._keybindingFor(n),onHide:n=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||ZR(this._workspaceContextService.getWorkspace()))return;let t=this._editor.getOption(81),i=0,o=l=>({id:`menu-action-${++i}`,label:l.label,tooltip:"",class:void 0,enabled:typeof l.enabled>"u"?!0:l.enabled,checked:l.checked,run:l.run}),n=(l,c)=>new Lr(`menu-action-${++i}`,l,c,void 0),r=(l,c,h,u,g)=>{if(!c)return o({label:l,enabled:c,run:()=>{}});let m=_=>()=>{this._configurationService.updateValue(h,_)},f=[];for(let _ of g)f.push(o({label:_.label,checked:u===_.value,run:m(_.value)}));return n(l,f)},a=[];a.push(o({label:p(952,"Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new jn),a.push(o({label:p(953,"Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(p(954,"Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:p(955,"Proportional"),value:"proportional"},{label:p(956,"Fill"),value:"fill"},{label:p(957,"Fit"),value:"fit"}])),a.push(r(p(958,"Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:p(959,"Mouse Over"),value:"mouseover"},{label:p(960,"Always"),value:"always"}])),a.push(r(p(961,"Side"),t.enabled,"editor.minimap.side",t.side,[{label:p(962,"Right"),value:"right"},{label:p(963,"Left"),value:"left"}]));let d=this._editor.getOption(144)&&!tc;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:d&&this._editor.getOption(51),getAnchor:()=>e,getActions:()=>a,onHide:l=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Sh=ey=xA([ga(1,_n),ga(2,Fr),ga(3,J),ga(4,he),ga(5,Gi),ga(6,re),ga(7,Eo)],Sh);var ty=class extends A{constructor(){super({id:"editor.action.showContextMenu",label:I(964,"Show Editor Context Menu"),precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:1092,weight:100}})}run(e,t){Sh.get(t)?.showContextMenu()}};$(Sh.ID,Sh,2);k(ty);var wh=class{constructor(e){this.selections=e}equals(e){let t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let o=0;o<t;o++)if(!this.selections[o].equalsSelection(e.selections[o]))return!1;return!0}},yh=class{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}},rl=class s extends D{static{this.ID="editor.contrib.cursorUndoRedoController"}static get(e){return e.getContribution(s.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;let i=new wh(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new yh(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new yh(new wh(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 yh(new wh(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}},iy=class extends A{constructor(){super({id:"cursorUndo",label:I(965,"Cursor Undo"),precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:2099,weight:100}})}run(e,t,i){rl.get(t)?.cursorUndo()}},oy=class extends A{constructor(){super({id:"cursorRedo",label:I(966,"Cursor Redo"),precondition:void 0})}run(e,t,i){rl.get(t)?.cursorRedo()}};$(rl.ID,rl,0);k(iy);k(oy);var wf=class{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){let i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new C(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Q(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 Q(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 Q(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new Q(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new Q(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}};function sl(s){return Ki?s.altKey:s.ctrlKey}var yf=class s extends D{static{this.ID="editor.contrib.dragAndDrop"}static{this.TRIGGER_KEY_VALUE=Ki?6:5}constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(42)||this._editor.getOption(28)||(sl(e)&&(this._modifierPressed=!0),this._mouseDown&&sl(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(42)||this._editor.getOption(28)||(sl(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===s.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){let t=e.target;if(this._dragSelection===null){let o=(this._editor.getSelections()||[]).filter(n=>t.position&&n.containsPosition(t.position));if(o.length===1)this._dragSelection=o[0];else return}sl(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){let t=new H(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){let o=this._editor.getSelection();if(o){let{selectionStartLineNumber:n,selectionStartColumn:r}=o;i=[new Q(n,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(o=>o.containsPosition(t)?new Q(t.lineNumber,t.column,t.lineNumber,t.column):o);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(sl(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(s.ID,new wf(this._dragSelection,t,sl(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=ee.register({description:"dnd-target",className:"dnd-target"})}showAt(e){this._dndDecorationIds.set([{range:new C(e.lineNumber,e.column,e.lineNumber,e.column),options:s._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};$(yf.ID,yf,2);var IA="editor.action.pasteAs";$(jo.ID,jo,0);Do(Dm);X(new class extends at{constructor(){super({id:DS,precondition:Hm,kbOpts:{weight:100,primary:2137}})}runEditorCommand(s,e){return jo.get(e)?.changePasteType()}});X(new class extends at{constructor(){super({id:"editor.hidePasteWidget",precondition:Hm,kbOpts:{weight:100,primary:9}})}runEditorCommand(s,e){jo.get(e)?.clearWidgets()}});k(class aM extends A{static{this.argsSchema={oneOf:[{type:"object",required:["kind"],properties:{kind:{type:"string",description:p(967,`The kind of the paste edit to try pasting with.
|
|
13
|
+
If there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message.`)}}},{type:"object",required:["preferences"],properties:{preferences:{type:"array",description:p(968,`List of preferred paste edit kind to try applying.
|
|
14
|
+
The first edit matching the preferences will be applied.`),items:{type:"string"}}}}]}}constructor(){super({id:IA,label:I(969,"Paste As..."),precondition:w.writable,metadata:{description:"Paste as",args:[{name:"args",schema:aM.argsSchema}]},canTriggerInlineEdits:!0})}run(e,t,i){let o;return i&&("kind"in i?o={only:new He(i.kind)}:"preferences"in i&&(o={preferences:i.preferences.map(n=>new He(n))})),jo.get(t)?.pasteAs(o)}});k(class extends A{constructor(){super({id:"editor.action.pasteAsText",label:I(970,"Paste as Text"),precondition:w.writable,canTriggerInlineEdits:!0})}run(s,e){return jo.get(e)?.pasteAs({providerId:Qn.id})}});var xf=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}}},xh=class{constructor(e){this.identifier=e}};var ny=zt("treeViewsDndService");ai(ny,xf,1);var LA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},If=function(s,e){return function(t,i){e(t,i,s)}},dr,EA="editor.dropIntoEditor.preferences",ry="editor.changeDropType",Lf=new te("dropWidgetVisible",!1,p(988,"Whether the drop widget is showing")),ma=class extends D{static{dr=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(e){return e.getContribution(dr.ID)}constructor(e,t,i,o,n){super(),this._configService=i,this._languageFeaturesService=o,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=Kk.getInstance(),this._dropProgressManager=this._register(t.createInstance(kd,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Pd,"dropIntoEditor",e,Lf,{id:ry,label:p(989,"Show drop options...")},()=>dr._configureDefaultAction?[dr._configureDefaultAction]:[])),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){if(!i.dataTransfer||!e.hasModel())return;dr._currentDropOperation?.cancel(),e.focus(),e.setPosition(t);let o=je(async n=>{let r=new M,a=r.add(new Lo(e,1,void 0,n));try{let d=await this.extractDataTransferData(i);if(d.size===0||a.token.isCancellationRequested)return;let l=e.getModel();if(!l)return;let c=this._languageFeaturesService.documentDropEditProvider.ordered(l).filter(u=>u.dropMimeTypes?u.dropMimeTypes.some(g=>d.matches(g)):!0),h=r.add(await this.getDropEdits(c,l,t,d,a.token));if(a.token.isCancellationRequested)return;if(h.edits.length){let u=this.getInitialActiveEditIndex(l,h.edits),g=e.getOption(43).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([C.fromPositions(t)],{activeEditIndex:u,allEdits:h.edits},g,async m=>m,n)}}finally{r.dispose(),dr._currentDropOperation===o&&(dr._currentDropOperation=void 0)}});this._dropProgressManager.showWhile(t,p(990,"Running drop handlers. Click to cancel"),o,{cancel:()=>o.cancel()}),dr._currentDropOperation=o}async getDropEdits(e,t,i,o,n){let r=new M,a=await Ao(Promise.all(e.map(async l=>{try{let c=await l.provideDocumentDropEdits(t,i,o,n);return c&&r.add(c),c?.edits.map(h=>({...h,providerId:l.id}))}catch(c){oi(c)||console.error(c),console.error(c)}})),n),d=vi(a??[]).flat();return{edits:Tm(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){let i=this._configService.getValue(EA,{resource:e.uri});for(let o of Array.isArray(i)?i:[]){let n=new He(o),r=t.findIndex(a=>a.kind&&n.contains(a.kind));if(r>=0)return r}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new Wg;let t=qk(e.dataTransfer);if(this.treeItemsTransfer.hasData(xh.prototype)){let i=this.treeItemsTransfer.getData(xh.prototype);if(Array.isArray(i))for(let o of i){let n=await this._treeViewsDragAndDropService.removeDragOperationTransfer(o.identifier);if(n)for(let[r,a]of n)t.replace(r,a)}}return t}};ma=dr=LA([If(1,j),If(2,re),If(3,V),If(4,ny)],ma);$(ma.ID,ma,2);Do(Em);X(new class extends at{constructor(){super({id:ry,precondition:Lf,kbOpts:{weight:100,primary:2137}})}runEditorCommand(s,e,t){ma.get(e)?.changeDropType()}});X(new class extends at{constructor(){super({id:"editor.hideDropWidget",precondition:Lf,kbOpts:{weight:100,primary:9}})}runEditorCommand(s,e,t){ma.get(e)?.clearWidgets()}});var Ef=class s extends Zn{static{this.ID="editor.contrib.findOptionsWidget"}constructor(e,t,i){super(),this._hideSoon=this._register(new Ae(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");let o={inputActiveOptionBorder:Se(Mg),inputActiveOptionForeground:Se(Ng),inputActiveOptionBackground:Se(gd)},n={groupId:"find-options-widget"};this.caseSensitive=this._register(new oT({appendTitle:this._keybindingLabelFor(ze.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:n,...o})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new nT({appendTitle:this._keybindingLabelFor(ze.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:n,...o})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new rT({appendTitle:this._keybindingLabelFor(ze.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:n,...o})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Z(this._domNode,me.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Z(this._domNode,"mouseover",r=>this._onMouseOver()))}_keybindingLabelFor(e){return this._keybindingService.appendKeybinding("",e)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return s.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};function Df(s,e){return s===1?!0:s===2?!1:e}var kf=class extends D{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Df(this._isRegexOverride,this._isRegex)}get wholeWord(){return Df(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Df(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Df(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 z),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){let o={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},n=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,o.matchesPosition=!0,n=!0),this._matchesCount!==t&&(this._matchesCount=t,o.matchesCount=!0,n=!0),typeof i<"u"&&(C.equalsRange(this._currentMatch,i)||(this._currentMatch=i,o.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(o)}change(e,t,i=!0){let o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},n=!1,r=this.isRegex,a=this.wholeWord,d=this.matchCase,l=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,n=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,n=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,n=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,n=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(e.searchScope?.every(c=>this._searchScope?.some(h=>!C.equalsRange(h,c)))||(this._searchScope=e.searchScope,o.searchScope=!0,n=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,n=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,n=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,n=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(n=!0,o.isRegex=!0),a!==this.wholeWord&&(n=!0,o.wholeWord=!0),d!==this.matchCase&&(n=!0,o.matchCase=!0),l!==this.preserveCase&&(n=!0,o.preserveCase=!0),n&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=En}};var DA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kA=function(s,e){return function(t,i){e(t,i,s)}},Yr,Rf=class{static{Yr=this}static{this.FIND_HISTORY_KEY="workbench.find.history"}static{this._instance=null}static getOrCreate(e){return Yr._instance||(Yr._instance=new Yr(e)),Yr._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new z,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(Yr.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(Yr.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}};Rf=Yr=DA([kA(0,Tt)],Rf);var RA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},TA=function(s,e){return function(t,i){e(t,i,s)}},Xr,Tf=class{static{Xr=this}static{this.FIND_HISTORY_KEY="workbench.replace.history"}static{this._instance=null}static getOrCreate(e){return Xr._instance||(Xr._instance=new Xr(e)),Xr._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new z,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(Xr.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(Xr.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}};Tf=Xr=RA([TA(0,Tt)],Tf);var dM=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},io=function(s,e){return function(t,i){e(t,i,s)}},sy,MA=524288;function ay(s,e="single",t=!1){if(!s.hasModel())return null;let i=s.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){let o=s.getConfiguredWordAtPosition(i.getStartPosition());if(o&&t===!1)return o.word}else if(s.getModel().getValueLengthInRange(i)<MA)return s.getModel().getValueInRange(i)}return null}var gi=class extends D{static{sy=this}static{this.ID="editor.contrib.findController"}get editor(){return this._editor}static get(e){return e.getContribution(sy.ID)}constructor(e,t,i,o,n,r){super(),this._editor=e,this._findWidgetVisible=Dn.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=o,this._notificationService=n,this._hoverService=r,this._updateHistoryDelayer=this._register(new Mi(500)),this._state=this._register(new kf),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(50).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!Gd.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=zn(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;let i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){let o=ay(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);o&&(this._state.isRegex?i.searchString=zn(o):i.searchString=o)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){let o=ay(this._editor,e.seedSearchStringFromSelection);o&&(i.searchString=o)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){let o=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;o&&(i.searchString=o)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){let o=this._editor.getSelections();o.some(n=>!n.isEmpty())&&(i.searchScope=o)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new Bp(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(p(994,"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)}};gi=sy=dM([io(1,J),io(2,Tt),io(3,Rt),io(4,Je),io(5,Lt)],gi);var dy=class extends gi{constructor(e,t,i,o,n,r,a,d,l,c){super(e,i,r,a,n,d),this._contextViewService=t,this._keybindingService=o,this._configurationService=l,this._accessibilityService=c,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=Rf.getOrCreate(r),this._replaceWidgetHistory=Tf.getOrCreate(r)}async _start(e,t){this._widget||this._createFindWidget();let i=this._editor.getSelection(),o=!1;switch(this._editor.getOption(50).autoFindInSelection){case"always":o=!0;break;case"never":o=!1;break;case"multiline":{o=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||o,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new Gp(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 Ef(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(e){this._widget?.setViewState(e)}};dy=dM([io(1,Fr),io(2,J),io(3,he),io(4,Je),io(5,Tt),io(6,Rt),io(7,Lt),io(8,re),io(9,Zi)],dy);var NA=hc(new cc({id:ze.StartFindAction,label:I(1002,"Find"),precondition:O.or(w.focus,O.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:"3_find",title:p(995,"&&Find"),order:1}}));NA.addImplementation(0,(s,e,t)=>{let i=gi.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(50).loop}):!1});var PA={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"}}}}]},ly=class extends A{constructor(){super({id:ze.StartFindWithArgs,label:I(1003,"Find with Arguments"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:PA})}async run(e,t,i){let o=gi.get(t);if(o){let n=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await o.start({forceRevealReplace:!1,seedSearchStringFromSelection:o.getState().searchString.length===0&&t.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:i?.findInSelection||!1,loop:t.getOption(50).loop},n),o.setGlobalBufferTerm(o.getState().searchString)}}},cy=class extends A{constructor(){super({id:ze.StartFindWithSelection,label:I(1004,"Find with Selection"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){let i=gi.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),i.setGlobalBufferTerm(i.getState().searchString))}};async function lM(s,e){let t=gi.get(s);if(!t)return;let i=s.getOption(50).closeOnResult,o=t.getState().isRevealed,n=()=>{let r=t.editor.getSelection(),a=e?t.moveToNextMatch():t.moveToPrevMatch(),d=!1;if(a){let l=t.editor.getSelection();(!r&&l||r&&l&&!r.equalsSelection(l))&&(d=!0)}return d?(t.editor.pushUndoStop(),i&&o&&t.isFindInputFocused()&&t.closeFindWidget(),!0):!1};if(!n()&&(await t.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getState().searchString.length===0&&s.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:s.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:s.getOption(50).loop}),!n())){let r=t.getState();o&&r.matchesCount===0&&r.searchString&&xt(p(996,"{0} found for '{1}'",qp,r.searchString))}}var OA=hc(new cc({id:ze.NextMatchFindAction,label:I(1005,"Find Next"),precondition:void 0,kbOpts:[{kbExpr:w.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:O.and(w.focus,Gd),primary:3,weight:100}]}));OA.addImplementation(0,async(s,e,t)=>lM(e,!0));var AA=hc(new cc({id:ze.PreviousMatchFindAction,label:I(1006,"Find Previous"),precondition:void 0,kbOpts:[{kbExpr:w.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:O.and(w.focus,Gd),primary:1027,weight:100}]}));AA.addImplementation(0,async(s,e,t)=>lM(e,!1));var hy=class extends A{constructor(){super({id:ze.GoToMatchFindAction,label:I(1007,"Go to Match..."),precondition:Dn}),this._highlightDecorations=[]}run(e,t){let i=gi.get(t);if(!i)return;let o=i.getState().matchesCount;if(o<1){e.get(Je).notify({severity:Rr.Warning,message:p(997,"No matches. Try searching for something else.")});return}let n=e.get(At),r=new M,a=r.add(n.createInputBox());a.placeholder=p(998,"Type a number to go to a specific match (between 1 and {0})",o);let d=c=>{let h=parseInt(c);if(isNaN(h))return;let u=i.getState().matchesCount;if(h>0&&h<=u)return h-1;if(h<0&&h>=-u)return u+h},l=c=>{let h=d(c);if(typeof h=="number"){a.validationMessage=void 0,i.goToMatch(h);let u=i.getState().currentMatch;u&&this.addDecorations(t,u)}else a.validationMessage=p(999,"Please type a number between 1 and {0}",i.getState().matchesCount),this.clearDecorations(t)};r.add(a.onDidChangeValue(c=>{l(c)})),r.add(a.onDidAccept(()=>{let c=d(a.value);typeof c=="number"?(i.goToMatch(c),a.hide()):a.validationMessage=p(1e3,"Please type a number between 1 and {0}",i.getState().matchesCount)})),r.add(a.onDidHide(()=>{this.clearDecorations(t),r.dispose()})),a.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:ot(zg),position:Ai.Full}}}])})}},Mf=class extends A{async run(e,t){let i=gi.get(t);if(!i)return;let o=ay(t,"single",!1);o&&i.setSearchString(o),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),this._run(i))}},uy=class extends Mf{constructor(){super({id:ze.NextSelectionMatchFindAction,label:I(1008,"Find Next Selection"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}},gy=class extends Mf{constructor(){super({id:ze.PreviousSelectionMatchFindAction,label:I(1009,"Find Previous Selection"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}},FA=hc(new cc({id:ze.StartFindReplaceAction,label:I(1010,"Replace"),precondition:O.or(w.focus,O.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:q.MenubarEditMenu,group:"3_find",title:p(1001,"&&Replace"),order:2}}));FA.addImplementation(0,(s,e,t)=>{if(!e.hasModel()||e.getOption(104))return!1;let i=gi.get(e);if(!i)return!1;let o=e.getSelection(),n=i.isFindInputFocused(),r=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&e.getOption(50).seedSearchStringFromSelection!=="never"&&!n,a=n||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(50).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(50).loop})});$(gi.ID,dy,0);k(ly);k(cy);k(hy);k(uy);k(gy);var $o=at.bindToContribution(gi.get);X(new $o({id:ze.CloseFindWidgetCommand,precondition:Dn,handler:s=>s.closeFindWidget(),kbOpts:{weight:105,kbExpr:w.focus,primary:9,secondary:[1033]}}));X(new $o({id:ze.ToggleCaseSensitiveCommand,precondition:void 0,handler:s=>s.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:w.focus,primary:rh.primary,mac:rh.mac,win:rh.win,linux:rh.linux}}));X(new $o({id:ze.ToggleWholeWordCommand,precondition:void 0,handler:s=>s.toggleWholeWords(),kbOpts:{weight:105,kbExpr:w.focus,primary:sh.primary,mac:sh.mac,win:sh.win,linux:sh.linux}}));X(new $o({id:ze.ToggleRegexCommand,precondition:void 0,handler:s=>s.toggleRegex(),kbOpts:{weight:105,kbExpr:w.focus,primary:ah.primary,mac:ah.mac,win:ah.win,linux:ah.linux}}));X(new $o({id:ze.ToggleSearchScopeCommand,precondition:void 0,handler:s=>s.toggleSearchScope(),kbOpts:{weight:105,kbExpr:w.focus,primary:dh.primary,mac:dh.mac,win:dh.win,linux:dh.linux}}));X(new $o({id:ze.TogglePreserveCaseCommand,precondition:void 0,handler:s=>s.togglePreserveCase(),kbOpts:{weight:105,kbExpr:w.focus,primary:lh.primary,mac:lh.mac,win:lh.win,linux:lh.linux}}));X(new $o({id:ze.ReplaceOneAction,precondition:Dn,handler:s=>s.replace(),kbOpts:{weight:105,kbExpr:w.focus,primary:3094}}));X(new $o({id:ze.ReplaceOneAction,precondition:Dn,handler:s=>s.replace(),kbOpts:{weight:105,kbExpr:O.and(w.focus,nh),primary:3}}));X(new $o({id:ze.ReplaceAllAction,precondition:Dn,handler:s=>s.replaceAll(),kbOpts:{weight:105,kbExpr:w.focus,primary:2563}}));X(new $o({id:ze.ReplaceAllAction,precondition:Dn,handler:s=>s.replaceAll(),kbOpts:{weight:105,kbExpr:O.and(w.focus,nh),primary:void 0,mac:{primary:2051}}}));X(new $o({id:ze.SelectAllMatchesAction,precondition:Dn,handler:s=>s.selectAllMatches(),kbOpts:{weight:105,kbExpr:w.focus,primary:515}}));var HA={0:" ",1:"u",2:"r"},cM=65535,fo=16777215,hM=4278190080,Ih=class{constructor(e){let t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){let t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){let i=e/32|0,o=e%32,n=this._states[i];t?this._states[i]=n|1<<o:this._states[i]=n&~(1<<o)}},li=class s{constructor(e,t,i){if(e.length!==t.length||e.length>cM)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Ih(e.length),this._userDefinedStates=new Ih(e.length),this._recoveredStates=new Ih(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let e=[],t=(i,o)=>{let n=e[e.length-1];return this.getStartLineNumber(n)<=i&&this.getEndLineNumber(n)>=o};for(let i=0,o=this._startIndexes.length;i<o;i++){let n=this._startIndexes[i],r=this._endIndexes[i];if(n>fo||r>fo)throw new Error("startLineNumber or endLineNumber must not exceed "+fo);for(;e.length>0&&!t(n,r);)e.pop();let a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((a&255)<<24),this._endIndexes[i]=r+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&fo}getEndLineNumber(e){return this._endIndexes[e]&fo}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let o=0;o<this._types.length;o++)this._types[o]===e&&(this.setCollapsed(o,t),i=!0);return i}toRegion(e){return new my(this,e)}getParentIndex(e){this.ensureParentIndices();let t=((this._startIndexes[e]&hM)>>>24)+((this._endIndexes[e]&hM)>>>16);return t===cM?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){let o=Math.floor((t+i)/2);e<this.getStartLineNumber(o)?i=o:t=o+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){let e=[];for(let t=0;t<this.length;t++)e[t]=`[${HA[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&fo,endLineNumber:this._endIndexes[e]&fo,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){let t=e.length,i=new Uint32Array(t),o=new Uint32Array(t),n=[],r=!1;for(let d=0;d<t;d++){let l=e[d];i[d]=l.startLineNumber,o[d]=l.endLineNumber,n.push(l.type),l.type&&(r=!0)}r||(n=void 0);let a=new s(i,o,n);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,o){i=i??Number.MAX_VALUE;let n=(_,b)=>Array.isArray(_)?(v=>v<b?_[v]:void 0):(v=>v<b?_.toFoldRange(v):void 0),r=n(e,e.length),a=n(t,t.length),d=0,l=0,c=r(0),h=a(0),u=[],g,m=0,f=[];for(;c||h;){let _;if(h&&(!c||c.startLineNumber>=h.startLineNumber))c&&c.startLineNumber===h.startLineNumber?(h.source===1?_=h:(_=c,_.isCollapsed=h.isCollapsed&&(c.endLineNumber===h.endLineNumber||!o?.startsInside(c.startLineNumber+1,c.endLineNumber+1)),_.source=0),c=r(++d)):(_=h,h.isCollapsed&&h.source===0&&(_.source=2)),h=a(++l);else{let b=l,v=h;for(;;){if(!v||v.startLineNumber>c.endLineNumber){_=c;break}if(v.source===1&&v.endLineNumber>c.endLineNumber)break;v=a(++b)}c=r(++d)}if(_){for(;g&&g.endLineNumber<_.startLineNumber;)g=u.pop();_.endLineNumber>_.startLineNumber&&_.startLineNumber>m&&_.endLineNumber<=i&&(!g||g.endLineNumber>=_.endLineNumber)&&(f.push(_),m=_.startLineNumber,g&&u.push(g),g=_)}}return f}},my=class{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}};var Nf=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new z,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new li(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,o)=>i.regionIndex-o.regionIndex);let t={};this._decorationProvider.changeDecorations(i=>{let o=0,n=-1,r=-1,a=d=>{for(;o<d;){let l=this._regions.getEndLineNumber(o),c=this._regions.isCollapsed(o);if(l<=n){let h=this.regions.getSource(o)!==0;i.changeDecorationOptions(this._editorDecorationIds[o],this._decorationProvider.getDecorationOption(c,l<=r,h))}c&&l>r&&(r=l),o++}};for(let d of e){let l=d.regionIndex,c=this._editorDecorationIds[l];if(c&&!t[c]){t[c]=!0,a(l);let h=!this._regions.isCollapsed(l);this._regions.setCollapsed(l,h),n=Math.max(n,this._regions.getEndLineNumber(l))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){let t=new Set,i=!1;for(let r of e)if(C.isEmpty(r)){let a=this._regions.findRange(r.startLineNumber);for(;a!==-1&&this._regions.getSource(a)===0;)a=this._regions.getParentIndex(a);a===-1?i=!0:t.add(a)}let o=new Array,n=r=>{for(let a of e)if(!C.isEmpty(a)&&!(a.startLineNumber>r.endLineNumber||r.startLineNumber>a.endLineNumber))return!0;return!1};for(let r=0;r<this._regions.length;r++){let a=this._regions.toFoldRange(r);(a.source===0||!i&&!t.has(r)&&!n(a))&&o.push(a)}this.updatePost(li.fromFoldRanges(o))}update(e,t){let i=this._currentFoldedOrManualRanges(t),o=li.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(li.fromFoldRanges(o))}updatePost(e){let t=[],i=-1;for(let o=0,n=e.length;o<n;o++){let r=e.getStartLineNumber(o),a=e.getEndLineNumber(o),d=e.isCollapsed(o),l=e.getSource(o)!==0,c={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:c,options:this._decorationProvider.getDecorationOption(d,a<=i,l)}),d&&a>i&&(i=a)}this._decorationProvider.changeDecorations(o=>this._editorDecorationIds=o.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){let t=[];for(let i=0,o=this._regions.length;i<o;i++){let n=this.regions.isCollapsed(i),r=this.regions.getSource(i);if(n||r!==0){let a=this._regions.toFoldRange(i),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(n&&e?.startsInside(d.startLineNumber+1,d.endLineNumber)&&(n=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.endLineNumber,type:a.type,isCollapsed:n,source:r}))}}return t}getMemento(){let e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let o=0,n=e.length;o<n;o++){let r=e[o];if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>i)continue;let a=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,isCollapsed:r.isCollapsed,source:r.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;let t=[],i=this._textModel.getLineCount();for(let n of e){if(n.startLineNumber>=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>i)continue;let r=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);(!n.checksum||r===n.checksum)&&t.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,type:void 0,isCollapsed:n.isCollapsed??!0,source:n.source??0})}let o=li.sanitizeAndMerge(this._regions,t,i);this.updatePost(li.fromFoldRanges(o))}_getLinesChecksum(e,t){return ag(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(e,t){let i=[];if(this._regions){let o=this._regions.findRange(e),n=1;for(;o>=0;){let r=this._regions.toRegion(o);(!t||t(r,n))&&i.push(r),n++,o=r.parentIndex}}return i}getRegionAtLine(e){if(this._regions){let t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){let i=[],o=e?e.regionIndex+1:0,n=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){let r=[];for(let a=o,d=this._regions.length;a<d;a++){let l=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<n){for(;r.length>0&&!l.containedBy(r[r.length-1]);)r.pop();r.push(l),t(l,r.length)&&i.push(l)}else break}}else for(let r=o,a=this._regions.length;r<a;r++){let d=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<n)(!t||t(d))&&i.push(d);else break}return i}};function Lh(s,e,t){let i=[];for(let o of t){let n=s.getRegionAtLine(o);if(n){let r=!n.isCollapsed;if(i.push(n),e>1){let a=s.getRegionsInside(n,(d,l)=>d.isCollapsed!==r&&l<e);i.push(...a)}}}s.toggleCollapseState(i)}function pa(s,e,t=Number.MAX_VALUE,i){let o=[];if(i&&i.length>0)for(let n of i){let r=s.getRegionAtLine(n);if(r&&(r.isCollapsed!==e&&o.push(r),t>1)){let a=s.getRegionsInside(r,(d,l)=>d.isCollapsed!==e&&l<t);o.push(...a)}}else{let n=s.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);o.push(...n)}s.toggleCollapseState(o)}function py(s,e,t,i){let o=[];for(let n of i){let r=s.getAllRegionsAtLine(n,(a,d)=>a.isCollapsed!==e&&d<=t);o.push(...r)}s.toggleCollapseState(o)}function uM(s,e,t){let i=[];for(let o of t){let n=s.getAllRegionsAtLine(o,r=>r.isCollapsed!==e);n.length>0&&i.push(n[0])}s.toggleCollapseState(i)}function gM(s,e,t,i){let o=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(d=>r.containsLine(d)),n=s.getRegionsInside(null,o);s.toggleCollapseState(n)}function fy(s,e,t){let i=[];for(let r of t){let a=s.getAllRegionsAtLine(r,void 0);a.length>0&&i.push(a[0])}let o=r=>i.every(a=>!a.containedBy(r)&&!r.containedBy(a))&&r.isCollapsed!==e,n=s.getRegionsInside(null,o);s.toggleCollapseState(n)}function Pf(s,e,t){let i=s.textModel,o=s.regions,n=[];for(let r=o.length-1;r>=0;r--)if(t!==o.isCollapsed(r)){let a=o.getStartLineNumber(r);e.test(i.getLineContent(a))&&n.push(o.toRegion(r))}s.toggleCollapseState(n)}function Of(s,e,t){let i=s.regions,o=[];for(let n=i.length-1;n>=0;n--)t!==i.isCollapsed(n)&&e===i.getType(n)&&o.push(i.toRegion(n));s.toggleCollapseState(o)}function mM(s,e){let t=null,i=e.getRegionAtLine(s);if(i!==null&&(t=i.startLineNumber,s===t)){let o=i.parentIndex;o!==-1?t=e.regions.getStartLineNumber(o):t=null}return t}function pM(s,e){let t=e.getRegionAtLine(s);if(t!==null&&t.startLineNumber===s){if(s!==t.startLineNumber)return t.startLineNumber;{let i=t.parentIndex,o=0;for(i!==-1&&(o=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=o)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<s)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function fM(s,e){let t=e.getRegionAtLine(s);if(t!==null&&t.startLineNumber===s){let i=t.parentIndex,o=0;if(i!==-1)o=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;o=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=o)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>s)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}var Af=class{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new z,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||iR(t.text)[0]!==0))}updateHiddenRanges(){let e=!1,t=[],i=0,o=0,n=Number.MAX_VALUE,r=-1,a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;let d=a.getStartLineNumber(i)+1,l=a.getEndLineNumber(i);n<=d&&l<=r||(!e&&o<this._hiddenRanges.length&&this._hiddenRanges[o].startLineNumber===d&&this._hiddenRanges[o].endLineNumber===l?(t.push(this._hiddenRanges[o]),o++):(e=!0,t.push(new C(d,1,l,1))),n=d,r=l)}(this._hasLineChanges||e||o<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return _M(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1,i=this._foldingModel.textModel,o=null,n=r=>((!o||!WA(r,o))&&(o=_M(this._hiddenRanges,r)),o?o.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let d=e[r],l=n(d.startLineNumber);l&&(d=d.setStartPosition(l,i.getLineMaxColumn(l)),t=!0);let c=n(d.endLineNumber);c&&(d=d.setEndPosition(c,i.getLineMaxColumn(c)),t=!0),e[r]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null),this._updateEventEmitter.dispose()}};function WA(s,e){return s>=e.startLineNumber&&s<=e.endLineNumber}function _M(s,e){let t=wg(s,i=>e<i.startLineNumber)-1;return t>=0&&s[t].endLineNumber>=e?s[t]:null}var BA=5e3,VA="indent",fa=class{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=VA}dispose(){}compute(e){let t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,o=t&&t.markers;return Promise.resolve(UA(this.editorModel,i,o,this.foldingRangesLimit))}},_y=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>fo||t>fo)return;let o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){let t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);let i=new Uint32Array(this._length),o=new Uint32Array(this._length);for(let n=this._length-1,r=0;n>=0;n--,r++)i[r]=this._startIndexes[n],o[r]=this._endIndexes[n];return new li(i,o)}else{this._foldingRangesLimit.update(this._length,t);let i=0,o=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){let l=this._indentOccurrences[d];if(l){if(l+i>t){o=d;break}i+=l}}let n=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,l=0;d>=0;d--){let c=this._startIndexes[d],h=e.getLineContent(c),u=Dc(h,n);(u<o||u===o&&i++<t)&&(r[l]=c,a[l]=this._endIndexes[d],l++)}return new li(r,a)}}},zA={limit:BA,update:()=>{}};function UA(s,e,t,i=zA){let o=s.getOptions().tabSize,n=new _y(i),r,a,d;t&&(t.start.flags===t.end.flags?r=new RegExp(`(${t.start.source})|(?:${t.end.source})`,t.start.flags):(a=t.start,d=t.end));let l=[],c=s.getLineCount()+1;l.push({indent:-1,endAbove:c,line:c});for(let h=s.getLineCount();h>0;h--){let u=s.getLineContent(h),g=Dc(u,o),m=l[l.length-1];if(g===-1){e&&(m.endAbove=h);continue}let f=!1,_=!1,b;if(r?(r.lastIndex=0,(b=r.exec(u))&&(f=!!b[1],_=!f)):(a&&(a.lastIndex=0,f=a.test(u)),!f&&d&&(d.lastIndex=0,_=d.test(u))),f||_)if(f){let v=l.length-1;for(;v>0&&l[v].indent!==-2;)v--;if(v>0){l.length=v+1,m=l[v],n.insertFirst(h,m.line,g),m.line=h,m.indent=g,m.endAbove=h;continue}}else{l.push({indent:-2,endAbove:h,line:h});continue}if(m.indent>g){do l.pop(),m=l[l.length-1];while(m.indent>g);let v=m.endAbove-1;v-h>=1&&n.insertFirst(h,v,g)}m.indent===g?m.endAbove=h:l.push({indent:g,endAbove:h,line:h})}return n.toIndentRanges(s)}var jA=K("editor.foldBackground",{light:mt(wC,.3),dark:mt(wC,.3),hcDark:null,hcLight:null},p(1060,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);K("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},p(1061,"Color of the collapsed text after the first line of a folded range."));K("editorGutter.foldingControlForeground",fk,p(1062,"Color of the folding control in the editor gutter."));var Eh=qe("folding-expanded",B.chevronDown,p(1063,"Icon for expanded ranges in the editor glyph margin.")),Dh=qe("folding-collapsed",B.chevronRight,p(1064,"Icon for collapsed ranges in the editor glyph margin.")),bM=qe("folding-manual-collapsed",Dh,p(1065,"Icon for manually collapsed ranges in the editor glyph margin.")),vM=qe("folding-manual-expanded",Eh,p(1066,"Icon for manually expanded ranges in the editor glyph margin.")),by={color:ot(jA),position:1},al=p(1067,"Click to expand the range."),Ff=p(1068,"Click to collapse the range."),Hf=class s{static{this.COLLAPSED_VISUAL_DECORATION=ee.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:al,firstLineDecorationClassName:ne.asClassName(Dh)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ee.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:by,isWholeLine:!0,linesDecorationsTooltip:al,firstLineDecorationClassName:ne.asClassName(Dh)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=ee.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:al,firstLineDecorationClassName:ne.asClassName(bM)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ee.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:by,isWholeLine:!0,linesDecorationsTooltip:al,firstLineDecorationClassName:ne.asClassName(bM)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ee.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:al})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ee.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:by,isWholeLine:!0,linesDecorationsTooltip:al})}static{this.EXPANDED_VISUAL_DECORATION=ee.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ne.asClassName(Eh),linesDecorationsTooltip:Ff})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ee.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ne.asClassName(Eh),linesDecorationsTooltip:Ff})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=ee.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ne.asClassName(vM),linesDecorationsTooltip:Ff})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ee.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ne.asClassName(vM),linesDecorationsTooltip:Ff})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ee.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=ee.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?s.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?s.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:s.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:s.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?s.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:s.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?s.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:s.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?s.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:s.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?s.MANUALLY_EXPANDED_VISUAL_DECORATION:s.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};var KA={},qA="syntax",_a=class{constructor(e,t,i,o,n){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=o,this.fallbackRangeProvider=n,this.id=qA,this.disposables=new M,n&&this.disposables.add(n);for(let r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return GA(this.providers,this.editorModel,e).then(t=>this.editorModel.isDisposed()?null:t?$A(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(e)??null)}dispose(){this.disposables.dispose()}};function GA(s,e,t){let i=null,o=s.map((n,r)=>Promise.resolve(n.provideFoldingRanges(e,KA,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);let d=e.getLineCount();for(let l of a)l.start>0&&l.end>l.start&&l.end<=d&&i.push({start:l.start,end:l.end,rank:r,kind:l.kind})}},Te));return Promise.all(o).then(n=>i)}var vy=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,o){if(e>fo||t>fo)return;let n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._nestingLevels[n]=o,this._types[n]=i,this._length++,o<30&&(this._nestingLevelCounts[o]=(this._nestingLevelCounts[o]||0)+1)}toIndentRanges(){let e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);let t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let o=0;o<this._length;o++)t[o]=this._startIndexes[o],i[o]=this._endIndexes[o];return new li(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){let d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}let o=new Uint32Array(e),n=new Uint32Array(e),r=[];for(let a=0,d=0;a<this._length;a++){let l=this._nestingLevels[a];(l<i||l===i&&t++<e)&&(o[d]=this._startIndexes[a],n[d]=this._endIndexes[a],r[d]=this._types[a],d++)}return new li(o,n,r)}}};function $A(s,e){let t=s.sort((r,a)=>{let d=r.start-a.start;return d===0&&(d=r.rank-a.rank),d}),i=new vy(e),o,n=[];for(let r of t)if(!o)o=r,i.add(r.start,r.end,r.kind&&r.kind.value,n.length);else if(r.start>o.start)if(r.end<=o.end)n.push(o),o=r,i.add(r.start,r.end,r.kind&&r.kind.value,n.length);else{if(r.start>o.end){do o=n.pop();while(o&&r.start>o.end);o&&n.push(o),o=r}i.add(r.start,r.end,r.kind&&r.kind.value,n.length)}return i.toIndentRanges()}var ZA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kh=function(s,e){return function(t,i){e(t,i,s)}},Rh,Bt=new te("foldingEnabled",!1),Mn=class extends D{static{Rh=this}static{this.ID="editor.contrib.folding"}static get(e){return e.getContribution(Rh.ID)}static getFoldingRangeProviders(e,t){let i=e.foldingRangeProvider.ordered(t);return Rh._foldingRangeSelector?.(i,t)??i}constructor(e,t,i,o,n,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new M),this.editor=e,this._foldingLimitReporter=this._register(new Th(e));let a=this.editor.getOptions();this._isEnabled=a.get(52),this._useFoldingProviders=a.get(53)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(55),this.updateDebounceInfo=n.for(r.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 Hf(e),this.foldingDecorationProvider.showFoldingControls=a.get(126),this.foldingDecorationProvider.showFoldingHighlights=a.get(54),this.foldingEnabled=Bt.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(52)&&(this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(56)&&this.onModelChanged(),d.hasChanged(126)||d.hasChanged(54)){let l=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=l.get(126),this.foldingDecorationProvider.showFoldingHighlights=l.get(54),this.triggerFoldingModelChanged()}d.hasChanged(53)&&(this._useFoldingProviders=this.editor.getOptions().get(53)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(57)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57)),d.hasChanged(55)&&(this._foldingImportsByDefault=this.editor.getOptions().get(55))})),this.onModelChanged()}saveViewState(){let e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){let t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){let t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new Nf(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Af(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Mi(this.updateDebounceInfo.get(e)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new Ae(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;let t=new fa(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){let i=Rh.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new _a(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){this.hiddenRangeModel?.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{let e=this.foldingModel;if(!e)return null;let t=new kt,i=this.getRangeProvider(e.textModel),o=this.foldingRegionPromise=je(n=>i.compute(n));return o.then(n=>{if(n&&o===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let l=n.setCollapsedAllOfType(Ps.Imports.value,!0);l&&(r=fn.capture(this.editor),this._currentModelHasFoldedImports=l)}let a=this.editor.getSelections();e.update(n,YA(a)),r?.restore(this.editor);let d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(ae(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){let t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){let e=this.getFoldingModel();e&&e.then(t=>{if(t){let i=this.editor.getSelections();if(i&&i.length>0){let o=[];for(let n of i){let r=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&o.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}o.length&&(t.toggleCollapseState(o),this.reveal(i[0].getPosition()))}}}).then(void 0,ae)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;let t=e.target.range,i=!1;switch(e.target.type){case 4:{let o=e.target.detail,n=e.target.element.offsetLeft;if(o.offsetX-n<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){let o=this.editor.getModel();if(o&&t.startColumn===o.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){let t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;let i=this.mouseDownInfo.lineNumber,o=this.mouseDownInfo.iconClicked,n=e.target.range;if(!n||n.startLineNumber!==i)return;if(o){if(e.target.type!==4)return}else{let a=this.editor.getModel();if(!a||n.startColumn!==a.getLineMaxColumn(i))return}let r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){let a=r.isCollapsed;if(o||a){let d=e.event.altKey,l=[];if(d){let c=u=>!u.containedBy(r)&&!r.containedBy(u),h=t.getRegionsInside(null,c);for(let u of h)u.isCollapsed&&l.push(u);l.length===0&&(l=h)}else{let c=e.event.middleButton||e.event.shiftKey;if(c)for(let h of t.getRegionsInside(r))h.isCollapsed===a&&l.push(h);(a||!c||l.length===0)&&l.push(r)}t.toggleCollapseState(l),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Mn=Rh=ZA([kh(1,J),kh(2,We),kh(3,Je),kh(4,Mt),kh(5,V)],Mn);var Th=class extends D{constructor(e){super(),this.editor=e,this._onDidChange=this._register(new z),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())}},Ht=class extends A{runEditorCommand(e,t,i){let o=e.get(We),n=Mn.get(t);if(!n)return;let r=n.getFoldingModel();if(r)return this.reportTelemetry(e,t),r.then(a=>{if(a){this.invoke(n,a,t,i,o);let d=t.getSelection();d&&n.reveal(d.getStartPosition())}})}getSelectedLines(e){let t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}};function YA(s){return!s||s.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(let i of s){let o=i.startLineNumber;if(o>=e&&o<=t)return!0}return!1}}}function CM(s){if(!ys(s)){if(!Ha(s))return!1;let e=s;if(!ys(e.levels)&&!Yv(e.levels)||!ys(e.direction)&&!Ju(e.direction)||!ys(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(Yv)))return!1}return!0}var Cy=class extends Ht{constructor(){super({id:"editor.unfold",label:I(1040,"Unfold"),precondition:Bt,kbOpts:{kbExpr:w.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:
|
|
15
|
+
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
16
|
+
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
17
|
+
* '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.
|
|
18
|
+
`,constraint:CM,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,i,o){let n=o&&o.levels||1,r=this.getLineNumbers(o,i);o&&o.direction==="up"?py(t,!1,n,r):pa(t,!1,n,r)}},Sy=class extends Ht{constructor(){super({id:"editor.unfoldRecursively",label:I(1041,"Unfold Recursively"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2142),weight:100}})}invoke(e,t,i,o){pa(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}},wy=class extends Ht{constructor(){super({id:"editor.fold",label:I(1042,"Fold"),precondition:Bt,kbOpts:{kbExpr:w.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:
|
|
19
|
+
* 'levels': Number of levels to fold.
|
|
20
|
+
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
21
|
+
* '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.
|
|
22
|
+
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
23
|
+
`,constraint:CM,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,o){let n=this.getLineNumbers(o,i),r=o&&o.levels,a=o&&o.direction;typeof r!="number"&&typeof a!="string"?uM(t,!0,n):a==="up"?py(t,!0,r||1,n):pa(t,!0,r||1,n)}},yy=class extends Ht{constructor(){super({id:"editor.toggleFold",label:I(1043,"Toggle Fold"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2090),weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);Lh(t,1,o)}},xy=class extends Ht{constructor(){super({id:"editor.foldRecursively",label:I(1044,"Fold Recursively"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2140),weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);pa(t,!0,Number.MAX_VALUE,o)}},Iy=class extends Ht{constructor(){super({id:"editor.toggleFoldRecursively",label:I(1045,"Toggle Fold Recursively"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,3114),weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);Lh(t,Number.MAX_VALUE,o)}},Ly=class extends Ht{constructor(){super({id:"editor.foldAllBlockComments",label:I(1046,"Fold All Block Comments"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2138),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())Of(t,Ps.Comment.value,!0);else{let r=i.getModel();if(!r)return;let a=n.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){let d=new RegExp("^\\s*"+zn(a.blockCommentStartToken));Pf(t,d,!0)}}}},Ey=class extends Ht{constructor(){super({id:"editor.foldAllMarkerRegions",label:I(1047,"Fold All Regions"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2077),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())Of(t,Ps.Region.value,!0);else{let r=i.getModel();if(!r)return;let a=n.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){let d=new RegExp(a.markers.start);Pf(t,d,!0)}}}},Dy=class extends Ht{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:I(1048,"Unfold All Regions"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2078),weight:100}})}invoke(e,t,i,o,n){if(t.regions.hasTypes())Of(t,Ps.Region.value,!1);else{let r=i.getModel();if(!r)return;let a=n.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){let d=new RegExp(a.markers.start);Pf(t,d,!1)}}}},ky=class extends Ht{constructor(){super({id:"editor.foldAllExcept",label:I(1049,"Fold All Except Selected"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2136),weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);fy(t,!0,o)}},Ry=class extends Ht{constructor(){super({id:"editor.unfoldAllExcept",label:I(1050,"Unfold All Except Selected"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2134),weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);fy(t,!1,o)}},Ty=class extends Ht{constructor(){super({id:"editor.foldAll",label:I(1051,"Fold All"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2069),weight:100}})}invoke(e,t,i){pa(t,!0)}},My=class extends Ht{constructor(){super({id:"editor.unfoldAll",label:I(1052,"Unfold All"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2088),weight:100}})}invoke(e,t,i){pa(t,!1)}},Wf=class s extends Ht{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=e=>s.ID_PREFIX+e}getFoldingLevel(){return parseInt(this.id.substr(s.ID_PREFIX.length))}invoke(e,t,i){gM(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}},Ny=class extends Ht{constructor(){super({id:"editor.gotoParentFold",label:I(1053,"Go to Parent Fold"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);if(o.length>0){let n=mM(o[0],t);n!==null&&i.setSelection({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:1})}}},Py=class extends Ht{constructor(){super({id:"editor.gotoPreviousFold",label:I(1054,"Go to Previous Folding Range"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);if(o.length>0){let n=pM(o[0],t);n!==null&&i.setSelection({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:1})}}},Oy=class extends Ht{constructor(){super({id:"editor.gotoNextFold",label:I(1055,"Go to Next Folding Range"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,weight:100}})}invoke(e,t,i){let o=this.getSelectedLines(i);if(o.length>0){let n=fM(o[0],t);n!==null&&i.setSelection({startLineNumber:n,startColumn:1,endLineNumber:n,endColumn:1})}}},Ay=class extends Ht{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:I(1056,"Create Folding Range from Selection"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2135),weight:100}})}invoke(e,t,i){let o=[],n=i.getSelections();if(n){for(let r of n){let a=r.endLineNumber;r.endColumn===1&&--a,a>r.startLineNumber&&(o.push({startLineNumber:r.startLineNumber,endLineNumber:a,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:r.startLineNumber,startColumn:1,endLineNumber:r.startLineNumber,endColumn:1}))}if(o.length>0){o.sort((a,d)=>a.startLineNumber-d.startLineNumber);let r=li.sanitizeAndMerge(t.regions,o,i.getModel()?.getLineCount());t.updatePost(li.fromFoldRanges(r))}}}},Fy=class extends Ht{constructor(){super({id:"editor.removeManualFoldingRanges",label:I(1057,"Remove Manual Folding Ranges"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2137),weight:100}})}invoke(e,t,i){let o=i.getSelections();o&&(t.removeManualRanges(o),e.triggerFoldingModelChanged())}},Hy=class extends Ht{constructor(){super({id:"editor.toggleImportFold",label:I(1058,"Toggle Import Fold"),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,weight:100}})}async invoke(e,t){let i=[],o=t.regions;for(let n=o.length-1;n>=0;n--)o.getType(n)===Ps.Imports.value&&i.push(o.toRegion(n));t.toggleCollapseState(i),e.triggerFoldingModelChanged()}};$(Mn.ID,Mn,0);k(Cy);k(Sy);k(wy);k(xy);k(Iy);k(Ty);k(My);k(Ly);k(Ey);k(Dy);k(ky);k(Ry);k(yy);k(Ny);k(Py);k(Oy);k(Ay);k(Fy);k(Hy);for(let s=1;s<=7;s++)H0(new Wf({id:Wf.ID(s),label:I(1059,"Fold Level {0}",s),precondition:Bt,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2048|21+s),weight:100}}));ve.registerCommand("_executeFoldingRangeProvider",async function(s,...e){let[t]=e;if(!(t instanceof ge))throw ji();let i=s.get(V),o=s.get(Ct).getModel(t);if(!o)throw ji();let n=s.get(re);if(!n.getValue("editor.folding",{resource:t}))return[];let r=s.get(We),a=n.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return n.getValue("editor.foldingMaximumRegions",{resource:t})},update:(g,m)=>{}},l=new fa(o,r,d),c=l;if(a!=="indentation"){let g=Mn.getFoldingRangeProviders(i,o);g.length&&(c=new _a(o,g,()=>{},d,l))}let h=await c.compute(oe.None),u=[];try{if(h)for(let g=0;g<h.length;g++){let m=h.getType(g);u.push({start:h.getStartLineNumber(g),end:h.getEndLineNumber(g),kind:m?Ps.fromValue(m):void 0})}return u}finally{c.dispose()}});var Wy=class extends A{constructor(){super({id:"editor.action.fontZoomIn",label:I(1069,"Increase Editor Font Size"),precondition:void 0})}run(e,t){ad.setZoomLevel(ad.getZoomLevel()+1)}},By=class extends A{constructor(){super({id:"editor.action.fontZoomOut",label:I(1070,"Decrease Editor Font Size"),precondition:void 0})}run(e,t){ad.setZoomLevel(ad.getZoomLevel()-1)}},Vy=class extends A{constructor(){super({id:"editor.action.fontZoomReset",label:I(1071,"Reset Editor Font Size"),precondition:void 0})}run(e,t){ad.setZoomLevel(0)}};k(Wy);k(By);k(Vy);var SM=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Mh=function(s,e){return function(t,i){e(t,i,s)}},Bf=class{static{this.ID="editor.contrib.autoFormat"}constructor(e,t,i,o){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=o,this._disposables=new M,this._sessionDisposables=new M,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(n=>{n.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 i=new Ts;for(let o of t.autoFormatTriggerCharacters)i.add(o.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(o=>{let n=o.charCodeAt(o.length-1);i.has(n)&&this._trigger(String.fromCharCode(n))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;let t=this._editor.getModel(),i=this._editor.getPosition(),o=new Oe,n=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){o.cancel(),n.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){o.cancel(),n.dispose();return}});pT(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),o.token).then(r=>{o.token.isCancellationRequested||wt(r)&&(this._accessibilitySignalService.playSignal(Mr.format,{userGesture:!1}),gT.execute(this._editor,r,!0))}).finally(()=>{n.dispose()})}};Bf=SM([Mh(1,V),Mh(2,xi),Mh(3,wd)],Bf);var Vf=class{static{this.ID="editor.contrib.formatOnPaste"}constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new M,this._callOnModel=new M,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(QC,this.editor,e,2,go.None,oe.None,!1).catch(ae))}};Vf=SM([Mh(1,V),Mh(2,j)],Vf);var zy=class extends A{constructor(){super({id:"editor.action.formatDocument",label:I(1072,"Format Document"),precondition:O.and(w.notInCompositeEditor,w.writable,w.hasDocumentFormattingProvider),kbOpts:{kbExpr:w.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){let i=e.get(j);await e.get(pn).showWhile(i.invokeFunction(mT,t,1,go.None,oe.None,!0),250)}}},Uy=class extends A{constructor(){super({id:"editor.action.formatSelection",label:I(1073,"Format Selection"),precondition:O.and(w.writable,w.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2084),weight:100},contextMenuOpts:{when:w.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;let i=e.get(j),o=t.getModel(),n=t.getSelections().map(a=>a.isEmpty()?new C(a.startLineNumber,1,a.startLineNumber,o.getLineMaxColumn(a.startLineNumber)):a);await e.get(pn).showWhile(i.invokeFunction(QC,t,n,1,go.None,oe.None,!0),250)}};$(Bf.ID,Bf,2);$(Vf.ID,Vf,2);k(zy);k(Uy);ve.registerCommand("editor.action.format",async s=>{let e=s.get(Re).getFocusedCodeEditor();if(!e||!e.hasModel())return;let t=s.get(Fe);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var XA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},jy=function(s,e){return function(t,i){e(t,i,s)}},Qr=class{remove(){this.parent?.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let o=i;for(let n=0;t.children.get(o)!==void 0;n++)o=`${i}_${n}`;return o}static empty(e){return e.children.size===0}},dl=class extends Qr{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}},Nh=class extends Qr{constructor(e,t,i,o){super(),this.id=e,this.parent=t,this.label=i,this.order=o,this.children=new Map}},Ph=class s extends Qr{static create(e,t,i){let o=new Oe(i),n=new s(t.uri),r=e.ordered(t),a=r.map((l,c)=>{let h=Qr.findId(`provider_${c}`,n),u=new Nh(h,n,l.displayName??"Unknown Outline Provider",c);return Promise.resolve(l.provideDocumentSymbols(t,o.token)).then(g=>{for(let m of g||[])s._makeOutlineElement(m,u);return u},g=>(Te(g),u)).then(g=>{Qr.empty(g)?g.remove():n._groups.set(h,g)})}),d=e.onDidChange(()=>{let l=e.ordered(t);Yt(l,r)||o.cancel()});return Promise.all(a).then(()=>o.token.isCancellationRequested&&!i.isCancellationRequested?s.create(e,t,i):n._compact()).finally(()=>{o.dispose(),d.dispose(),o.dispose()})}static _makeOutlineElement(e,t){let i=Qr.findId(e,t),o=new dl(i,t,e);if(e.children)for(let n of e.children)s._makeOutlineElement(n,o);t.children.set(o.id,o)}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,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{let t=Co.first(this._groups.values());for(let[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){let e=[];for(let t of this.children.values())t instanceof dl?e.push(t.symbol):e.push(...Co.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>C.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){let e=this.getTopLevelSymbols(),t=[];return s._flattenDocumentSymbols(t,e,""),t.sort((i,o)=>H.compare(C.getStartPosition(i.range),C.getStartPosition(o.range))||H.compare(C.getEndPosition(o.range),C.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(let o of t)e.push({kind:o.kind,tags:o.tags,name:o.name,detail:o.detail,containerName:o.containerName||i,range:o.range,selectionRange:o.selectionRange,children:void 0}),o.children&&s._flattenDocumentSymbols(e,o.children,o.name)}},lr=zt("IOutlineModelService"),Ky=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new M,this._cache=new dn(15,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(o=>{this._cache.delete(o.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){let i=this._languageFeaturesService.documentSymbolProvider,o=i.ordered(e),n=this._cache.get(e.id);if(!n||n.versionId!==e.getVersionId()||!Yt(n.provider,o)){let a=new Oe;n={versionId:e.getVersionId(),provider:o,promiseCnt:0,source:a,promise:Ph.create(i,e,a.token),model:void 0},this._cache.set(e.id,n);let d=Date.now();n.promise.then(l=>{n.model=l,this._debounceInformation.update(e,Date.now()-d)}).catch(l=>{this._cache.delete(e.id)})}if(n.model)return n.model;n.promiseCnt+=1;let r=t.onCancellationRequested(()=>{--n.promiseCnt===0&&(n.source.cancel(),this._cache.delete(e.id))});try{return await n.promise}finally{r.dispose()}}};Ky=XA([jy(0,V),jy(1,Mt),jy(2,Ct)],Ky);ai(lr,Ky,1);ve.registerCommand("_executeDocumentSymbolProvider",async function(s,...e){let[t]=e;_e(ge.isUri(t));let i=s.get(lr),n=await s.get(St).createModelReference(t);try{return(await i.getOrCreate(n.object.textEditorModel,oe.None)).getTopLevelSymbols()}finally{n.dispose()}});var wM=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zf=function(s,e){return function(t,i){e(t,i,s)}},Uf=class{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}},qy=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new z,this.onDidChange=this._onDidChange.event,this._dispoables=new M,this._markers=[],this._nextIdx=-1,ge.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);let o=this._configService.getValue("problems.sortOrder"),n=(a,d)=>{let l=eC(a.resource.toString(),d.resource.toString());return l===0&&(o==="position"?l=C.compareRangesUsingStarts(a,d)||Et.compare(a.severity,d.severity):l=Et.compare(a.severity,d.severity)||C.compareRangesUsingStarts(a,d)),l},r=()=>{let a=this._markerService.read({resource:ge.isUri(e)?e:void 0,severities:Et.Error|Et.Warning|Et.Info});return typeof e=="function"&&(a=a.filter(d=>this._resourceFilter(d.resource))),a.sort(n),Yt(a,this._markers,(d,l)=>d.resource.toString()===l.resource.toString()&&d.startLineNumber===l.startLineNumber&&d.startColumn===l.startColumn&&d.endLineNumber===l.endLineNumber&&d.endColumn===l.endColumn&&d.severity===l.severity&&d.message===l.message)?!1:(this._markers=a,!0)};r(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(d=>this._resourceFilter(d)))&&r()&&(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 Uf(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let o=this._markers.findIndex(n=>$i(n.resource,e.uri));if(o<0)o=WD(this._markers.length,n=>eC(this._markers[n].resource.toString(),e.uri.toString())),o<0&&(o=~o),i?this._nextIdx=o:this._nextIdx=(this._markers.length+o-1)%this._markers.length;else{let n=!1,r=!1;for(let a=o;a<this._markers.length;a++){let d=C.lift(this._markers[a]);if(d.isEmpty()){let l=e.getWordAtPosition(d.getStartPosition());l&&(d=new C(d.startLineNumber,l.startColumn,d.startLineNumber,l.endColumn))}if(t&&(d.containsPosition(t)||t.isBeforeOrEqual(d.getStartPosition()))){this._nextIdx=a,n=!0,r=!d.containsPosition(t);break}if(this._markers[a].resource.toString()!==e.uri.toString())break}n?r&&!i&&(this._nextIdx-=1):this._nextIdx=i?0:this._markers.length-1}this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;let o=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),o!==this._nextIdx}find(e,t){let i=this._markers.findIndex(o=>o.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(C.containsPosition(this._markers[i],t))return new Uf(this._markers[i],i+1,this._markers.length)}}};qy=wM([zf(1,js),zf(2,re)],qy);var $y=zt("IMarkerNavigationService"),Gy=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new ig}getMarkerList(e){for(let t of this._provider){let i=t.getMarkerList(e);if(i)return i}return new qy(e,this._markerService,this._configService)}};Gy=wM([zf(0,js),zf(1,re)],Gy);ai($y,Gy,1);var jf;(function(s){function e(t){switch(t){case kc.Ignore:return"severity-ignore "+ne.asClassName(B.info);case kc.Info:return ne.asClassName(B.info);case kc.Warning:return ne.asClassName(B.warning);case kc.Error:return ne.asClassName(B.error);default:return""}}s.className=e})(jf||(jf={}));var QA=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ll=function(s,e){return function(t,i){e(t,i,s)}},Zy,Yy=class{constructor(e,t,i,o,n){this._openerService=o,this._labelService=n,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new M,this._editor=t;let r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(Xt(this._relatedBlock,"click",a=>{a.preventDefault();let d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new zk(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){ft(this._disposables)}update(e){let{source:t,message:i,relatedInformation:o,code:n}=e,r=(t?.length||0)+2;n&&(typeof n=="string"?r+=n.length:r+=n.value.length);let a=bi(i);this._lines=a.length,this._longestLineLength=0;for(let u of a)this._longestLineLength=Math.max(u.length+r,this._longestLineLength);Vt(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),Oi(this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let d=this._messageBlock;for(let u of a)d=document.createElement("div"),d.innerText=u,u===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||n){let u=document.createElement("span");if(u.classList.add("details"),d.appendChild(u),t){let g=document.createElement("span");g.innerText=t,g.classList.add("source"),u.appendChild(g)}if(n)if(typeof n=="string"){let g=document.createElement("span");g.innerText=`(${n})`,g.classList.add("code"),u.appendChild(g)}else{this._codeLink=W("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=m=>{this._openerService.open(n.target),m.preventDefault(),m.stopPropagation()};let g=U(this._codeLink,W("span"));g.innerText=n.value,u.appendChild(this._codeLink)}}if(Vt(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),wt(o)){let u=this._relatedBlock.appendChild(document.createElement("div"));u.style.paddingTop=`${Math.floor(this._editor.getOption(75)*.66)}px`,this._lines+=1;for(let g of o){let m=document.createElement("div"),f=document.createElement("a");f.classList.add("filename"),f.innerText=`${this._labelService.getUriBasenameLabel(g.resource)}(${g.startLineNumber}, ${g.startColumn}): `,f.title=this._labelService.getUriLabel(g.resource),this._relatedDiagnostics.set(f,g);let _=document.createElement("span");_.innerText=g.message,m.appendChild(f),m.appendChild(_),this._lines+=1,u.appendChild(m)}}let l=this._editor.getOption(59),c=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),h=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:c,scrollHeight:h})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Et.Error:t=p(1082,"Error");break;case Et.Warning:t=p(1083,"Warning");break;case Et.Info:t=p(1084,"Info");break;case Et.Hint:t=p(1085,"Hint");break}let i=p(1086,"{0}: {1} at {2}. ",t,e.message,e.startLineNumber+":"+e.startColumn),o=this._editor.getModel();return o&&e.startLineNumber<=o.getLineCount()&&e.startLineNumber>=1&&(i=`${o.getLineContent(e.startLineNumber)}, ${i}`),i}},cl=class extends Hd{static{Zy=this}static{this.TitleMenu=new q("gotoErrorTitleMenu")}constructor(e,t,i,o,n,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=t,this._openerService=i,this._menuService=o,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new M,this._onDidSelectRelatedInformation=new z,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Et.Warning,this._backgroundColor=fe.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(iF);let t=Xy,i=JA;this._severity===Et.Warning?(t=Kf,i=eF):this._severity===Et.Info&&(t=Qy,i=tF);let o=e.getColor(t),n=e.getColor(i);this.style({arrowColor:o,frameColor:o,headerBackgroundColor:n,primaryHeadingColor:e.getColor(ip),secondaryHeadingColor:e.getColor(op)})}_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(o=>this.editor.focus()));let t=this._menuService.getMenuActions(Zy.TitleMenu,this._contextKeyService),i=NR(t);this._actionbarWidget.push(i,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=U(e,W(""))}_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 Yy(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());let o=C.lift(e),n=this.editor.getPosition(),r=n&&o.containsPosition(n)?n:o.getStartPosition();super.show(r,this.computeRequiredHeight());let a=this.editor.getModel();if(a){let d=i>1?p(1087,"{0} of {1} problems",t,i):p(1088,"{0} of {1} problem",t,i);this.setTitle(ei(a.uri),d)}this._icon.className=`codicon ${jf.className(Et.toSeverity(this._severity))}`,this.editor.revealPositionInCenterIfOutsideViewport(r,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()}};cl=Zy=QA([ll(1,Ke),ll(2,mo),ll(3,Gi),ll(4,j),ll(5,J),ll(6,Cn)],cl);var yM=Eg(bk,vk),xM=Eg(Ck,Sk),IM=Eg(Cc,wk),Xy=K("editorMarkerNavigationError.background",{dark:yM,light:yM,hcDark:Yi,hcLight:Yi},p(1089,"Editor marker navigation widget error color.")),JA=K("editorMarkerNavigationError.headerBackground",{dark:mt(Xy,.1),light:mt(Xy,.1),hcDark:null,hcLight:null},p(1090,"Editor marker navigation widget error heading background.")),Kf=K("editorMarkerNavigationWarning.background",{dark:xM,light:xM,hcDark:Yi,hcLight:Yi},p(1091,"Editor marker navigation widget warning color.")),eF=K("editorMarkerNavigationWarning.headerBackground",{dark:mt(Kf,.1),light:mt(Kf,.1),hcDark:"#0C141F",hcLight:mt(Kf,.2)},p(1092,"Editor marker navigation widget warning heading background.")),Qy=K("editorMarkerNavigationInfo.background",{dark:IM,light:IM,hcDark:Yi,hcLight:Yi},p(1093,"Editor marker navigation widget info color.")),tF=K("editorMarkerNavigationInfo.headerBackground",{dark:mt(Qy,.1),light:mt(Qy,.1),hcDark:null,hcLight:null},p(1094,"Editor marker navigation widget info heading background.")),iF=K("editorMarkerNavigation.background",ld,p(1095,"Editor marker navigation widget background."));var oF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qf=function(s,e){return function(t,i){e(t,i,s)}},Oh,Jr=class{static{Oh=this}static{this.ID="editor.contrib.markerController"}static get(e){return e.getContribution(Oh.ID)}constructor(e,t,i,o,n){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=o,this._instantiationService=n,this._sessionDispoables=new M,this._editor=e,this._widgetVisible=LM.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(cl,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{(!this._model?.selected||!C.containsPosition(this._model?.selected.marker,i.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:C.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),i=this._getOrCreateModel(t.uri);i.resetIndex(),i.move(!0,t,new H(e.startLineNumber,e.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}async navigate(e,t){if(!this._editor.hasModel())return;let i=this._editor.getModel(),o=this._getOrCreateModel(t?void 0:i.uri);if(o.move(e,i,this._editor.getPosition()),!!o.selected)if(o.selected.marker.resource.toString()!==i.uri.toString()){this._cleanUp();let n=await this._editorService.openCodeEditor({resource:o.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:o.selected.marker}},this._editor);n&&(Oh.get(n)?.close(),Oh.get(n)?.navigate(e,t))}else this._widget.showAtMarker(o.selected.marker,o.selected.index,o.selected.total)}};Jr=Oh=oF([qf(1,$y),qf(2,J),qf(3,Re),qf(4,j)],Jr);var hl=class extends A{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&await Jr.get(t)?.navigate(this._next,this._multiFile)}},ba=class s extends hl{static{this.ID="editor.action.marker.next"}static{this.LABEL=I(1078,"Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:s.ID,label:s.LABEL,precondition:void 0,kbOpts:{kbExpr:w.focus,primary:578,weight:100},menuOpts:{menuId:cl.TitleMenu,title:s.LABEL.value,icon:qe("marker-navigation-next",B.arrowDown,p(1074,"Icon for goto next marker.")),group:"navigation",order:1}})}},Ah=class s extends hl{static{this.ID="editor.action.marker.prev"}static{this.LABEL=I(1079,"Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:s.ID,label:s.LABEL,precondition:void 0,kbOpts:{kbExpr:w.focus,primary:1602,weight:100},menuOpts:{menuId:cl.TitleMenu,title:s.LABEL.value,icon:qe("marker-navigation-previous",B.arrowUp,p(1075,"Icon for goto previous marker.")),group:"navigation",order:2}})}},Fh=class s extends hl{static{this.ID="editor.action.marker.nextInFiles"}constructor(){super(!0,!0,{id:s.ID,label:I(1080,"Go to Next Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:66,weight:100},menuOpts:{menuId:q.MenubarGoMenu,title:p(1076,"Next &&Problem"),group:"6_problem_nav",order:1}})}},Hh=class s extends hl{static{this.ID="editor.action.marker.prevInFiles"}constructor(){super(!1,!0,{id:s.ID,label:I(1081,"Go to Previous Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:1090,weight:100},menuOpts:{menuId:q.MenubarGoMenu,title:p(1077,"Previous &&Problem"),group:"6_problem_nav",order:2}})}};$(Jr.ID,Jr,4);k(ba);k(Ah);k(Fh);k(Hh);var LM=new te("markersNavigationVisible",!1),nF=at.bindToContribution(Jr.get);X(new nF({id:"closeMarkersNavigation",precondition:LM,handler:s=>s.close(),kbOpts:{weight:150,kbExpr:w.focus,primary:9,secondary:[1033]}}));var Gf=class{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){let i=rF(e,this._cursors,this._trimInRegexesAndStrings);for(let o=0,n=i.length;o<n;o++){let r=i[o];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function rF(s,e,t){e.sort((a,d)=>a.lineNumber===d.lineNumber?a.column-d.column:a.lineNumber-d.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);let i=[],o=0,n=0,r=e.length;for(let a=1,d=s.getLineCount();a<=d;a++){let l=s.getLineContent(a),c=l.length+1,h=0;if(n<r&&e[n].lineNumber===a&&(h=e[n].column,n++,h===c)||l.length===0)continue;let u=Ka(l),g=0;if(u===-1)g=1;else if(u!==l.length-1)g=u+2;else continue;if(!t){if(!s.tokenization.hasAccurateTokensForLine(a))continue;let m=s.tokenization.getLineTokens(a),f=m.getStandardTokenType(m.findTokenIndexAtOffset(g));if(f===2||f===3)continue}g=Math.max(h,g),i[o++]=Ge.delete(new C(a,g,a,c))}return i}var Wh=class{constructor(e,t,i){this._selection=e,this._isCopyingDown=t,this._noop=i||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let i=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._endLineNumberDelta=1,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));let o=[];for(let r=i.startLineNumber;r<=i.endLineNumber;r++)o.push(e.getLineContent(r));let n=o.join(`
|
|
24
|
+
`);n===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new C(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
25
|
+
`):this._isCopyingDown?t.addEditOperation(new C(i.startLineNumber,1,i.startLineNumber,1),n+`
|
|
26
|
+
`):t.addEditOperation(new C(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
|
|
27
|
+
`+n),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let o=i.startLineNumber,n=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(o=o+this._startLineNumberDelta,n=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=Q.createWithDirection(o,n,r,a,this._selectionDirection)}return i}};function mi(s,e){let t=0;for(let i=0;i<s.length;i++)s.charAt(i)===" "?t+=e:t++;return t}function va(s,e,t){s=s<0?0:s;let i="";if(!t){let o=Math.floor(s/e);s=s%e;for(let n=0;n<o;n++)i+=" "}for(let o=0;o<s;o++)i+=" ";return i}var sF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},aF=function(s,e){return function(t,i){e(t,i,s)}},$f=class{constructor(e,t,i,o){this._languageConfigurationService=o,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(e,t,i){return{tokenization:{getLineTokens:o=>e.tokenization.getLineTokens(t(o)),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(o,n)=>e.getLanguageIdAtPosition(o,n)},getLineContent:o=>{let n=i?.(o);return n!==void 0?n:e.getLineContent(t(o))}}}getEditOperations(e,t){let i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){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 o=this._selection;o.startLineNumber<o.endLineNumber&&o.endColumn===1&&(this._moveEndPositionDown=!0,o=o.setEndPosition(o.endLineNumber-1,e.getLineMaxColumn(o.endLineNumber-1)));let{tabSize:n,indentSize:r,insertSpaces:a}=e.getOptions(),d=this.buildIndentConverter(n,r,a);if(o.startLineNumber===o.endLineNumber&&e.getLineMaxColumn(o.startLineNumber)===1){let l=o.startLineNumber,c=this._isMovingDown?l+1:l-1;e.getLineMaxColumn(c)===1?t.addEditOperation(new C(1,1,1,1),null):(t.addEditOperation(new C(l,1,l,1),e.getLineContent(c)),t.addEditOperation(new C(c,1,c,e.getLineMaxColumn(c)),null)),o=new Q(c,1,c,1)}else{let l,c;if(this._isMovingDown){l=o.endLineNumber+1,c=e.getLineContent(l),t.addEditOperation(new C(l-1,e.getLineMaxColumn(l-1),l,e.getLineMaxColumn(l)),null);let h=c;if(this.shouldAutoIndent(e,o)){let u=this.matchEnterRule(e,d,n,l,o.startLineNumber-1);if(u!==null){let m=vt(e.getLineContent(l)),f=u+mi(m,n);h=va(f,n,a)+this.trimStart(c)}else{let m=this.createVirtualModel(e,_=>_===o.startLineNumber?l:_),f=Ms(this._autoIndent,m,e.getLanguageIdAtPosition(l,1),o.startLineNumber,d,this._languageConfigurationService);if(f!==null){let _=vt(e.getLineContent(l)),b=mi(f,n),v=mi(_,n);b!==v&&(h=va(b,n,a)+this.trimStart(c))}}t.addEditOperation(new C(o.startLineNumber,1,o.startLineNumber,1),h+`
|
|
28
|
+
`);let g=this.matchEnterRuleMovingDown(e,d,n,o.startLineNumber,l,h);if(g!==null)g!==0&&this.getIndentEditsOfMovingBlock(e,t,o,n,a,g);else{let m=this.createVirtualModel(e,_=>_===o.startLineNumber?l:_>=o.startLineNumber+1&&_<=o.endLineNumber+1?_-1:_,_=>_===o.startLineNumber?h:void 0),f=Ms(this._autoIndent,m,e.getLanguageIdAtPosition(l,1),o.startLineNumber+1,d,this._languageConfigurationService);if(f!==null){let _=vt(e.getLineContent(o.startLineNumber)),b=mi(f,n),v=mi(_,n);if(b!==v){let y=b-v;this.getIndentEditsOfMovingBlock(e,t,o,n,a,y)}}}}else t.addEditOperation(new C(o.startLineNumber,1,o.startLineNumber,1),h+`
|
|
29
|
+
`)}else if(l=o.startLineNumber-1,c=e.getLineContent(l),t.addEditOperation(new C(l,1,l+1,1),null),t.addEditOperation(new C(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),`
|
|
30
|
+
`+c),this.shouldAutoIndent(e,o)){let h=this.createVirtualModel(e,g=>g===l?o.startLineNumber:g),u=this.matchEnterRule(e,d,n,o.startLineNumber,o.startLineNumber-2);if(u!==null)u!==0&&this.getIndentEditsOfMovingBlock(e,t,o,n,a,u);else{let g=Ms(this._autoIndent,h,e.getLanguageIdAtPosition(o.startLineNumber,1),l,d,this._languageConfigurationService);if(g!==null){let m=vt(e.getLineContent(o.startLineNumber)),f=mi(g,n),_=mi(m,n);if(f!==_){let b=f-_;this.getIndentEditsOfMovingBlock(e,t,o,n,a,b)}}}}}this._selectionId=t.trackSelection(o)}buildIndentConverter(e,t,i){return{shiftIndent:o=>qn.shiftIndent(o,o.length+1,e,t,i),unshiftIndent:o=>qn.unshiftIndent(o,o.length+1,e,t,i)}}parseEnterResult(e,t,i,o,n){if(n){let r=n.indentation;n.indentAction===pc.None||n.indentAction===pc.Indent?r=n.indentation+n.appendText:n.indentAction===pc.IndentOutdent?r=n.indentation:n.indentAction===pc.Outdent&&(r=t.unshiftIndent(n.indentation)+n.appendText);let a=e.getLineContent(o);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){let d=vt(e.getLineContent(o)),l=vt(r),c=_g(e,o,this._languageConfigurationService);c!==null&&c&2&&(l=t.unshiftIndent(l));let h=mi(l,i),u=mi(d,i);return h-u}}return null}matchEnterRuleMovingDown(e,t,i,o,n,r){if(Ka(r)>=0){let a=e.getLineMaxColumn(n),d=fg(this._autoIndent,e,new C(n,a,n,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,d)}else{let a=o-1;for(;a>=1;){let c=e.getLineContent(a);if(Ka(c)>=0)break;a--}if(a<1||o>e.getLineCount())return null;let d=e.getLineMaxColumn(a),l=fg(this._autoIndent,e,new C(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,l)}}matchEnterRule(e,t,i,o,n,r){let a=n;for(;a>=1;){let c;if(a===n&&r!==void 0?c=r:c=e.getLineContent(a),Ka(c)>=0)break;a--}if(a<1||o>e.getLineCount())return null;let d=e.getLineMaxColumn(a),l=fg(this._autoIndent,e,new C(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,o,l)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;let i=e.getLanguageIdAtPosition(t.startLineNumber,1),o=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==o||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,o,n,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){let d=e.getLineContent(a),l=vt(d),h=mi(l,o)+r,u=va(h,o,n);u!==l&&(t.addEditOperation(new C(a,1,a,l.length+1),u),a===i.endLineNumber&&i.endColumn<=l.length+1&&u===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};$f=sF([aF(3,We)],$f);var ul=class{static{this._COLLATOR=gg.Collator()}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){let i=dF(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;let o=EM(e,t,i);if(!o)return!1;for(let n=0,r=o.before.length;n<r;n++)if(o.before[n]!==o.after[n])return!0;return!1}};function EM(s,e,t){let i=e.startLineNumber,o=e.endLineNumber;if(e.endColumn===1&&o--,i>=o)return null;let n=[];for(let a=i;a<=o;a++)n.push(s.getLineContent(a));let r=n.slice(0);return r.sort(ul._COLLATOR.value.compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:o,before:n,after:r}}function dF(s,e,t){let i=EM(s,e,t);return i?Ge.replace(new C(i.startLineNumber,1,i.endLineNumber,s.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
31
|
+
`)):null}var Zf=class extends A{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;let i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>C.compareRangesUsingStarts(r.selection,a.selection));let o=i[0];for(let r=1;r<i.length;r++){let a=i[r];o.selection.endLineNumber===a.selection.startLineNumber&&(o.index<a.index?a.ignore=!0:(o.ignore=!0,o=a))}let n=[];for(let r of i)n.push(new Wh(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},Jy=class extends Zf{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:I(1315,"Copy Line Up"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"2_line",title:p(1310,"&&Copy Line Up"),order:1},canTriggerInlineEdits:!0})}},ex=class extends Zf{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:I(1316,"Copy Line Down"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"2_line",title:p(1311,"Co&&py Line Down"),order:2},canTriggerInlineEdits:!0})}},tx=class extends A{constructor(){super({id:"editor.action.duplicateSelection",label:I(1317,"Duplicate Selection"),precondition:w.writable,menuOpts:{menuId:q.MenubarSelectionMenu,group:"2_line",title:p(1312,"&&Duplicate Selection"),order:5},canTriggerInlineEdits:!0})}run(e,t,i){if(!t.hasModel())return;let o=[],n=t.getSelections(),r=t.getModel();for(let a of n)if(a.isEmpty())o.push(new Wh(a,!0));else{let d=new Q(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);o.push(new V0(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}},Yf=class extends A{constructor(e,t){super(t),this.down=e}run(e,t){let i=e.get(We),o=[],n=t.getSelections()||[],r=t.getOption(16);for(let a of n)o.push(new $f(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}},ix=class extends Yf{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:I(1318,"Move Line Up"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"2_line",title:p(1313,"Mo&&ve Line Up"),order:3},canTriggerInlineEdits:!0})}},ox=class extends Yf{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:I(1319,"Move Line Down"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"2_line",title:p(1314,"Move &&Line Down"),order:4},canTriggerInlineEdits:!0})}},Xf=class extends A{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;let i=t.getModel(),o=t.getSelections();o.length===1&&o[0].isSingleLine()&&(o=[new Q(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(let r of o)if(!ul.canRun(t.getModel(),r,this.descending))return;let n=[];for(let r=0,a=o.length;r<a;r++)n[r]=new ul(o[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},nx=class extends Xf{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:I(1320,"Sort Lines Ascending"),precondition:w.writable,canTriggerInlineEdits:!0})}},rx=class extends Xf{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:I(1321,"Sort Lines Descending"),precondition:w.writable,canTriggerInlineEdits:!0})}},sx=class extends A{constructor(){super({id:"editor.action.removeDuplicateLines",label:I(1322,"Delete Duplicate Lines"),precondition:w.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;let o=[],n=[],r=0,a=!0,d=t.getSelections();d.length===1&&d[0].isSingleLine()&&(d=[new Q(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(let l of d){let c=new Set,h=[];for(let f=l.startLineNumber;f<=l.endLineNumber;f++){let _=i.getLineContent(f);c.has(_)||(h.push(_),c.add(_))}let u=new Q(l.startLineNumber,1,l.endLineNumber,i.getLineMaxColumn(l.endLineNumber)),g=l.startLineNumber-r,m=new Q(g,1,g+h.length-1,h[h.length-1].length+1);o.push(Ge.replace(u,h.join(`
|
|
32
|
+
`))),n.push(m),r+=l.endLineNumber-l.startLineNumber+1-h.length}t.pushUndoStop(),t.executeEdits(this.id,o,a?n:void 0),t.pushUndoStop()}},ax=class extends A{constructor(){super({id:"editor.action.reverseLines",label:I(1323,"Reverse lines"),precondition:w.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let i=t.getModel(),o=t.getSelections(),n=o;n.length===1&&n[0].isSingleLine()&&(n=[new Q(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);let r=[],a=[];for(let d=0;d<n.length;d++){let l=n[d],c=o[d],h=l.endLineNumber;l.startLineNumber<l.endLineNumber&&l.endColumn===1&&h--;let u=new C(l.startLineNumber,1,h,i.getLineMaxColumn(h));h===i.getLineCount()&&i.getLineContent(u.endLineNumber)===""&&(u=u.setEndPosition(u.endLineNumber-1,i.getLineMaxColumn(u.endLineNumber-1)));let g=[];for(let b=u.endLineNumber;b>=u.startLineNumber;b--)g.push(i.getLineContent(b));let m=Ge.replace(u,g.join(`
|
|
33
|
+
`));r.push(m);let f=function(b){return b<=u.endLineNumber?u.endLineNumber-b+u.startLineNumber:b},_=function(b){if(b.isEmpty())return new Q(f(b.positionLineNumber),b.positionColumn,f(b.positionLineNumber),b.positionColumn);{let v=f(b.selectionStartLineNumber),y=f(b.positionLineNumber),L=b.selectionStartColumn,E=b.positionColumn;return new Q(v,L,y,E)}};a.push(_(c))}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}},dx=class s extends A{static{this.ID="editor.action.trimTrailingWhitespace"}constructor(){super({id:s.ID,label:I(1324,"Trim Trailing Whitespace"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2102),weight:100}})}run(e,t,i){let o=[];i.reason==="auto-save"&&(o=(t.getSelections()||[]).map(c=>new H(c.positionLineNumber,c.positionColumn)));let n=t.getSelection();if(n===null)return;let r=e.get(re),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a?.getLanguageId(),resource:a?.uri}),l=new Gf(n,o,d);t.pushUndoStop(),t.executeCommands(this.id,[l]),t.pushUndoStop()}},lx=class extends A{constructor(){super({id:"editor.action.deleteLines",label:I(1325,"Delete Line"),precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let i=this._getLinesToRemove(t),o=t.getModel();if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n=0,r=[],a=[];for(let d=0,l=i.length;d<l;d++){let c=i[d],h=c.startLineNumber,u=c.endLineNumber,g=1,m=o.getLineMaxColumn(u);u<o.getLineCount()?(u+=1,m=1):h>1&&(h-=1,g=o.getLineMaxColumn(h)),r.push(Ge.replace(new Q(h,g,u,m),"")),a.push(new Q(h-n,c.positionColumn,h-n,c.positionColumn)),n+=c.endLineNumber-c.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.revealAllCursors(!0),t.pushUndoStop()}_getLinesToRemove(e){let t=e.getSelections().map(n=>{let r=n.endLineNumber;return n.startLineNumber<n.endLineNumber&&n.endColumn===1&&(r-=1),{startLineNumber:n.startLineNumber,selectionStartColumn:n.selectionStartColumn,endLineNumber:r,positionColumn:n.positionColumn}});t.sort((n,r)=>n.startLineNumber===r.startLineNumber?n.endLineNumber-r.endLineNumber:n.startLineNumber-r.startLineNumber);let i=[],o=t[0];for(let n=1;n<t.length;n++)o.endLineNumber+1>=t[n].startLineNumber?o.endLineNumber=t[n].endLineNumber:(i.push(o),o=t[n]);return i.push(o),i}},cx=class extends A{constructor(){super({id:"editor.action.indentLines",label:I(1326,"Indent Line"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(e,t){let i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,$0.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},hx=class extends A{constructor(){super({id:"editor.action.outdentLines",label:I(1327,"Outdent Line"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(e,t){id.Outdent.runEditorCommand(e,t,null)}},zh=class s extends A{static{this.ID="editor.action.insertLineBefore"}constructor(){super({id:s.ID,label:I(1328,"Insert Line Above"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(e,t){let i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,mC.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}},Uh=class s extends A{static{this.ID="editor.action.insertLineAfter"}constructor(){super({id:s.ID,label:I(1329,"Insert Line Below"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(e,t){let i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,mC.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}},Qf=class extends A{run(e,t){if(!t.hasModel())return;let i=t.getSelection(),o=this._getRangesToDelete(t),n=[];for(let d=0,l=o.length-1;d<l;d++){let c=o[d],h=o[d+1];C.intersectRanges(c,h)===null?n.push(c):o[d+1]=C.plusRange(c,h)}n.push(o[o.length-1]);let r=this._getEndCursorState(i,n),a=n.map(d=>Ge.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}},ux=class extends Qf{constructor(){super({id:"deleteAllLeft",label:I(1330,"Delete All Left"),precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let i=null,o=[],n=0;return t.forEach(r=>{let a;if(r.endColumn===1&&n>0){let d=r.startLineNumber-n;a=new Q(d,r.startColumn,d,r.startColumn)}else a=new Q(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);n+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:o.push(a)}),i&&o.unshift(i),o}_getRangesToDelete(e){let t=e.getSelections();if(t===null)return[];let i=t,o=e.getModel();return o===null?[]:(i.sort(C.compareRangesUsingStarts),i=i.map(n=>{if(n.isEmpty())if(n.startColumn===1){let r=Math.max(1,n.startLineNumber-1),a=n.startLineNumber===1?1:o.getLineLength(r)+1;return new C(r,a,n.startLineNumber,1)}else return new C(n.startLineNumber,1,n.startLineNumber,n.startColumn);else return new C(n.startLineNumber,1,n.endLineNumber,n.endColumn)}),i)}},gx=class extends Qf{constructor(){super({id:"deleteAllRight",label:I(1331,"Delete All Right"),precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let i=null,o=[];for(let n=0,r=t.length,a=0;n<r;n++){let d=t[n],l=new Q(d.startLineNumber-a,d.startColumn,d.startLineNumber-a,d.startColumn);d.intersectRanges(e)?i=l:o.push(l)}return i&&o.unshift(i),o}_getRangesToDelete(e){let t=e.getModel();if(t===null)return[];let i=e.getSelections();if(i===null)return[];let o=i.map(n=>{if(n.isEmpty()){let r=t.getLineMaxColumn(n.startLineNumber);return n.startColumn===r?new C(n.startLineNumber,n.startColumn,n.startLineNumber+1,1):new C(n.startLineNumber,n.startColumn,n.startLineNumber,r)}return n});return o.sort(C.compareRangesUsingStarts),o}},mx=class extends A{constructor(){super({id:"editor.action.joinLines",label:I(1332,"Join Lines"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(e,t){let i=t.getSelections();if(i===null)return;let o=t.getSelection();if(o===null)return;i.sort(C.compareRangesUsingStarts);let n=[],r=i.reduce((u,g)=>u.isEmpty()?u.endLineNumber===g.startLineNumber?(o.equalsSelection(u)&&(o=g),g):g.startLineNumber>u.endLineNumber+1?(n.push(u),g):new Q(u.startLineNumber,u.startColumn,g.endLineNumber,g.endColumn):g.startLineNumber>u.endLineNumber?(n.push(u),g):new Q(u.startLineNumber,u.startColumn,g.endLineNumber,g.endColumn));n.push(r);let a=t.getModel();if(a===null)return;let d=[],l=[],c=o,h=0;for(let u=0,g=n.length;u<g;u++){let m=n[u],f=m.startLineNumber,_=1,b=0,v,y,L=a.getLineLength(m.endLineNumber)-m.endColumn;if(m.isEmpty()||m.startLineNumber===m.endLineNumber){let x=m.getStartPosition();x.lineNumber<a.getLineCount()?(v=f+1,y=a.getLineMaxColumn(v)):(v=x.lineNumber,y=a.getLineMaxColumn(x.lineNumber))}else v=m.endLineNumber,y=a.getLineMaxColumn(v);let E=a.getLineContent(f);for(let x=f+1;x<=v;x++){let T=a.getLineContent(x),N=a.getLineFirstNonWhitespaceColumn(x);if(N>=1){let F=!0;E===""&&(F=!1),F&&(E.charAt(E.length-1)===" "||E.charAt(E.length-1)===" ")&&(F=!1,E=E.replace(/[\s\uFEFF\xA0]+$/g," "));let P=T.substr(N-1);E+=(F?" ":"")+P,F?b=P.length+1:b=P.length}else b=0}let S=new C(f,_,v,y);if(!S.isEmpty()){let x;m.isEmpty()?(d.push(Ge.replace(S,E)),x=new Q(S.startLineNumber-h,E.length-b+1,f-h,E.length-b+1)):m.startLineNumber===m.endLineNumber?(d.push(Ge.replace(S,E)),x=new Q(m.startLineNumber-h,m.startColumn,m.endLineNumber-h,m.endColumn)):(d.push(Ge.replace(S,E)),x=new Q(m.startLineNumber-h,m.startColumn,m.startLineNumber-h,E.length-L)),C.intersectRanges(S,o)!==null?c=x:l.push(x)}h+=S.endLineNumber-S.startLineNumber}l.unshift(c),t.pushUndoStop(),t.executeEdits(this.id,d,l),t.pushUndoStop()}},px=class extends A{constructor(){super({id:"editor.action.transpose",label:I(1333,"Transpose Characters around the Cursor"),precondition:w.writable,canTriggerInlineEdits:!0})}run(e,t){let i=t.getSelections();if(i===null)return;let o=t.getModel();if(o===null)return;let n=[];for(let r=0,a=i.length;r<a;r++){let d=i[r];if(!d.isEmpty())continue;let l=d.getStartPosition(),c=o.getLineMaxColumn(l.lineNumber);if(l.column>=c){if(l.lineNumber===o.getLineCount())continue;let h=new C(l.lineNumber,Math.max(1,l.column-1),l.lineNumber+1,1),u=o.getValueInRange(h).split("").reverse().join("");n.push(new Kn(new Q(l.lineNumber,Math.max(1,l.column-1),l.lineNumber+1,1),u))}else{let h=new C(l.lineNumber,Math.max(1,l.column-1),l.lineNumber,l.column+1),u=o.getValueInRange(h).split("").reverse().join("");n.push(new hg(h,u,new Q(l.lineNumber,l.column+1,l.lineNumber,l.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},cr=class extends A{run(e,t){let i=t.getSelections();if(i===null)return;let o=t.getModel();if(o===null)return;let n=t.getOption(148),r=[];for(let a of i)if(a.isEmpty()){let d=a.getStartPosition(),l=t.getConfiguredWordAtPosition(d);if(!l)continue;let c=new C(d.lineNumber,l.startColumn,d.lineNumber,l.endColumn),h=o.getValueInRange(c);r.push(Ge.replace(c,this._modifyText(h,n)))}else{let d=o.getValueInRange(a);r.push(Ge.replace(a,this._modifyText(d,n)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}},fx=class extends cr{constructor(){super({id:"editor.action.transformToUppercase",label:I(1334,"Transform to Uppercase"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleUpperCase()}},_x=class extends cr{constructor(){super({id:"editor.action.transformToLowercase",label:I(1335,"Transform to Lowercase"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleLowerCase()}},oo=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}},Jf=class s extends cr{static{this.titleBoundary=new oo("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:I(1336,"Transform to Title Case"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){let i=s.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,o=>o.toLocaleUpperCase()):e}},Bh=class s extends cr{static{this.caseBoundary=new oo("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new oo("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:I(1337,"Transform to Snake Case"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){let i=s.caseBoundary.get(),o=s.singleLetters.get();return!i||!o?e:e.replace(i,"$1_$2").replace(o,"$1_$2$3").toLocaleLowerCase()}},Vh=class s extends cr{static{this.singleLineWordBoundary=new oo("[_\\s-]+","gm")}static{this.multiLineWordBoundary=new oo("[_-]+","gm")}static{this.validWordStart=new oo("^(\\p{Lu}[^\\p{Lu}])","gmu")}constructor(){super({id:"editor.action.transformToCamelcase",label:I(1338,"Transform to Camel Case"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){let i=/\r\n|\r|\n/.test(e)?s.multiLineWordBoundary.get():s.singleLineWordBoundary.get(),o=s.validWordStart.get();if(!i||!o)return e;let n=e.split(i);return n.shift()?.replace(o,a=>a.toLocaleLowerCase())+n.map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}},e_=class s extends cr{static{this.wordBoundary=new oo("[_ \\t-]","gm")}static{this.wordBoundaryToMaintain=new oo("(?<=\\.)","gm")}static{this.upperCaseWordMatcher=new oo("^\\p{Lu}+$","mu")}constructor(){super({id:"editor.action.transformToPascalcase",label:I(1339,"Transform to Pascal Case"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){let i=s.wordBoundary.get(),o=s.wordBoundaryToMaintain.get(),n=s.upperCaseWordMatcher.get();return!i||!o||!n?e:e.split(o).map(d=>d.split(i)).flat().map(d=>{let l=d.charAt(0).toLocaleUpperCase()+d.slice(1);return l.length>1&&n.test(l)?l.charAt(0)+l.slice(1).toLocaleLowerCase():l}).join("")}},t_=class s extends cr{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}static{this.caseBoundary=new oo("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new oo("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new oo("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:I(1340,"Transform to Kebab Case"),precondition:w.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){let i=s.caseBoundary.get(),o=s.singleLetters.get(),n=s.underscoreBoundary.get();return!i||!o||!n?e:e.replace(n,"$1-$3").replace(i,"$1-$2").replace(o,"$1-$2").toLocaleLowerCase()}};k(Jy);k(ex);k(tx);k(ix);k(ox);k(nx);k(rx);k(sx);k(dx);k(lx);k(cx);k(hx);k(zh);k(Uh);k(ux);k(gx);k(mx);k(px);k(fx);k(_x);k(ax);Bh.caseBoundary.isSupported()&&Bh.singleLetters.isSupported()&&k(Bh);Vh.singleLineWordBoundary.isSupported()&&Vh.multiLineWordBoundary.isSupported()&&k(Vh);e_.wordBoundary.isSupported()&&k(e_);Jf.titleBoundary.isSupported()&&k(Jf);t_.isSupported()&&k(t_);var ie={Visible:Kp,HasFocusedSuggestion:new te("suggestWidgetHasFocusedSuggestion",!1,p(1525,"Whether any suggestion is focused")),DetailsVisible:new te("suggestWidgetDetailsVisible",!1,p(1526,"Whether suggestion details are visible")),DetailsFocused:new te("suggestWidgetDetailsFocused",!1,p(1527,"Whether the details pane of the suggest widget has focus")),MultipleSuggestions:new te("suggestWidgetMultipleSuggestions",!1,p(1528,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new te("suggestionMakesTextEdit",!0,p(1529,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new te("acceptSuggestionOnEnter",!0,p(1530,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new te("suggestionHasInsertAndReplaceRange",!1,p(1531,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new te("suggestionInsertMode",void 0,{type:"string",description:p(1532,"Whether the default behaviour is to insert or replace")}),CanResolve:new te("suggestionCanResolve",!1,p(1533,"Whether the current suggestion supports to resolve further details"))},Zo=new q("suggestWidgetStatusBar"),bx=class{constructor(e,t,i,o){this.position=e,this.completion=t,this.container=i,this.provider=o,this.isInvalid=!1,this.score=Yn.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,C.isIRange(t.range)?(this.editStart=new H(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new H(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new H(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||C.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new H(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new H(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new H(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||C.spansMultipleLines(t.range.insert)||C.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 o.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){let t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new kt(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(o=>{Object.assign(this.completion,o),this._resolveDuration=i.elapsed()},o=>{oi(o)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}},Ca=class s{static{this.default=new s}constructor(e=2,t=new Set,i=new Set,o=new Map,n=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=o,this.showDeprecated=n}},vx=class{constructor(e,t,i,o){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=o}};async function jh(s,e,t,i=Ca.default,o={triggerKind:0},n=oe.None){let r=new kt;t=t.clone();let a=e.getWordAtPosition(t),d=a?new C(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):C.fromPositions(t),l={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},c=[],h=new M,u=[],g=!1,m=(_,b,v)=>{let y=!1;if(!b)return y;for(let L of b.suggestions)if(!i.kindFilter.has(L.kind)){if(!i.showDeprecated&&L?.tags?.includes(1))continue;L.range||(L.range=l),L.sortText||(L.sortText=typeof L.label=="string"?L.label:L.label.label),!g&&L.insertTextRules&&L.insertTextRules&4&&(g=Vi.guessNeedsClipboard(L.insertText)),c.push(new bx(t,L,b,_)),y=!0}return Va(b)&&h.add(b),u.push({providerName:_._debugDisplayName??"unknown_provider",elapsedProvider:b.duration??-1,elapsedOverall:v.elapsed()}),y},f=(async()=>{})();for(let _ of s.orderedGroups(e)){let b=!1;if(await Promise.all(_.map(async v=>{if(i.providerItemsToReuse.has(v)){let y=i.providerItemsToReuse.get(v);y.forEach(L=>c.push(L)),b=b||y.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(v)))try{let y=new kt,L=await v.provideCompletionItems(e,t,o,n);b=m(v,L,y)||b}catch(y){Te(y)}})),b||n.isCancellationRequested)break}return await f,n.isCancellationRequested?(h.dispose(),Promise.reject(new Aa)):new vx(c.sort(hF(i.snippetSortOrder)),g,{entries:u,elapsed:r.elapsed()},h)}function Cx(s,e){if(s.sortTextLow&&e.sortTextLow){if(s.sortTextLow<e.sortTextLow)return-1;if(s.sortTextLow>e.sortTextLow)return 1}return s.textLabel<e.textLabel?-1:s.textLabel>e.textLabel?1:s.completion.kind-e.completion.kind}function lF(s,e){if(s.completion.kind!==e.completion.kind){if(s.completion.kind===28)return-1;if(e.completion.kind===28)return 1}return Cx(s,e)}function cF(s,e){if(s.completion.kind!==e.completion.kind){if(s.completion.kind===28)return 1;if(e.completion.kind===28)return-1}return Cx(s,e)}var i_=new Map;i_.set(0,lF);i_.set(2,cF);i_.set(1,Cx);function hF(s){return i_.get(s)}ve.registerCommand("_executeCompletionItemProvider",async(s,...e)=>{let[t,i,o,n]=e;_e(ge.isUri(t)),_e(H.isIPosition(i)),_e(typeof o=="string"||!o),_e(typeof n=="number"||!n);let{completionProvider:r}=s.get(V),a=await s.get(St).createModelReference(t);try{let d={incomplete:!1,suggestions:[]},l=[],c=a.object.textEditorModel.validatePosition(i),h=await jh(r,a.object.textEditorModel,c,void 0,{triggerCharacter:o??void 0,triggerKind:o?1:0});for(let u of h.items)l.length<(n??0)&&l.push(u.resolve(oe.None)),d.incomplete=d.incomplete||u.container.incomplete,d.suggestions.push(u.completion);try{return await Promise.all(l),d}finally{setTimeout(()=>h.disposable.dispose(),100)}}finally{a.dispose()}});function DM(s,e){s.getContribution("editor.contrib.suggestController")?.triggerSuggest(new Set().add(e),void 0,!0)}var Nn=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}}};function Sx(s,e=Wa){return D0(s,e)?s.charAt(0).toUpperCase()+s.slice(1):s}var uF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gF=function(s,e){return function(t,i){e(t,i,s)}},Kh=class{constructor(e){this._delegates=e}resolve(e){for(let t of this._delegates){let i=t.resolve(e);if(i!==void 0)return i}}},qh=class{constructor(e,t,i,o){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=o}resolve(e){let{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,o=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){let n=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);n&&(i=n.value,o=n.multiline)}if(i&&o&&e.snippet){let n=this._model.getLineContent(this._selection.startLineNumber),r=vt(n,0,this._selection.startColumn-1),a=r;e.snippet.walk(l=>l===e?!1:(l instanceof jt&&(a=vt(bi(l.value).pop())),!0));let d=Fo(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(l,c,h)=>`${c}${a.substr(d)}${h}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){let i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{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)}}}},Gh=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){let{name:t}=e;if(t==="TM_FILENAME")return Is(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){let i=Is(this._model.uri.fsPath),o=i.lastIndexOf(".");return o<=0?i:i.slice(0,o)}else{if(t==="TM_DIRECTORY")return rg(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Ya(this._model.uri));if(t==="TM_DIRECTORY_BASE")return rg(this._model.uri.fsPath)==="."?"":Is(rg(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})}}},$h=class{constructor(e,t,i,o){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=o}resolve(e){if(e.name!=="CLIPBOARD")return;let t=this._readClipboardText();if(t){if(this._spread){let i=t.split(/\r\n|\n|\r/).filter(o=>!RD(o));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}},Zh=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){let{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),o=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(o){if(t==="LINE_COMMENT")return o.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return o.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return o.blockCommentEndToken||void 0}}};Zh=uF([gF(2,We)],Zh);var Yh=class s{constructor(){this._date=new Date}static{this.dayNames=[p(1476,"Sunday"),p(1477,"Monday"),p(1478,"Tuesday"),p(1479,"Wednesday"),p(1480,"Thursday"),p(1481,"Friday"),p(1482,"Saturday")]}static{this.dayNamesShort=[p(1483,"Sun"),p(1484,"Mon"),p(1485,"Tue"),p(1486,"Wed"),p(1487,"Thu"),p(1488,"Fri"),p(1489,"Sat")]}static{this.monthNames=[p(1490,"January"),p(1491,"February"),p(1492,"March"),p(1493,"April"),p(1494,"May"),p(1495,"June"),p(1496,"July"),p(1497,"August"),p(1498,"September"),p(1499,"October"),p(1500,"November"),p(1501,"December")]}static{this.monthNamesShort=[p(1502,"Jan"),p(1503,"Feb"),p(1504,"Mar"),p(1505,"Apr"),p(1506,"May"),p(1507,"Jun"),p(1508,"Jul"),p(1509,"Aug"),p(1510,"Sep"),p(1511,"Oct"),p(1512,"Nov"),p(1513,"Dec")]}resolve(e){let{name:t}=e;switch(t){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 s.dayNames[this._date.getDay()];case"CURRENT_DAY_NAME_SHORT":return s.dayNamesShort[this._date.getDay()];case"CURRENT_MONTH_NAME":return s.monthNames[this._date.getMonth()];case"CURRENT_MONTH_NAME_SHORT":return s.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 i=this._date.getTimezoneOffset(),o=i>0?"-":"+",n=Math.trunc(Math.abs(i/60)),r=n<10?"0"+n:n,a=Math.abs(i)-n*60,d=a<10?"0"+a:a;return o+r+":"+d}case"CURRENT_TIMEZONE_NAME":return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}}},Xh=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;let t=$R(this._workspaceService.getWorkspace());if(!GR(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(UC(e))return Is(e.uri.path);let t=Is(e.configPath.path);return t.endsWith(jC)&&(t=t.substr(0,t.length-jC.length-1)),t}_resoveWorkspacePath(e){if(UC(e))return Sx(e.uri.fsPath);let t=Is(e.configPath.path),i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?Sx(i):"/"}},Qh=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 pd()}};var mF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},pF=function(s,e){return function(t,i){e(t,i,s)}},Yo,o_=class s{static{this._decor={active:ee.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ee.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ee.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ee.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=nC(t.placeholders,Qi.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 new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;let e=this._editor.getModel();this._editor.changeDecorations(t=>{for(let i of this._snippet.placeholders){let o=this._snippet.offset(i),n=this._snippet.fullLen(i),r=C.fromPositions(e.getPositionAt(this._offset+o),e.getPositionAt(this._offset+o+n)),a=i.isFinalTabstop?s._decor.inactiveFinal:s._decor.inactive,d=t.addDecoration(r,a);this._placeholderDecorations.set(i,d)}})}move(e){if(!this._editor.hasModel())return[];this._initDecorations();let t=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let n=[];for(let r of this._placeholderGroups[this._placeholderGroupsIdx])if(r.transform){let a=this._placeholderDecorations.get(r),d=a?t.getDecorationRange(a):null;if(d){let l=t.getValueInRange(d),c=r.transform.resolve(l).split(/\r\n|\r|\n/);for(let h=1;h<c.length;h++)c[h]=t.normalizeIndentation(this._snippetLineLeadingWhitespace+c[h]);n.push(Ge.replace(d,c.join(t.getEOL())))}}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let i=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,i=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,i=!0);let o=t.changeDecorations(n=>{let r=new Set,a=[];for(let d of this._placeholderGroups[this._placeholderGroupsIdx]){let l=this._placeholderDecorations.get(d),c=l?t.getDecorationRange(l):null;if(i=i&&this._hasPlaceholderBeenCollapsed(d),!(!l||!c)){a.push(new Q(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)),n.changeDecorationOptions(l,d.isFinalTabstop?s._decor.activeFinal:s._decor.active),r.add(d);for(let h of this._snippet.enclosingPlaceholders(d)){let u=this._placeholderDecorations.get(h);u&&(n.changeDecorationOptions(u,h.isFinalTabstop?s._decor.activeFinal:s._decor.active),r.add(h))}}}for(let[d,l]of this._placeholderDecorations)r.has(d)||n.changeDecorationOptions(l,d.isFinalTabstop?s._decor.inactiveFinal:s._decor.inactive);return a});return i?this.move(e):o??[]}_hasPlaceholderBeenCollapsed(e){let t=this._editor.getModel(),i=e;for(;i;){if(i instanceof Qi){let o=this._placeholderDecorations.get(i),n=o?t.getDecorationRange(o):null;if((!n||n.isEmpty())&&i.toString().length>0)return!0}i=i.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 i;for(let o of t){if(o.isFinalTabstop)break;i||(i=[],e.set(o.index,i));let n=this._placeholderDecorations.get(o),r=this._editor.getModel().getDecorationRange(n);if(!r){e.delete(o.index);break}i.push(r)}}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 i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof $s,!e)),e}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(e){let t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(let o of this._placeholderGroups[this._placeholderGroupsIdx]){let n=e.shift();console.assert(n._offset!==-1),console.assert(!n._placeholderDecorations);let r=n._snippet.placeholderInfo.last.index;for(let d of n._snippet.placeholderInfo.all)d.isFinalTabstop?d.index=o.index+(r+1)/this._nestingLevel:d.index=o.index+d.index/this._nestingLevel;this._snippet.replace(o,n._snippet.children);let a=this._placeholderDecorations.get(o);i.removeDecoration(a),this._placeholderDecorations.delete(o);for(let d of n._snippet.placeholders){let l=n._snippet.offset(d),c=n._snippet.fullLen(d),h=C.fromPositions(t.getPositionAt(n._offset+l),t.getPositionAt(n._offset+l+c)),u=i.addDecoration(h,s._decor.inactive);this._placeholderDecorations.set(d,u)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=nC(this._snippet.placeholders,Qi.compareByIndex)})}_renormalizePlaceholderIndices(){let e=this._snippet.placeholders,t=new Set;for(let n of e)n.isFinalTabstop||t.add(n.index);let i=[...t].sort((n,r)=>n-r),o=new Map;for(let n=0;n<i.length;n++)o.set(i[n],n+1);for(let n of e)n.isFinalTabstop||(n.index=o.get(n.index));this._nestingLevel=1}},kM={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},gl=Yo=class{static adjustWhitespace(e,t,i,o,n){let r=e.getLineContent(t.lineNumber),a=vt(r,0,t.column-1),d;return o.walk(l=>{if(!(l instanceof jt)||l.parent instanceof $s||n&&!n.has(l))return!0;let c=l.value.split(/\r\n|\r|\n/);if(i){let u=o.offset(l);if(u===0)c[0]=e.normalizeIndentation(c[0]);else{d=d??o.toString();let g=d.charCodeAt(u-1);(g===10||g===13)&&(c[0]=e.normalizeIndentation(a+c[0]))}for(let g=1;g<c.length;g++)c[g]=e.normalizeIndentation(a+c[g])}let h=c.join(e.getEOL());return h!==l.value&&(l.parent.replace(l,[new jt(h)]),d=void 0),!0}),a}static adjustSelection(e,t,i,o){if(i!==0||o!==0){let{positionLineNumber:n,positionColumn:r}=t,a=r-i,d=r+o,l=e.validateRange({startLineNumber:n,startColumn:a,endLineNumber:n,endColumn:d});t=Q.createWithDirection(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,o,n,r,a,d,l){let c=[],h=[];if(!e.hasModel())return{edits:c,snippets:h};let u=e.getModel(),g=e.invokeWithinContext(L=>L.get(Eo)),m=e.invokeWithinContext(L=>new Gh(L.get(Cn),u)),f=()=>a,_=u.getValueInRange(Yo.adjustSelection(u,e.getSelection(),i,0)),b=u.getValueInRange(Yo.adjustSelection(u,e.getSelection(),0,o)),v=u.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),y=e.getSelections().map((L,E)=>({selection:L,idx:E})).sort((L,E)=>C.compareRangesUsingStarts(L.selection,E.selection));for(let{selection:L,idx:E}of y){let S=Yo.adjustSelection(u,L,i,0),x=Yo.adjustSelection(u,L,0,o);_!==u.getValueInRange(S)&&(S=L),b!==u.getValueInRange(x)&&(x=L);let T=L.setStartPosition(S.startLineNumber,S.startColumn).setEndPosition(x.endLineNumber,x.endColumn),N=new Vi().parse(t,!0,n),F=T.getStartPosition(),P=Yo.adjustWhitespace(u,F,r||E>0&&v!==u.getLineFirstNonWhitespaceColumn(L.positionLineNumber),N);N.resolveVariables(new Kh([m,new $h(f,E,y.length,e.getOption(88)==="spread"),new qh(u,L,E,d),new Zh(u,L,l),new Yh,new Xh(g),new Qh])),c[E]=Ge.replace(T,N.toString()),c[E].identifier={major:E,minor:0},c[E]._isTracked=!0,h[E]=new o_(e,N,P)}return{edits:c,snippets:h}}static createEditsAndSnippetsFromEdits(e,t,i,o,n,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};let d=[],l=e.getModel(),c=new Vi,h=new Rd,u=e.invokeWithinContext(L=>new Gh(L.get(Cn),l)),g=new Yh,m=new Xh(e.invokeWithinContext(L=>L.get(Eo))),f=new Qh,_=()=>n,b=e.getOption(88)==="spread",v=t.map((L,E)=>({edit:L,idx:E})).sort((L,E)=>C.compareRangesUsingStarts(L.edit.range,E.edit.range)),y=0;for(let L=0;L<v.length;L++){let{edit:{range:E,template:S,keepWhitespace:x},idx:T}=v[L];if(L>0){let ye=v[L-1].edit.range,Pe=C.fromPositions(ye.getEndPosition(),E.getStartPosition()),we=new jt(l.getValueInRange(Pe));h.appendChild(we),y+=we.value.length}let N=new Set;h.walk(ye=>(ye instanceof Br&&N.add(ye),!0));let F=c.parseFragment(S,h);Yo.adjustWhitespace(l,E.getStartPosition(),x!==void 0?!x:o,h,new Set(F));let P=Q.fromRange(E,0),Y=new Kh([u,new $h(_,T,v.length,b),new qh(l,P,T,r),new Zh(l,P,a),g,m,f]);h.walk(ye=>(ye instanceof Br&&!N.has(ye)&&ye.resolve(Y),!0));let le=h.toString(),de=le.slice(y);y=le.length;let Ee=Ge.replace(E,de);Ee.identifier={major:L,minor:0},Ee._isTracked=!0,d.push(Ee)}return c.ensureFinalTabstop(h,i,!0),{edits:d,snippets:[new o_(e,h,"")]}}constructor(e,t,i=kM,o){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=o,this._templateMerges=[],this._snippets=[]}dispose(){ft(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(e){if(!this._editor.hasModel())return;let{edits:t,snippets:i}=typeof this._template=="string"?Yo.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Yo.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits(e??uo.snippet(),t,o=>{let n=o.filter(r=>!!r.identifier);for(let r=0;r<i.length;r++)i[r].initialize(n[r].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(r=>Q.fromPositions(r.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=kM){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);let{edits:i,snippets:o}=Yo.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,n=>{let r=n.filter(l=>!!l.identifier);for(let l=0;l<o.length;l++)o[l].initialize(r[l].textChange);let a=o[0].isTrivialSnippet,d=o.length===this._snippets.reduce((l,c)=>l+c.activePlaceholderCount,0);if(!a&&d){for(let l of this._snippets)l.merge(o);console.assert(o.length===0)}return this._snippets[0].hasPlaceholder&&!a&&d?this._move(void 0):r.map(l=>Q.fromPositions(l.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 i of this._snippets){let o=i.move(e);t.push(...o)}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 i of this._snippets){let o=i.computePossibleSelections();if(t.size===0)for(let[n,r]of o){r.sort(C.compareRangesUsingStarts);for(let a of e)if(r[0].containsRange(a)){t.set(n,[]);break}}if(t.size===0)return!1;t.forEach((n,r)=>{n.push(...o.get(r))})}e.sort(C.compareRangesUsingStarts);for(let[i,o]of t){if(o.length!==e.length){t.delete(i);continue}o.sort(C.compareRangesUsingStarts);for(let n=0;n<o.length;n++)if(!o[n].containsRange(e[n])){t.delete(i);continue}}return t.size>0}};gl=Yo=mF([pF(3,We)],gl);var fF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},n_=function(s,e){return function(t,i){e(t,i,s)}},Sa,RM={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},Dt=class{static{Sa=this}static{this.ID="snippetController2"}static get(e){return e.getContribution(Sa.ID)}static{this.InSnippetMode=new te("inSnippetMode",!1,p(1471,"Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new te("hasNextTabstop",!1,p(1472,"Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new te("hasPrevTabstop",!1,p(1473,"Whether there is a previous tab stop when in snippet mode"))}static{this.InSnippetChoice=new te("inSnippetChoice",!1,p(1474,"Whether the current snippet tab stop is a choice"))}constructor(e,t,i,o,n){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=n,this._inSnippetObservable=be(this,!1),this._snippetListener=new M,this._modelVersionId=-1,this._inSnippet=Sa.InSnippetMode.bindTo(o),this._hasNextTabstop=Sa.HasNextTabstop.bindTo(o),this._hasPrevTabstop=Sa.HasPrevTabstop.bindTo(o),this._inSnippetChoice=Sa.InSnippetChoice.bindTo(o)}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,typeof t>"u"?RM:{...RM,...t})}catch(i){this.cancel(),this._logService.error(i),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?(_e(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new gl(this._editor,e,t,this._languageConfigurationService),this._session.insert(t.reason)),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){let i={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(l,c)=>{if(!this._session||l!==this._editor.getModel()||!H.equals(this._editor.getPosition(),c))return;let{activeChoice:h}=this._session;if(!h||h.choice.options.length===0)return;let u=l.getValueInRange(h.range),g=!!h.choice.options.find(f=>f.value===u),m=[];for(let f=0;f<h.choice.options.length;f++){let _=h.choice.options[f];m.push({kind:13,label:_.value,insertText:_.value,sortText:"a".repeat(f+1),range:h.range,filterText:g?`${u}_${_.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:p(1475,"Go to next placeholder...")}})}return{suggestions:m}}},o=this._editor.getModel(),n,r=!1,a=()=>{n?.dispose(),r=!1},d=()=>{r||(n=this._languageFeaturesService.completionProvider.register({language:o.getLanguageId(),pattern:o.uri.fsPath,scheme:o.uri.scheme,exclusive:!0},i),this._snippetListener.add(n),r=!0)};this._choiceCompletions={provider:i,enable:d,disable:a}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(i=>i.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())return this.cancel();if(!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(()=>{DM(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}};Dt=Sa=fF([n_(1,gt),n_(2,V),n_(3,J),n_(4,We)],Dt);$(Dt.ID,Dt,4);var r_=at.bindToContribution(Dt.get);X(new r_({id:"jumpToNextSnippetPlaceholder",precondition:O.and(Dt.InSnippetMode,Dt.HasNextTabstop),handler:s=>s.next(),kbOpts:{weight:130,kbExpr:w.textInputFocus,primary:2}}));X(new r_({id:"jumpToPrevSnippetPlaceholder",precondition:O.and(Dt.InSnippetMode,Dt.HasPrevTabstop),handler:s=>s.prev(),kbOpts:{weight:130,kbExpr:w.textInputFocus,primary:1026}}));Jt.registerKeybindingRule({id:"jumpToPrevSnippetPlaceholder",weight:191,when:O.and(Dt.InSnippetMode,Dt.HasPrevTabstop,Dt.InSnippetChoice,w.textInputFocus),primary:1026});X(new r_({id:"leaveSnippet",precondition:Dt.InSnippetMode,handler:s=>s.cancel(!0),kbOpts:{weight:130,kbExpr:w.textInputFocus,primary:9,secondary:[1033]}}));X(new r_({id:"acceptSnippet",precondition:Dt.InSnippetMode,handler:s=>s.finish()}));var _F=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},s_=function(s,e){return function(t,i){e(t,i,s)}},wa=new te("renameInputVisible",!1,p(1460,"Whether the rename input widget is visible"));new te("renameInputFocused",!1,p(1461,"Whether the rename input widget is focused"));var a_=class{constructor(e,t,i,o,n,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=o,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new M,this._visibleContextKey=wa.bindTo(n),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new kt,this._inputWithButton=new yx,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(59)&&this._updateFont()})),this._disposables.add(i.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 wx(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(Ok),i=e.getColor(Ak);this._domNode.style.backgroundColor=String(e.getColor(cd)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(Hk)??"");let o=e.getColor(Wk);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(LC)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(LC)??""),this._inputWithButton.domNode.style.borderWidth=o?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=o?"solid":"none",this._inputWithButton.domNode.style.borderColor=o?.toString()??"none"}_updateFont(){if(this._domNode===void 0)return;_e(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=rn(this.getDomNode().ownerDocument.body),t=tt(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;let o=this._editor.getOption(75),{totalHeight:n}=Jh.getLayoutInfo({lineHeight:o}),r=this._nPxAvailableBelow>n*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){let[e,t]=this._acceptKeybindings;return this._label.innerText=p(1462,"{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;_e(this._renameCandidateListView),_e(this._nPxAvailableAbove!==void 0),_e(this._nPxAvailableBelow!==void 0);let t=xr(this._inputWithButton.domNode),i=xr(this._label),o;e===2?o=this._nPxAvailableBelow:o=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:o-i-t,width:Pi(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,i,o,n){let{start:r,end:a}=this._getSelection(e,t);this._renameCts=n;let d=new M;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,o===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=o,this._requestRenameCandidates(t,!1),d.add(Z(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(Z(this._inputWithButton.button,me.KEY_DOWN,c=>{let h=new wr(c);(h.equals(3)||h.equals(10))&&(h.stopPropagation(),h.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new H(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),d.add(ce(()=>{this._renameCts=void 0,n.dispose(!0)})),d.add(ce(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(ce(()=>this._candidates.clear()));let l=new za;return l.p.finally(()=>{d.dispose(),this._hide()}),this._currentCancelInput=c=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),l.complete(c),!0),this._currentAcceptInput=c=>{this._trace("invoking _currentAcceptInput"),_e(this._renameCandidateListView!==void 0);let h=this._renameCandidateListView.nCandidates,u,g,m=this._renameCandidateListView.focusedCandidate;if(m!==void 0?(this._trace("using new name from renameSuggestion"),u=m,g={k:"renameSuggestion"}):(this._trace("using new name from inputField"),u=this._inputWithButton.input.value,g=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),u===t||u.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(),l.complete({newName:u,wantsPreview:i&&c,stats:{source:g,nRenameSuggestions:h,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},d.add(n.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),d.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget"))),this._show(),l.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),_e(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Oe;let i=t?_c.Invoke:_c.Automatic,o=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(o.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(o,e,this._renameCts.token)}}_getSelection(e,t){_e(this._editor.hasModel());let i=this._editor.getSelection(),o=0,n=t.length;return!C.isEmpty(i)&&!C.spansMultipleLines(i)&&C.containsRange(e,i)&&(o=Math.max(0,i.startColumn-e.startColumn),n=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:o,end:n}}_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,i){let o=(...l)=>this._trace("_updateRenameCandidates",...l);o("start");let n=await Ao(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),n===void 0){o("returning early - received updateRenameCandidates results - undefined");return}let r=n.flatMap(l=>l.status==="fulfilled"&&lo(l.value)?l.value:[]);o(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);let a=zD(r,l=>l.newSymbolName);o(`distinct candidates - ${a.length} candidates.`);let d=a.filter(({newSymbolName:l})=>l.trim().length>0&&l!==this._inputWithButton.input.value&&l!==t&&!this._candidates.has(l));if(o(`valid distinct candidates - ${r.length} candidates.`),d.forEach(l=>this._candidates.add(l.newSymbolName)),d.length<1){o("returning early - no valid distinct candidates");return}o("setting candidates"),this._renameCandidateListView.setCandidates(d),o("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)}};a_=_F([s_(2,Ke),s_(3,he),s_(4,J),s_(5,gt)],a_);var wx=class s{constructor(e,t){this._disposables=new M,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=s._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._disposables.add(this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables)),this._disposables.add(this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables)),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(Xg({listInactiveFocusForeground:xc,listInactiveFocusBackground:Ic}))}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),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,Oi(p(1463,"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 t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;let e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();let t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();let t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){let{totalHeight:e}=Jh.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(o=>o.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){let o=new class{getTemplateId(r){return"candidate"}getHeight(r){return t}},n=new class{constructor(){this.templateId="candidate"}renderTemplate(r){return new Jh(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new yd("NewSymbolNameCandidates",e,o,[n],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}},yx=class{constructor(){this._buttonHoverContent="",this._disposables=new M,this._onDidInputChange=this._disposables.add(new z),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",p(1464,"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=p(1465,"Generate New Name Suggestions"),this._buttonCancelHoverText=p(1466,"Cancel"),this._buttonHoverContent=this._buttonGenHoverText,this._disposables.add($g().setupDelayedHover(this._buttonNode,()=>({content:this._buttonHoverContent,style:1}))),this._domNode.appendChild(this._buttonNode),this._disposables.add(Z(this.input,me.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Z(this.input,me.KEY_DOWN,e=>{let t=new wr(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Z(this.input,me.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Z(this.input,me.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(Z(this.input,me.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return _e(this._inputNode),this._inputNode}get button(){return _e(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=Bi(B.sparkle),Vt(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??=Bi(B.stopCircle),Vt(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()}},Jh=class s{static{this._PADDING=2}constructor(e,t){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=`${t.lineHeight}px`,this._domNode.style.padding=`${s._PADDING}px`;let i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=Bi(B.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),xg(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){let t=!!e.tags?.includes(J0.AIGenerated);this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+s._PADDING*2}}dispose(){}};var bF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ya=function(s,e){return function(t,i){e(t,i,s)}},xx,ml=class{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.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 o=this._providers[this._providerRenameIdx];if(!o.resolveRenameLocation)break;let n=await o.resolveRenameLocation(this.model,this.position,e);if(n){if(n.rejectReason){t.push(n.rejectReason);continue}return n}}this._providerRenameIdx=0;let i=this.model.getWordAtPosition(this.position);return i?{range:new C(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
34
|
+
`):void 0}:{range:C.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
|
|
35
|
+
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,o){let n=this._providers[t];if(!n)return{edits:[],rejectReason:i.join(`
|
|
36
|
+
`)};let r=await n.provideRenameEdits(this.model,this.position,e,o);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),o)}else return this._provideRenameEdits(e,t+1,i.concat(p(1449,"No result.")),o);return r}};function TM(s,e){return s.ordered(e).length>0}async function MM(s,e,t,i,o){return new ml(e,t,s).provideRenameEdits(i,o??oe.None)}async function vF(s,e,t,i){let o=new ml(e,t,s),n=await o.resolveRenameLocation(oe.None);return n?.rejectReason?{edits:[],rejectReason:n.rejectReason}:o.provideRenameEdits(i,oe.None)}var es=class{static{xx=this}static{this.ID="editor.contrib.renameController"}static get(e){return e.getContribution(xx.ID)}constructor(e,t,i,o,n,r,a,d){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=o,this._progressService=n,this._logService=r,this._configService=a,this._languageFeaturesService=d,this._disposableStore=new M,this._cts=new Oe,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(a_,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 Oe,!this.editor.hasModel()){e("editor has no model");return}let t=this.editor.getPosition(),i=new ml(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}let o=new Lo(this.editor,5,void 0,this._cts.token),n;try{e("resolving rename location");let m=i.resolveRenameLocation(o.token);this._progressService.showWhile(m,250),n=await m,e("resolved rename location")}catch(m){m instanceof Aa?e("resolve rename location cancelled",JSON.stringify(m,null," ")):(e("resolve rename location failed",m instanceof Error?m:JSON.stringify(m,null," ")),(typeof m=="string"||Bs(m))&&Ut.get(this.editor)?.showMessage(m||p(1450,"An unknown error occurred while resolving rename location"),t));return}finally{o.dispose()}if(!n){e("returning early - no loc");return}if(n.rejectReason){e(`returning early - rejected with reason: ${n.rejectReason}`,n.rejectReason),Ut.get(this.editor)?.showMessage(n.rejectReason,t);return}if(o.token.isCancellationRequested){e("returning early - cts1 cancelled");return}let r=new Lo(this.editor,5,n.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a),l=await Promise.all(d.map(async m=>[m,await m.supportsAutomaticNewSymbolNamesTriggerKind??!1])),c=(m,f)=>{let _=l.slice();return m===_c.Automatic&&(_=_.filter(([b,v])=>v)),_.map(([b])=>b.provideNewSymbolNames(a,n.range,m,f))};e("creating rename input field and awaiting its result");let h=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameWidget.getInput(n.range,n.text,h,d.length>0?c:void 0,r);if(e("received response from rename input field"),typeof u=="boolean"){e(`returning early - rename input field response - ${u}`),u&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");let g=Ao(i.provideRenameEdits(u.newName,r.token),r.token).then(async m=>{if(!m){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(m.rejectReason){e(`returning early - rejected with reason: ${m.rejectReason}`),this._notificationService.info(m.rejectReason);return}this.editor.setSelection(C.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(m,{editor:this.editor,showPreview:u.wantsPreview,label:p(1451,"Renaming '{0}' to '{1}'",n?.text,u.newName),code:"undoredo.rename",quotableLabel:p(1452,"Renaming {0} to {1}",n?.text,u.newName),respectAutoSaveConfig:!0,reason:uo.rename(n?.text,u.newName)}).then(f=>{e("edits applied"),f.ariaSummary&&xt(p(1453,"Successfully renamed '{0}' to '{1}'. Summary: {2}",n.text,u.newName,f.ariaSummary))}).catch(f=>{e(`error when applying edits ${JSON.stringify(f,null," ")}`),this._notificationService.error(p(1454,"Rename failed to apply edits")),this._logService.error(f)})},m=>{e("error when providing rename edits",JSON.stringify(m,null," ")),this._notificationService.error(p(1455,"Rename failed to compute edits")),this._logService.error(m)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(g,250),g}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}};es=xx=bF([ya(1,j),ya(2,Je),ya(3,bn),ya(4,pn),ya(5,gt),ya(6,lk),ya(7,V)],es);var Ix=class extends A{constructor(){super({id:"editor.action.rename",label:I(1457,"Rename Symbol"),precondition:O.and(w.writable,w.hasRenameProvider),kbOpts:{kbExpr:w.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1},canTriggerInlineEdits:!0})}runCommand(e,t){let i=e.get(Re),[o,n]=Array.isArray(t)&&t||[void 0,void 0];return ge.isUri(o)&&H.isIPosition(n)?i.openCodeEditor({resource:o},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(n),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},ae):super.runCommand(e,t)}run(e,t){let i=e.get(gt),o=es.get(t);return o?(i.trace("[RenameAction] got controller, running..."),o.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}};$(es.ID,es,4);k(Ix);var Lx=at.bindToContribution(es.get);X(new Lx({id:"acceptRenameInput",precondition:wa,handler:s=>s.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:w.focus,primary:3}}));X(new Lx({id:"acceptRenameInputWithPreview",precondition:O.and(wa,O.has("config.editor.rename.enablePreview")),handler:s=>s.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:w.focus,primary:2051}}));X(new Lx({id:"cancelRenameInput",precondition:wa,handler:s=>s.cancelRenameInput(),kbOpts:{weight:199,kbExpr:w.focus,primary:9,secondary:[1033]}}));pe(class extends ht{constructor(){super({id:"focusNextRenameSuggestion",title:{...I(1458,"Focus Next Rename Suggestion")},precondition:wa,keybinding:[{primary:18,weight:199}]})}run(e){let t=e.get(Re).getFocusedCodeEditor();if(!t)return;let i=es.get(t);i&&i.focusNextRenameSuggestion()}});pe(class extends ht{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...I(1459,"Focus Previous Rename Suggestion")},precondition:wa,keybinding:[{primary:16,weight:199}]})}run(e){let t=e.get(Re).getFocusedCodeEditor();if(!t)return;let i=es.get(t);i&&i.focusPreviousRenameSuggestion()}});Wt("_executeDocumentRenameProvider",function(s,e,t,...i){let[o]=i;_e(typeof o=="string");let{renameProvider:n}=s.get(V);return vF(n,e,t,o)});Wt("_executePrepareRename",async function(s,e,t){let{renameProvider:i}=s.get(V),n=await new ml(e,t,i).resolveRenameLocation(oe.None);if(n?.rejectReason)throw new Error(n.rejectReason);return n});hi.as(ed.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:6,description:p(1456,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var CF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},NM=function(s,e){return function(t,i){e(t,i,s)}},eu,tu=class{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;let o=i[0].score[0];for(let n=0;n<i.length;n++){let{score:r,completion:a}=i[n];if(r[0]!==o)break;if(a.preselect)return n}return 0}},d_=class extends tu{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}},Ex=class extends tu{constructor(){super("recentlyUsed"),this._cache=new dn(300,.66),this._seq=0}memorize(e,t,i){let o=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(o,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;let o=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(o))return super.select(e,t,i);let n=i[0].score[0],r=-1,a=-1,d=-1;for(let l=0;l<i.length&&i[l].score[0]===n;l++){let c=`${e.getLanguageId()}/${i[l].textLabel}`,h=this._cache.peek(c);if(h&&h.touch>d&&h.type===i[l].completion.kind&&h.insertText===i[l].completion.insertText&&(d=h.touch,a=l),i[l].completion.preselect&&r===-1)return r=l}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();let t=0;for(let[i,o]of e)o.touch=t,o.type=typeof o.type=="number"?o.type:Ns.fromString(o.type),this._cache.set(i,o);this._seq=this._cache.size}},Dx=class extends tu{constructor(){super("recentlyUsedByPrefix"),this._trie=qR.forStrings(),this._seq=0}memorize(e,t,i){let{word:o}=e.getWordUntilPosition(t),n=`${e.getLanguageId()}/${o}`;this._trie.set(n,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){let{word:o}=e.getWordUntilPosition(t);if(!o)return super.select(e,t,i);let n=`${e.getLanguageId()}/${o}`,r=this._trie.get(n);if(r||(r=this._trie.findSubstr(n)),r)for(let a=0;a<i.length;a++){let{kind:d,insertText:l}=i[a].completion;if(d===r.type&&l===r.insertText)return a}return super.select(e,t,i)}toJSON(){let e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(let[t,i]of e)i.type=typeof i.type=="number"?i.type:Ns.fromString(i.type),this._trie.set(t,i)}}},kx=class{static{eu=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",Dx],["recentlyUsed",Ex],["first",d_]])}static{this._storagePrefix="suggest/memories"}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new M,this._persistSoon=new Ae(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===xd.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){let i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==i){this._saveState();let o=eu._strategyCtors.get(i)||d_;this._strategy=new o;try{let r=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,a=this._storageService.get(`${eu._storagePrefix}/${i}`,r);a&&this._strategy.fromJSON(JSON.parse(a))}catch{}}return this._strategy}_saveState(){if(this._strategy){let t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${eu._storagePrefix}/${this._strategy.name}`,i,t,1)}}};kx=eu=CF([NM(0,Tt),NM(1,re)],kx);var pl=zt("ISuggestMemories");ai(pl,kx,1);var SF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},wF=function(s,e){return function(t,i){e(t,i,s)}},Rx,iu=class{static{Rx=this}static{this.AtEnd=new te("atEndOfWord",!1,{type:"boolean",description:p(1568,"A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled")})}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=Rx.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.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 t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let i=this._editor.getModel(),o=this._editor.getSelection(),n=i.getWordAtPosition(o.getStartPosition());if(!n){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(n.endColumn===o.getStartPosition().column&&o.getStartPosition().lineNumber===o.getEndPosition().lineNumber)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};iu=Rx=SF([wF(1,J)],iu);var yF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},xF=function(s,e){return function(t,i){e(t,i,s)}},ou,xa=class{static{ou=this}static{this.OtherSuggestions=new te("hasOtherSuggestions",!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=ou.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},i){if(e.items.length===0){this.reset();return}if(ou._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let o=i;for(let n=t.items.length;n>0&&(o=(o+t.items.length+(e?1:-1))%t.items.length,!(o===i||!t.items[o].completion.additionalTextEdits));n--);return o}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=ou._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};xa=ou=yF([xF(1,J)],xa);var l_=class{constructor(e,t,i,o){this._disposables=new M,this._disposables.add(i.onDidSuggest(n=>{n.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(n=>{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(n=>{if(this._active&&!t.isFrozen()&&i.state!==0){let r=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(r)&&e.getOption(0)&&o(this._active.item)}}))}_onItem(e){if(!e||!wt(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;let t=new Ts;for(let i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}};var PM;function c_(s){return PM?.(s)??null}function OM(s){PM=s}var Le=class{static{this.inlineSuggestionVisible=new te("inlineSuggestionVisible",!1,p(1249,"Whether an inline suggestion is visible"))}static{this.inlineSuggestionAlternativeActionVisible=new te("inlineSuggestionAlternativeActionVisible",!1,p(1250,"Whether an alternative action for the inline suggestion is visible."))}static{this.inlineSuggestionHasIndentation=new te("inlineSuggestionHasIndentation",!1,p(1251,"Whether the inline suggestion starts with whitespace"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new te("inlineSuggestionHasIndentationLessThanTabSize",!0,p(1252,"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"))}static{this.suppressSuggestions=new te("inlineSuggestionSuppressSuggestions",void 0,p(1253,"Whether suggestions should be suppressed for the current suggestion"))}static{this.cursorBeforeGhostText=new te("cursorBeforeGhostText",!1,p(1254,"Whether the cursor is at ghost text"))}static{this.cursorInIndentation=new te("cursorInIndentation",!1,p(1255,"Whether the cursor is in indentation"))}static{this.hasSelection=new te("editor.hasSelection",!1,p(1256,"Whether the editor has a selection"))}static{this.cursorAtInlineEdit=new te("cursorAtInlineEdit",!1,p(1257,"Whether the cursor is at an inline edit"))}static{this.inlineEditVisible=new te("inlineEditIsVisible",!1,p(1258,"Whether an inline edit is visible"))}static{this.tabShouldJumpToInlineEdit=new te("tabShouldJumpToInlineEdit",!1,p(1259,"Whether tab should jump to an inline edit."))}static{this.tabShouldAcceptInlineEdit=new te("tabShouldAcceptInlineEdit",!1,p(1260,"Whether tab should accept the inline edit."))}static{this.inInlineEditsPreviewEditor=new te("inInlineEditsPreviewEditor",!0,p(1261,"Whether the current code editor is showing an inline edits preview"))}};var nu=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}},fl=class s{constructor(e,t,i,o,n,r,a=Kg.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=s._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=o,this._options=n,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,r==="top"?this._snippetCompareFn=s._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=s._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,i]of this.getItemsByProvider())i.length>0&&i[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:i}=this._lineContext,o="",n="",r=this._refilterKind===1?this._items:this._filteredItems,a=[],d=!this._options.filterGraceful||r.length>2e3?qg:SR;for(let l=0;l<r.length;l++){let c=r[l];if(c.isInvalid)continue;let h=this._itemsByProvider.get(c.provider);h?h.push(c):this._itemsByProvider.set(c.provider,[c]);let u=c.position.column-c.editStart.column,g=u+i-(c.position.column-this._column);if(o.length!==g&&(o=g===0?"":t.slice(-g),n=o.toLowerCase()),c.word=o,g===0)c.score=Yn.Default;else{let m=0;for(;m<u;){let f=o.charCodeAt(m);if(f===32||f===9)m+=1;else break}if(m>=g)c.score=Yn.Default;else if(typeof c.completion.filterText=="string"){let f=d(o,n,m,c.completion.filterText,c.filterTextLow,0,this._fuzzyScoreOptions);if(!f)continue;MD(c.completion.filterText,c.textLabel)===0?c.score=f:(c.score=CR(o,n,m,c.textLabel,c.labelLow,0),c.score[0]=f[0])}else{let f=d(o,n,m,c.textLabel,c.labelLow,0,this._fuzzyScoreOptions);if(!f)continue;c.score=f}}c.idx=l,c.distance=this._wordDistance.distance(c.position,c.completion),a.push(c),e.push(c.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?BD(e.length-.85,e,(l,c)=>l-c):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?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===28)return 1;if(t.completion.kind===28)return-1}return s._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===28)return-1;if(t.completion.kind===28)return 1}return s._compareCompletionItems(e,t)}};var _l=class s{async provideSelectionRanges(e,t){let i=[];for(let o of t){let n=[];i.push(n);let r=new Map;await new Promise(a=>s._bracketsRightYield(a,0,e,o,r)),await new Promise(a=>s._bracketsLeftYield(a,0,e,o,r,n))}return i}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(e,t,i,o,n){let r=new Map,a=Date.now();for(;;){if(t>=s._maxRounds){e();break}if(!o){e();break}let d=i.bracketPairs.findNextBracket(o);if(!d){e();break}if(Date.now()-a>s._maxDuration){setTimeout(()=>s._bracketsRightYield(e,t+1,i,o,n));break}if(d.bracketInfo.isOpeningBracket){let c=d.bracketInfo.bracketText,h=r.has(c)?r.get(c):0;r.set(c,h+1)}else{let c=d.bracketInfo.getOpeningBrackets()[0].bracketText,h=r.has(c)?r.get(c):0;if(h-=1,r.set(c,Math.max(0,h)),h<0){let u=n.get(c);u||(u=new ig,n.set(c,u)),u.push(d.range)}}o=d.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,o,n,r){let a=new Map,d=Date.now();for(;;){if(t>=s._maxRounds&&n.size===0){e();break}if(!o){e();break}let l=i.bracketPairs.findPrevBracket(o);if(!l){e();break}if(Date.now()-d>s._maxDuration){setTimeout(()=>s._bracketsLeftYield(e,t+1,i,o,n,r));break}if(l.bracketInfo.isOpeningBracket){let h=l.bracketInfo.bracketText,u=a.has(h)?a.get(h):0;if(u-=1,a.set(h,Math.max(0,u)),u<0){let g=n.get(h);if(g){let m=g.shift();g.size===0&&n.delete(h);let f=C.fromPositions(l.range.getEndPosition(),m.getStartPosition()),_=C.fromPositions(l.range.getStartPosition(),m.getEndPosition());r.push({range:f}),r.push({range:_}),s._addBracketLeading(i,_,r)}}}else{let h=l.bracketInfo.getOpeningBrackets()[0].bracketText,u=a.has(h)?a.get(h):0;a.set(h,u+1)}o=l.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;let o=t.startLineNumber,n=e.getLineFirstNonWhitespaceColumn(o);n!==0&&n!==t.startColumn&&(i.push({range:C.fromPositions(new H(o,n),t.getEndPosition())}),i.push({range:C.fromPositions(new H(o,1),t.getEndPosition())}));let r=o-1;if(r>0){let a=e.getLineFirstNonWhitespaceColumn(r);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:C.fromPositions(new H(r,a),t.getEndPosition())}),i.push({range:C.fromPositions(new H(r,1),t.getEndPosition())}))}}};var bl=class s{static{this.None=new class extends s{distance(){return 0}}}static async create(e,t){if(!t.getOption(134).localityBonus||!t.hasModel())return s.None;let i=t.getModel(),o=t.getPosition();if(!e.canComputeWordRanges(i.uri))return s.None;let[n]=await new _l().provideSelectionRanges(i,[o]);if(n.length===0)return s.None;let r=await e.computeWordRanges(i.uri,n[0].range);if(!r)return s.None;let a=i.getWordUntilPosition(o);return delete r[a.word],new class extends s{distance(d,l){if(!o.equals(t.getPosition()))return 0;if(l.kind===17)return 2<<20;let c=typeof l.label=="string"?l.label:l.label.label,h=r[c];if(VD(h))return 2<<20;let u=sc(h,C.fromPositions(d),C.compareRangesUsingStarts),g=u>=0?h[u]:h[Math.max(0,~u-1)],m=n.length;for(let f of n){if(!C.containsRange(f.range,g))break;m-=1}return m}}}};var IF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ts=function(s,e){return function(t,i){e(t,i,s)}},Tx,hr=class{static shouldAutoTrigger(e){if(!e.hasModel())return!1;let t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);let o=t.getWordAtPosition(i);return!(!o||o.endColumn!==i.column&&o.startColumn+1!==i.column||!isNaN(Number(o.word)))}constructor(e,t,i){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=i}};function LF(s,e,t){if(!e.getContextKeyValue(Le.inlineSuggestionVisible.key))return!0;let i=e.getContextKeyValue(Le.suppressSuggestions.key);return i!==void 0?!i:!s.getOption(71).suppressSuggestions}function EF(s,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;let i=e.getContextKeyValue(Le.suppressSuggestions.key);return i!==void 0?!i:!s.getOption(71).suppressSuggestions}var vl=Tx=class{constructor(e,t,i,o,n,r,a,d,l){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=o,this._logService=n,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=d,this._envService=l,this._toDispose=new M,this._triggerCharacterListener=new M,this._triggerQuickSuggest=new on,this._triggerState=void 0,this._completionDisposables=new M,this._onDidCancel=new z,this._onDidTrigger=new z,this._onDidSuggest=new z,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new Q(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 c=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{c=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{c=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(h=>{c||this._onCursorChange(h)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!c&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){ft(this._triggerCharacterListener),ft([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 i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let o of i.triggerCharacters||[]){let n=e.get(o);n||(n=new Set,e.set(o,n)),n.add(i)}let t=i=>{if(!EF(this._editor,this._contextKeyService,this._configurationService)||hr.shouldAutoTrigger(this._editor))return;if(!i){let r=this._editor.getPosition();i=this._editor.getModel().getLineContent(r.lineNumber).substr(0,r.column-1)}let o="";PD(i.charCodeAt(i.length-1))?ND(i.charCodeAt(i.length-2))&&(o=i.substr(i.length-2)):o=i.charAt(i.length-1);let n=e.get(o);if(n){let r=new Map;if(this._completionModel)for(let[a,d]of this._completionModel.getItemsByProvider())n.has(a)||r.set(a,d);this.trigger({auto:!0,triggerKind:1,triggerCharacter:o,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:r}})}};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(){Nn.isAllOff(this._editor.getOption(102))||this._editor.getOption(134).snippetsPreventQuickSuggestions&&Dt.get(this._editor)?.isInSnippet()||(this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hr.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(102);if(Nn.isAllOff(i))return;let o=!1;if(!Nn.isAllOn(i)){e.tokenization.tokenizeIfCheap(t.lineNumber);let n=e.tokenization.getLineTokens(t.lineNumber),r=n.getStandardTokenType(n.findTokenIndexAtOffset(Math.max(t.column-1-1,0))),a=Nn.valueFor(i,r);if(a==="off"||a==="inline")return;a==="offWhenInlineCompletions"&&(o=this._languageFeaturesService.inlineCompletionsProvider.has(e)&&this._editor.getOption(71).enabled)}LF(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&(o?this._waitForInlineCompletionsAndTrigger(e,t):this.trigger({auto:!0}))},this._editor.getOption(103)))}_waitForInlineCompletionsAndTrigger(e,t){let i=e.getVersionId(),o=c_(this._editor),n=o?.model.get();if(!o||!n){this.trigger({auto:!0});return}if(n.state.get()?.inlineSuggestion)return;let a=new M;this._waitForInlineCompletions=a;let d=l=>{if(a.dispose(),this._waitForInlineCompletions===a&&(this._waitForInlineCompletions=void 0),this._triggerState!==void 0||!l)return;let c=this._editor.getModel(),h=this._editor.getPosition();c===e&&c.getVersionId()===i&&h?.equals(t)&&this._editor.hasWidgetFocus()&&this.trigger({auto:!0})};Zt(()=>{d(!0),n.stop("automatic")},750,a),e0(a,l=>{if(o.model.read(l)!==n){l.dispose(),d(!1);return}let h=n.status.read(l),u=n.state.read(l);!u&&h==="loading"||(l.dispose(),d(!u))})}_refilterCompletionItems(){_e(this._editor.hasModel()),_e(this._triggerState!==void 0);let e=this._editor.getModel(),t=this._editor.getPosition(),i=new hr(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),i=new hr(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=i;let o={triggerKind:e.triggerKind??0};e.triggerCharacter&&(o={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Oe;let n=this._editor.getOption(128),r=1;switch(n){case"top":r=0;break;case"bottom":r=2;break}let{itemKind:a,showDeprecated:d}=Tx.createSuggestFilter(this._editor),l=new Ca(r,e.completionOptions?.kindFilter??a,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,d),c=bl.create(this._editorWorkerService,this._editor),h=jh(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),l,o,this._requestToken.token);Promise.all([h,c]).then(async([u,g])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){u.disposable.dispose();return}let m=e?.clipboardText;if(!m&&u.needsClipboard&&(m=await this._clipboardService.readText()),this._triggerState===void 0){u.disposable.dispose();return}let f=this._editor.getModel(),_=new hr(f,this._editor.getPosition(),e),b={...Kg.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new fl(u.items,this._context.column,{leadingLineContent:_.leadingLineContent,characterCountDelta:_.column-this._context.column},g,this._editor.getOption(134),this._editor.getOption(128),b,m),this._completionDisposables.add(u.disposable),this._onNewContext(_),this._reportDurationsTelemetry(u.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(let v of u.items)v.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${v.provider._debugDisplayName}`,v.completion)}).catch(ae)}_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 o=e.getOption(134);return o.showMethods||t.add(0),o.showFunctions||t.add(1),o.showConstructors||t.add(2),o.showFields||t.add(3),o.showVariables||t.add(4),o.showClasses||t.add(5),o.showStructs||t.add(6),o.showInterfaces||t.add(7),o.showModules||t.add(8),o.showProperties||t.add(9),o.showEvents||t.add(10),o.showOperators||t.add(11),o.showUnits||t.add(12),o.showValues||t.add(13),o.showConstants||t.add(14),o.showEnums||t.add(15),o.showEnumMembers||t.add(16),o.showKeywords||t.add(17),o.showWords||t.add(18),o.showColors||t.add(19),o.showFiles||t.add(20),o.showReferences||t.add(21),o.showColors||t.add(22),o.showFolders||t.add(23),o.showTypeParameters||t.add(24),o.showSnippets||t.add(28),o.showUsers||t.add(25),o.showIssues||t.add(26),{itemKind:t,showDeprecated:o.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(vt(e.leadingLineContent)!==vt(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(hr.shouldAutoTrigger(this._editor)&&this._context){let i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){let t=new Map,i=new Set;for(let[o,n]of this._completionModel.getItemsByProvider())n.length>0&&n[0].container.incomplete?i.add(o):t.set(o,n);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{let t=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){let o=hr.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(o&&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}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};vl=Tx=IF([ts(1,xi),ts(2,Rt),ts(3,yi),ts(4,gt),ts(5,J),ts(6,re),ts(7,V),ts(8,tT)],vl);var h_=class s{static{this._maxSelectionLength=51200}constructor(e,t){this._disposables=new M,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;let i=e.getSelections(),o=i.length,n=!1;for(let a=0;a<o;a++)if(!i[a].isEmpty()){n=!0;break}if(!n){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];let r=e.getModel();for(let a=0;a<o;a++){let d=i[a];if(r.getValueLengthInRange(d)>s._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(d),multiline:d.startLineNumber!==d.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};var DF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Mx=function(s,e){return function(t,i){e(t,i,s)}},u_=class{constructor(e,t,i,o,n,r){this._menuId=t,this._menuService=n,this._contextKeyService=r,this._menuDisposables=new M,this.element=U(e,W(".suggest-status-bar"));let a=(d=>i?.showIconsNoKeybindings?d instanceof xo?o.createInstance(Id,d,void 0):void 0:d instanceof xo?o.createInstance(PR,d,{useComma:!1}):void 0);this._leftActions=new Xi(this.element,{actionViewItemProvider:a}),this._rightActions=new Xi(this.element,{actionViewItemProvider:a}),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 i=[],o=[];for(let[n,r]of e.getActions())n==="left"?i.push(...r):o.push(...r);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(o)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};u_=DF([Mx(3,j),Mx(4,Gi),Mx(5,J)],u_);var kF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},AM=function(s,e){return function(t,i){e(t,i,s)}};function ru(s){return!!s&&!!(s.completion.documentation||s.completion.detail&&s.completion.detail!==s.completion.label)}var g_=class{constructor(e,t,i){this._editor=e,this._themeService=t,this._markdownRendererService=i,this._onDidClose=new z,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new z,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new M,this._renderDisposeable=new M,this._size=new Me(330,0),this.domNode=W(".suggest-details"),this.domNode.classList.add("no-docs"),this._body=W(".body"),this._scrollbar=new md(this._body,{alwaysConsumeMouseWheel:!0}),U(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=U(this._body,W(".header")),this._close=U(this._header,W("span"+ne.asCSSSelector(B.close))),this._close.title=p(1563,"Close"),this._close.ariaLabel=p(1564,"Close"),this._close.role="button",this._close.tabIndex=-1,this._type=U(this._header,W("p.type")),this._docs=U(this._body,W("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(o=>{o.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),i=t.getMassagedFontFamily(),o=e.get(135)||t.fontSize,n=e.get(136)||t.lineHeight,r=t.fontWeight,a=`${o}px`,d=`${n}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${n/o}`,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=d,this._close.style.width=d}getLayoutInfo(){let e=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,t=$n(this._themeService.getColorTheme().type)?2:1,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=p(1565,"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:i,documentation:o}=e.completion;if(t){let n="";n+=`score: ${e.score[0]}
|
|
37
|
+
`,n+=`prefix: ${e.word??"(no prefix)"}
|
|
38
|
+
`,n+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
|
|
39
|
+
`,n+=`distance: ${e.distance} (localityBonus-setting)
|
|
40
|
+
`,n+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
|
|
41
|
+
`,n+=`commit_chars: ${e.completion.commitCharacters?.join("")}
|
|
42
|
+
`,o=new dt().appendCodeblock("empty",n),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!ru(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){let n=i.length>1e5?`${i.substr(0,1e5)}\u2026`:i;this._type.textContent=n,this._type.title=n,ci(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(n))}else Vt(this._type),this._type.title="",Qt(this._type),this.domNode.classList.add("no-type");if(Vt(this._docs),typeof o=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),Vt(this._docs);let n=this._markdownRendererService.render(o,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(n.element),this._renderDisposeable.add(n)}this.domNode.classList.toggle("detail-and-doc",!!i&&!!o),this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=n=>{n.preventDefault(),n.stopPropagation()},this._close.onclick=n=>{n.preventDefault(),n.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 i=new Me(e,t);Me.equals(i,this._size)||(this._size=i,u0(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()}};g_=kF([AM(1,Ke),AM(2,Li)],g_);var m_=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new M,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new $r,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,o,n=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,o=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&o){this.widget.layout(a.dimension.width,a.dimension.height);let d=!1;a.west&&(r=o.width-a.dimension.width,d=!0),a.north&&(n=o.height-a.dimension.height,d=!0),d&&this._applyTopLeft({top:i.top+n,left:i.left+r})}a.done&&(i=void 0,o=void 0,n=0,r=0,this._userSize=a.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),this._added=!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 i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){let o=rn(this.getDomNode().ownerDocument.body),n=this.widget.getLayoutInfo(),r=new Me(220,2*n.lineHeight),a=e.top,d=(function(){let x=o.width-(e.left+e.width+n.borderWidth+n.horizontalPadding),T=-n.borderWidth+e.left+e.width,N=new Me(x,o.height-e.top-n.borderHeight-n.verticalPadding),F=N.with(void 0,e.top+e.height-n.borderHeight-n.verticalPadding);return{top:a,left:T,fit:x-t.width,maxSizeTop:N,maxSizeBottom:F,minSize:r.with(Math.min(x,r.width))}})(),l=(function(){let x=e.left-n.borderWidth-n.horizontalPadding,T=Math.max(n.horizontalPadding,e.left-t.width-n.borderWidth),N=new Me(x,o.height-e.top-n.borderHeight-n.verticalPadding),F=N.with(void 0,e.top+e.height-n.borderHeight-n.verticalPadding);return{top:a,left:T,fit:x-t.width,maxSizeTop:N,maxSizeBottom:F,minSize:r.with(Math.min(x,r.width))}})(),c=(function(){let x=e.left,T=-n.borderWidth+e.top+e.height,N=new Me(e.width-n.borderHeight,o.height-e.top-e.height-n.verticalPadding);return{top:T,left:x,fit:N.height-t.height,maxSizeBottom:N,maxSizeTop:N,minSize:r.with(N.width)}})(),h=(function(){let x=e.left,T=new Me(e.width-n.borderHeight,e.top-n.verticalPadding);return{top:Math.max(n.verticalPadding,e.top-t.height),left:x,fit:T.height-t.height,maxSizeTop:T,maxSizeBottom:T,minSize:r.with(T.width)}})(),g=[d,l,i?c:h],m=g.find(x=>x.fit>=0)??g.sort((x,T)=>T.fit-x.fit)[0],f=e.top+e.height-n.borderHeight,_,b=t.height,v=Math.max(m.maxSizeTop.height,m.maxSizeBottom.height);b>v&&(b=v);let y;i?b<=m.maxSizeTop.height?(_=!0,y=m.maxSizeTop):(_=!1,y=m.maxSizeBottom):b<=m.maxSizeBottom.height?(_=!1,y=m.maxSizeBottom):(_=!0,y=m.maxSizeTop);let{top:L,left:E}=m;m===h?L=e.top-b+n.borderWidth:!_&&b>e.height&&(L=f-b);let S=this._editor.getDomNode();if(S){let x=S.getBoundingClientRect();L-=x.top,E-=x.left}this._applyTopLeft({left:E,top:L}),m===h?this._resizable.enableSashes(!0,!1,!1,!0):this._resizable.enableSashes(!_,m===d,_,m!==d),this._resizable.minSize=m.minSize,this._resizable.maxSize=y,this._resizable.layout(b,Math.min(y.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}};var Nx=zt("fileService"),no;(function(s){s[s.FILE=0]="FILE",s[s.FOLDER=1]="FOLDER",s[s.ROOT_FOLDER=2]="ROOT_FOLDER"})(no||(no={}));var RF=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Ia(s,e,t,i,o){if(ne.isThemeIcon(o))return[`codicon-${o.id}`,"predefined-file-icon"];if(ge.isUri(o))return[];let n=i===no.ROOT_FOLDER?["rootfolder-icon"]:i===no.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===_t.data)r=lc.parseMetaData(t).get(lc.META_DATA_LABEL);else{let a=t.path.match(RF);a?(r=p_(a[2].toLowerCase()),a[1]&&n.push(`${p_(a[1].toLowerCase())}-name-dir-icon`)):r=p_(t.authority.toLowerCase())}if(i===no.ROOT_FOLDER)n.push(`${r}-root-name-folder-icon`);else if(i===no.FOLDER)n.push(`${r}-name-folder-icon`);else{if(r){if(n.push(`${r}-name-file-icon`),n.push("name-file-icon"),r.length<=255){let d=r.split(".");for(let l=1;l<d.length;l++)n.push(`${d.slice(l).join(".")}-ext-file-icon`)}n.push("ext-file-icon")}let a=TF(s,e,t);a&&n.push(`${p_(a)}-lang-file-icon`)}}return n}function TF(s,e,t){if(!t)return null;let i=null;if(t.scheme===_t.data){let n=lc.parseMetaData(t).get(lc.META_DATA_MIME);n&&(i=e.getLanguageIdByMimeType(n))}else{let o=s.getModel(t);o&&(i=o.getLanguageId())}return i&&i!==pg?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function p_(s){return s.replace(/[\s]/g,"/")}var MF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Px=function(s,e){return function(t,i){e(t,i,s)}},NF=qe("suggest-more-info",B.chevronRight,p(1566,"Icon for more information in the suggest widget.")),PF=new class su{static{this._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*\))/}static{this._regexStrict=new RegExp(`^${su._regexRelaxed.source}$`,"i")}extract(e,t){if(e.textLabel.match(su._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(su._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){let i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,o=su._regexRelaxed.exec(i);if(o&&(o.index===0||o.index+o[0].length===i.length))return t[0]=o[0],!0}return!1}},f_=class{constructor(e,t,i,o){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=o,this._onDidToggleDetails=new z,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){let t=new M,i=e;i.classList.add("show-file-icons");let o=U(e,W(".icon")),n=U(o,W("span.colorspan")),r=U(e,W(".contents")),a=U(r,W(".main")),d=U(a,W(".icon-label.codicon")),l=U(a,W("span.left")),c=U(a,W("span.right")),h=new cm(l,{supportHighlights:!0,supportIcons:!0});t.add(h);let u=U(l,W("span.signature-label")),g=U(l,W("span.qualifier-label")),m=U(c,W("span.details-label")),f=U(c,W("span.readMore"+ne.asCSSSelector(NF)));return f.title=p(1567,"Read More"),{root:i,left:l,right:c,icon:o,colorspan:n,iconLabel:h,iconContainer:d,parametersLabel:u,qualifierLabel:g,detailsLabel:m,readMore:f,disposables:t,configureFont:()=>{let b=this._editor.getOptions(),v=b.get(59),y=v.getMassagedFontFamily(),L=v.fontFeatureSettings,E=v.fontVariationSettings,S=b.get(135)||v.fontSize,x=b.get(136)||v.lineHeight,T=v.fontWeight,N=v.letterSpacing,F=`${S}px`,P=`${x}px`,Y=`${N}px`;i.style.fontSize=F,i.style.fontWeight=T,i.style.letterSpacing=Y,a.style.fontFamily=y,a.style.fontFeatureSettings=L,a.style.fontVariationSettings=E,a.style.lineHeight=P,o.style.height=P,o.style.width=P,f.style.height=P,f.style.width=P}}}renderElement(e,t,i){i.configureFont();let{completion:o}=e;i.colorspan.style.backgroundColor="";let n={labelEscapeNewLines:!0,matches:Ws(e.score)},r=[];if(o.kind===19&&PF.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(o.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";let a=Ia(this._modelService,this._languageService,ge.from({scheme:"fake",path:e.textLabel}),no.FILE),d=Ia(this._modelService,this._languageService,ge.from({scheme:"fake",path:o.detail}),no.FILE);n.extraClasses=a.length>d.length?a:d}else o.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",n.extraClasses=[Ia(this._modelService,this._languageService,ge.from({scheme:"fake",path:e.textLabel}),no.FOLDER),Ia(this._modelService,this._languageService,ge.from({scheme:"fake",path:o.detail}),no.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...ne.asClassNameArray(Ns.toIcon(o.kind))));o.tags&&o.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,n),typeof o.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=Ox(o.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Ox(o.label.detail||""),i.detailsLabel.textContent=Ox(o.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(134).showInlineDetails?ci(i.detailsLabel):Qt(i.detailsLabel),ru(e)?(i.right.classList.add("can-expand-details"),ci(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),Qt(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};f_=MF([Px(1,Ct),Px(2,si),Px(3,Ke)],f_);function Ox(s){return s.replace(/\r\n|\r|\n/g,"")}var OF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},__=function(s,e){return function(t,i){e(t,i,s)}},Cl,b_=K("editorSuggestWidget.background",cd,p(1545,"Background color of the suggest widget."));K("editorSuggestWidget.border",Dg,p(1546,"Border color of the suggest widget."));var Ax=K("editorSuggestWidget.foreground",Fs,p(1547,"Foreground color of the suggest widget.")),FM=K("editorSuggestWidget.selectedForeground",{dark:xc,light:xc,hcDark:b_,hcLight:b_},p(1548,"Foreground color of the selected entry in the suggest widget."));K("editorSuggestWidget.selectedIconForeground",{dark:kC,light:kC,hcDark:b_,hcLight:b_},p(1549,"Icon foreground color of the selected entry in the suggest widget."));var AF=K("editorSuggestWidget.selectedBackground",{dark:Ic,light:Ic,hcDark:Ax,hcLight:Ax},p(1550,"Background color of the selected entry in the suggest widget.")),FF=K("editorSuggestWidget.focusOutline",un,p(1551,"Outline color of the focused (keyboard-navigated) entry in the suggest widget."));K("editorSuggestWidget.highlightForeground",Tg,p(1552,"Color of the match highlights in the suggest widget."));K("editorSuggestWidget.focusHighlightForeground",{dark:IC,light:IC,hcDark:FM,hcLight:FM},p(1553,"Color of the match highlights in the suggest widget when an item is focused."));K("editorSuggestWidgetStatus.foreground",mt(Ax,.5),p(1554,"Foreground color of the suggest widget status."));var Fx=class{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof ui}`}restore(){let e=this._service.get(this._key,0)??"";try{let t=JSON.parse(e);if(Me.is(t))return Me.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}},v_=class{static{Cl=this}static{this.LOADING_MESSAGE=p(1555,"Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=p(1556,"No suggestions.")}constructor(e,t,i,o,n){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._loadingTimeout=new xe,this._pendingLayout=new xe,this._pendingShowDetails=new xe,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new on,this._disposables=new M,this._onDidSelect=new Qv,this._onDidFocus=new Qv,this._onDidHide=new z,this._onDidShow=new z,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new z,this.element=new $r,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Hx(this,e),this._persistedSize=new Fx(t,e);class r{constructor(f,_,b=!1,v=!1){this.persistedSize=f,this.currentSize=_,this.persistHeight=b,this.persistWidth=v}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(m=>{if(this._resize(m.dimension.width,m.dimension.height),a&&(a.persistHeight=a.persistHeight||!!m.north||!!m.south,a.persistWidth=a.persistWidth||!!m.east||!!m.west),!!m.done){if(a){let{itemHeight:f,defaultSize:_}=this.getLayoutInfo(),b=Math.round(f/2),{width:v,height:y}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-y)<=b)&&(y=a.persistedSize?.height??_.height),(!a.persistWidth||Math.abs(a.currentSize.width-v)<=b)&&(v=a.persistedSize?.width??_.width),this._persistedSize.store(new Me(v,y))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=U(this.element.domNode,W(".message")),this._listElement=U(this.element.domNode,W(".tree"));let d=this._disposables.add(n.createInstance(g_,this.editor));d.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new m_(d,this.editor);let l=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(134).showIcons);l();let c=()=>this.element.domNode.classList.toggle("fit-width-to-details",this.editor.getOption(134).fitWidthToDetails);c();let h=n.createInstance(f_,this.editor);this._disposables.add(h),this._disposables.add(h.onDidToggleDetails(()=>this.toggleDetails())),this._list=new yd("SuggestWidget",this._listElement,{getHeight:m=>this.getLayoutInfo().itemHeight,getTemplateId:m=>"suggestion"},[h],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>Wa?"listitem":"option",getWidgetAriaLabel:()=>p(1557,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:m=>{let f=m.textLabel,_=Ns.toLabel(m.completion.kind);if(typeof m.completion.label!="string"){let{detail:L,description:E}=m.completion.label;L&&E?f=p(1558,"{0} {1}, {2}, {3}",f,L,E,_):L?f=p(1559,"{0} {1}, {2}",f,L,_):E&&(f=p(1560,"{0}, {1}, {2}",f,E,_))}else f=p(1561,"{0}, {1}",f,_);if(!m.isResolved||!this._isDetailsVisible())return f;let{documentation:b,detail:v}=m.completion,y=ja("{0}{1}",v||"",b?typeof b=="string"?b:b.value:"");return p(1562,"{0}, docs: {1}",f,y)}}}),this._list.style(Xg({listInactiveFocusBackground:AF,listInactiveFocusOutline:FF})),this._status=n.createInstance(u_,this.element.domNode,Zo,void 0);let u=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(134).showStatusBar);u(),this._disposables.add(this._list.onMouseDown(m=>this._onListMouseDownOrTap(m))),this._disposables.add(this._list.onTap(m=>this._onListMouseDownOrTap(m))),this._disposables.add(this._list.onDidChangeSelection(m=>this._onListSelection(m))),this._disposables.add(this._list.onDidChangeFocus(m=>this._onListFocus(m))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(m=>{m.hasChanged(134)&&(u(),l(),c()),this._completionModel&&(m.hasChanged(59)||m.hasChanged(135)||m.hasChanged(136))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=ie.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=ie.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=ie.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=ie.HasFocusedSuggestion.bindTo(i),this._ctxSuggestWidgetDetailsFocused=ie.DetailsFocused.bindTo(i);let g=qi(this._details.widget.domNode);this._disposables.add(g),this._disposables.add(g.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(g.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(Xt(this._details.widget.domNode,"keydown",m=>{this._onDetailsKeydown.fire(m)})),this._disposables.add(this.editor.onMouseDown(m=>this._onEditorMouseDown(m)))}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){typeof e.element>"u"||typeof e.index>"u"||(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 i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),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],i=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=je(async o=>{let n=Zt(()=>{this._isDetailsVisible()&&this._showDetails(!0,!1)},250),r=o.onCancellationRequested(()=>n.dispose());try{return await t.resolve(o)}finally{n.dispose(),r.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this._showDetails(!1,!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:this._list.getElementID(i)}))}).catch(ae)),this._onDidFocus.fire({item:t,index:i,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:Qt(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=Cl.LOADING_MESSAGE,Qt(this._listElement,this._status.element),ci(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Oi(Cl.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Cl.NO_SUGGESTIONS_MESSAGE,Qt(this._listElement,this._status.element),ci(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Oi(Cl.NO_SUGGESTIONS_MESSAGE);break;case 3:Qt(this._messageElement),ci(this._listElement,this._status.element),this._show();break;case 4:Qt(this._messageElement),ci(this._listElement,this._status.element),this._show();break;case 5:Qt(this._messageElement),ci(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus();break}}_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=Zt(()=>this._setState(1),t)))}showSuggestions(e,t,i,o,n){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}let r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(o?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(i?4:3),this._list.reveal(t,0,t===0?0:this.getLayoutInfo().itemHeight*.33),this._list.setFocus(n?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=hC(bt(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")):(ru(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=hC(bt(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let i=!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(),i=!0)),i||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=rn(this.element.domNode.ownerDocument.body),i=this.getLayoutInfo();e||(e=i.defaultSize);let o=e.height,n=e.width;if(this._status.element.style.height=`${i.itemHeight}px`,this._state===2||this._state===1)o=i.itemHeight+i.borderHeight,n=i.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Me(n,o),this._contentWidget.setPreference(2);else{let r=t.width-i.borderHeight-2*i.horizontalPadding;n>r&&(n=r);let a=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:n;if(this.editor.getOption(134).fitWidthToDetails&&this._completionModel&&!this._persistedSize.restore()){let v=Math.min(r,this.editor.getLayoutInfo().width),y=Math.min(v,this._measureContentWidth(i));n=Math.max(n,y),a=Math.max(a,y)}let d=i.statusBarHeight+this._list.contentHeight+i.borderHeight,l=i.itemHeight+i.statusBarHeight,c=tt(this.editor.getDomNode()),h=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),u=c.top+h.top+h.height,g=Math.min(t.height-u-i.verticalPadding,d),m=c.top+h.top-i.verticalPadding,f=Math.min(m,d),_=Math.min(Math.max(f,g)+i.borderHeight,d);o===this._cappedHeight?.capped&&(o=this._cappedHeight.wanted),o<l&&(o=l),o>_&&(o=_),o>g&&f>g||this._forceRenderingAbove&&m>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),_=f):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),_=g),this.element.preferredSize=new Me(a,i.defaultSize.height),this.element.maxSize=new Me(r,_),this.element.minSize=new Me(220,l),this._cappedHeight=o===d?{wanted:this._cappedHeight?.wanted??e.height,capped:o}:void 0}this._resize(n,o)}_resize(e,t){let{width:i,height:o}=this.element.maxSize;e=Math.min(i,e),t=Math.min(o,t);let{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(t-n,e),this._listElement.style.height=`${t-n}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)}_measureContentWidth(e){let t=this._completionModel;if(!t)return 0;if(this._fitContentWidth?.model===t)return this._fitContentWidth.width;this._measureContext===void 0&&(this._measureContext=W("canvas").getContext("2d"));let i;if(this._measureContext){let r=this.editor.getOptions(),a=r.get(59),d=r.get(135)||a.fontSize;this._measureContext.font=`${a.fontWeight} ${d}px ${a.getMassagedFontFamily()}`,i=0;for(let l of t.items){let{completion:c}=l,h=l.textLabel;typeof c.label=="string"?h+=c.detail??"":h+=(c.label.detail??"")+(c.label.description??""),i=Math.max(i,this._measureContext.measureText(h).width)}}else i=t.stats.pLabelLen*e.typicalHalfwidthCharacterWidth;let o=2*e.itemHeight+2*e.horizontalPadding+20,n=i+o;return this._fitContentWidth={model:t,width:n},n}getLayoutInfo(){let e=this.editor.getOption(59),t=rc(this.editor.getOption(136)||e.lineHeight,8,1e3),i=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:t,o=this._details.widget.getLayoutInfo().borderWidth,n=2*o;return{itemHeight:t,statusBarHeight:i,borderWidth:o,borderHeight:n,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Me(430,i+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}};v_=Cl=OF([__(1,Tt),__(2,J),__(3,Ke),__(4,j)],v_);var Hx=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:i,horizontalPadding:o}=this._widget.getLayoutInfo();return new Me(t+2*i+o,e+2*i)}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}};var HF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Sl=function(s,e){return function(t,i){e(t,i,s)}},Wx,Bx=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=ee.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){let o=e.getOffsetAt(t),n=e.getPositionAt(o+1);e.changeDecorations(r=>{this._marker&&r.removeDecoration(this._marker),this._marker=r.addDecoration(C.fromPositions(t,n),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)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}},No=class{static{Wx=this}static{this.ID="editor.contrib.suggestController"}static get(e){return e.getContribution(Wx.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(e,t,i,o,n,r,a){this._memoryService=t,this._commandService=i,this._contextKeyService=o,this._instantiationService=n,this._logService=r,this._telemetryService=a,this._lineSuffix=new xe,this._toDispose=new M,this._selectors=new Vx(h=>h.priority),this._onWillInsertSuggestItem=new z,this._wantsForceRenderingAbove=!1,this.editor=e,this.model=n.createInstance(vl,this.editor),this._selectors.register({priority:0,select:(h,u,g)=>this._memoryService.select(h,u,g)});let d=ie.InsertMode.bindTo(o);d.set(e.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>d.set(e.getOption(134).insertMode))),this.widget=this._toDispose.add(new lg(bt(e.getDomNode()),()=>{let h=this._instantiationService.createInstance(v_,this.editor);this._toDispose.add(h),this._toDispose.add(h.onDidSelect(_=>this._insertSuggestion(_,0),this));let u=new l_(this.editor,h,this.model,_=>this._insertSuggestion(_,2));this._toDispose.add(u);let g=ie.MakesTextEdit.bindTo(this._contextKeyService),m=ie.HasInsertAndReplaceRange.bindTo(this._contextKeyService),f=ie.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(ce(()=>{g.reset(),m.reset(),f.reset()})),this._toDispose.add(h.onDidFocus(({item:_})=>{let b=this.editor.getPosition(),v=_.editStart.column,y=b.column,L=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!_.completion.additionalTextEdits&&!(_.completion.insertTextRules&4)&&y-v===_.completion.insertText.length&&(L=this.editor.getModel().getValueInRange({startLineNumber:b.lineNumber,startColumn:v,endLineNumber:b.lineNumber,endColumn:y})!==_.completion.insertText),g.set(L),m.set(!H.equals(_.editInsertEnd,_.editReplaceEnd)),f.set(!!_.provider.resolveCompletionItem||!!_.completion.documentation||_.completion.detail!==_.completion.label)})),this._wantsForceRenderingAbove&&h.forceRenderingAbove(),h})),this._overtypingCapturer=this._toDispose.add(new lg(bt(e.getDomNode()),()=>this._toDispose.add(new h_(this.editor,this.model)))),this._alternatives=this._toDispose.add(new lg(bt(e.getDomNode()),()=>this._toDispose.add(new xa(this.editor,this._contextKeyService)))),this._toDispose.add(n.createInstance(iu,e)),this._toDispose.add(this.model.onDidTrigger(h=>{this.widget.value.showTriggered(h.auto,h.shy?250:50),this._lineSuffix.value=new Bx(this.editor.getModel(),h.position)})),this._toDispose.add(this.model.onDidSuggest(h=>{if(h.triggerOptions.shy)return;let u=-1;for(let m of this._selectors.itemsOrderedByPriorityDesc)if(u=m.select(this.editor.getModel(),this.editor.getPosition(),h.completionModel.items),u!==-1)break;if(u===-1&&(u=0),this.model.state===0)return;let g=!1;if(h.triggerOptions.auto){let m=this.editor.getOption(134);m.selectionMode==="never"||m.selectionMode==="always"?g=m.selectionMode==="never":m.selectionMode==="whenTriggerCharacter"?g=h.triggerOptions.triggerKind!==1:m.selectionMode==="whenQuickSuggestion"&&(g=h.triggerOptions.triggerKind===1&&!h.triggerOptions.refilter)}this.widget.value.showSuggestions(h.completionModel,u,h.isFrozen,h.triggerOptions.auto,g)})),this._toDispose.add(this.model.onDidCancel(h=>{h.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let l=ie.AcceptSuggestionsOnEnter.bindTo(o),c=()=>{let h=this.editor.getOption(1);l.set(h==="on"||h==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>c())),c()}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 i=Dt.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});let o=this.editor.getModel(),n=o.getAlternativeVersionId(),{item:r}=e,a=[],d=new Oe;t&1||this.editor.pushUndoStop();let l=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(o,this.editor.getPosition(),r);let c=r.isResolved,h=-1,u=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();let m=fn.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(f=>{let _=C.lift(f.range);if(_.startLineNumber===r.position.lineNumber&&_.startColumn>r.position.column){let b=this.editor.getPosition().column-r.position.column,v=b,y=C.spansMultipleLines(_)?0:b;_=new C(_.startLineNumber,_.startColumn+v,_.endLineNumber,_.endColumn+y)}return Ge.replaceMove(_,f.text)})),m.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!c){let m=new kt,f,_=o.onDidChangeContent(L=>{if(L.isFlush){d.cancel(),_.dispose();return}for(let E of L.changes){let S=C.getEndPosition(E.range);(!f||H.isBefore(S,f))&&(f=S)}}),b=t;t|=2;let v=!1,y=this.editor.onWillType(()=>{y.dispose(),v=!0,b&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(f&&r.completion.additionalTextEdits.some(E=>H.isBefore(f,C.getStartPosition(E.range))))return!1;v&&this.editor.pushUndoStop();let L=fn.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(E=>Ge.replaceMove(C.lift(E.range),E.text))),L.restoreRelativeVerticalPositionOfCursor(this.editor),(v||!(b&2))&&this.editor.pushUndoStop(),!0}).then(L=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",m.elapsed(),L),u=L===!0?1:L===!1?0:-2}).finally(()=>{_.dispose(),y.dispose()}))}let{insertText:g}=r.completion;if(r.completion.insertTextRules&4||(g=Vi.escape(g)),this.model.cancel(),i.insert(g,{overwriteBefore:l.overwriteBefore,overwriteAfter:l.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:uo.suggest({providerId:vg.fromExtensionId(r.extensionId?.value)})}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===C_.id)this.model.trigger({auto:!0,retrigger:!0});else{let m=new kt;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(f=>{r.completion.extensionId?Te(f):ae(f)}).finally(()=>{h=m.elapsed()}))}t&4&&this._alternatives.value.set(e,m=>{for(d.cancel();o.canUndo();){n!==o.getAlternativeVersionId()&&o.undo(),this._insertSuggestion(m,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,o,c,h,u,e.index,e.model.items),this.model.clear(),d.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,o,n,r,a){if(Math.random()>1e-4)return;let d=new Map;for(let u=0;u<Math.min(30,a.length);u++){let g=a[u].textLabel;d.has(g)?d.get(g).push(u):d.set(g,[u])}let l=d.get(e.textLabel),h=l&&l.length>1?l[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:e.extensionId?.value??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:ag(ei(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:T0(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:o,additionalEditsAsync:n,index:r,firstIndex:h})}getOverwriteInfo(e,t){_e(this.editor.hasModel());let i=this.editor.getOption(134).insertMode==="replace";t&&(i=!i);let o=e.position.column-e.editStart.column,n=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,r=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:o+r,overwriteAfter:n+a}}_alertCompletionItem(e){if(wt(e.completion.additionalTextEdits)){let t=p(1534,"Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);xt(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?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(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},o=n=>{if(n.completion.insertTextRules&4||n.completion.additionalTextEdits)return!0;let r=this.editor.getPosition(),a=n.editStart.column,d=r.column;return d-a!==n.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:d})!==n.completion.insertText};De.once(this.model.onDidTrigger)(n=>{let r=[];De.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{ft(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(ft(r),a.items.length===0){i();return}let d=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),l=a.items[d];if(!o(l)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:d,item:l,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){let i=this.widget.value.getFocusedItem(),o=0;e&&(o|=4),t&&(o|=8),this._insertSuggestion(i,o)}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)}};No=Wx=HF([Sl(1,pl),Sl(2,Fe),Sl(3,J),Sl(4,j),Sl(5,gt),Sl(6,yi)],No);var Vx=class{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{let t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}},C_=class s extends A{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:s.id,label:I(1543,"Trigger Suggest"),precondition:O.and(w.writable,w.hasCompletionItemProvider,ie.Visible.toNegated()),kbOpts:{kbExpr:w.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){let o=No.get(t);if(!o)return;let n;i&&typeof i=="object"&&i.auto===!0&&(n=!0),o.triggerSuggest(void 0,n,void 0)}};$(No.ID,No,2);k(C_);var zi=190,pi=at.bindToContribution(No.get);X(new pi({id:"acceptSelectedSuggestion",precondition:O.and(ie.Visible,ie.HasFocusedSuggestion),handler(s){s.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:O.and(ie.Visible,w.textInputFocus),weight:zi},{primary:3,kbExpr:O.and(ie.Visible,w.textInputFocus,ie.AcceptSuggestionsOnEnter,ie.MakesTextEdit),weight:zi}],menuOpts:[{menuId:Zo,title:p(1535,"Insert"),group:"left",order:1,when:O.and(ie.HasFocusedSuggestion,ie.HasInsertAndReplaceRange.toNegated())},{menuId:Zo,title:p(1536,"Insert"),group:"left",order:1,when:O.and(ie.HasFocusedSuggestion,ie.HasInsertAndReplaceRange,ie.InsertMode.isEqualTo("insert"))},{menuId:Zo,title:p(1537,"Replace"),group:"left",order:1,when:O.and(ie.HasFocusedSuggestion,ie.HasInsertAndReplaceRange,ie.InsertMode.isEqualTo("replace"))}]}));X(new pi({id:"acceptAlternativeSelectedSuggestion",precondition:O.and(ie.Visible,w.textInputFocus,ie.HasFocusedSuggestion),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:1027,secondary:[1026]},handler(s){s.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Zo,group:"left",order:2,when:O.and(ie.HasFocusedSuggestion,ie.HasInsertAndReplaceRange,ie.InsertMode.isEqualTo("insert")),title:p(1538,"Replace")},{menuId:Zo,group:"left",order:2,when:O.and(ie.HasFocusedSuggestion,ie.HasInsertAndReplaceRange,ie.InsertMode.isEqualTo("replace")),title:p(1539,"Insert")}]}));ve.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");X(new pi({id:"hideSuggestWidget",precondition:ie.Visible,handler:s=>s.cancelSuggestWidget(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:9,secondary:[1033]}}));X(new pi({id:"selectNextSuggestion",precondition:O.and(ie.Visible,O.or(ie.MultipleSuggestions,ie.HasFocusedSuggestion.negate())),handler:s=>s.selectNextSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:Zo,group:"left",order:0,when:ie.HasFocusedSuggestion.toNegated(),title:p(1540,"Select")}}));X(new pi({id:"selectNextPageSuggestion",precondition:O.and(ie.Visible,O.or(ie.MultipleSuggestions,ie.HasFocusedSuggestion.negate())),handler:s=>s.selectNextPageSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:12,secondary:[2060]}}));X(new pi({id:"selectLastSuggestion",precondition:O.and(ie.Visible,O.or(ie.MultipleSuggestions,ie.HasFocusedSuggestion.negate())),handler:s=>s.selectLastSuggestion()}));X(new pi({id:"selectPrevSuggestion",precondition:O.and(ie.Visible,O.or(ie.MultipleSuggestions,ie.HasFocusedSuggestion.negate())),handler:s=>s.selectPrevSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));X(new pi({id:"selectPrevPageSuggestion",precondition:O.and(ie.Visible,O.or(ie.MultipleSuggestions,ie.HasFocusedSuggestion.negate())),handler:s=>s.selectPrevPageSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:11,secondary:[2059]}}));X(new pi({id:"selectFirstSuggestion",precondition:O.and(ie.Visible,O.or(ie.MultipleSuggestions,ie.HasFocusedSuggestion.negate())),handler:s=>s.selectFirstSuggestion()}));X(new pi({id:"focusSuggestion",precondition:O.and(ie.Visible,ie.HasFocusedSuggestion.negate()),handler:s=>s.focusSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));X(new pi({id:"focusAndAcceptSuggestion",precondition:O.and(ie.Visible,ie.HasFocusedSuggestion.negate()),handler:s=>{s.focusSuggestion(),s.acceptSelectedSuggestion(!0,!1)}}));X(new pi({id:"toggleSuggestionDetails",precondition:O.and(ie.Visible,ie.HasFocusedSuggestion),handler:s=>s.toggleSuggestionDetails(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Zo,group:"right",order:1,when:O.and(ie.DetailsVisible,ie.CanResolve),title:p(1541,"Show Less")},{menuId:Zo,group:"right",order:1,when:O.and(ie.DetailsVisible.toNegated(),ie.CanResolve),title:p(1542,"Show More")}]}));X(new pi({id:"toggleExplainMode",precondition:ie.Visible,handler:s=>s.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));X(new pi({id:"toggleSuggestionFocus",precondition:ie.Visible,handler:s=>s.toggleSuggestionFocus(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:2570,mac:{primary:778}}}));X(new pi({id:"insertBestCompletion",precondition:O.and(w.textInputFocus,O.equals("config.editor.tabCompletion","on"),iu.AtEnd,ie.Visible.toNegated(),xa.OtherSuggestions.toNegated(),Dt.InSnippetMode.toNegated()),handler:(s,e)=>{s.triggerSuggestAndAcceptBest(Ha(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:zi,primary:2}}));X(new pi({id:"insertNextSuggestion",precondition:O.and(w.textInputFocus,O.equals("config.editor.tabCompletion","on"),xa.OtherSuggestions,ie.Visible.toNegated(),Dt.InSnippetMode.toNegated()),handler:s=>s.acceptNextSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:2}}));X(new pi({id:"insertPrevSuggestion",precondition:O.and(w.textInputFocus,O.equals("config.editor.tabCompletion","on"),xa.OtherSuggestions,ie.Visible.toNegated(),Dt.InSnippetMode.toNegated()),handler:s=>s.acceptPrevSuggestion(),kbOpts:{weight:zi,kbExpr:w.textInputFocus,primary:1026}}));X(new class extends at{constructor(){super({id:"suggestWidgetCopy",precondition:ie.DetailsFocused,kbOpts:{weight:zi+10,kbExpr:ie.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(s,e){bt(e.getDomNode()).document.execCommand("copy")}});k(class extends A{constructor(){super({id:"editor.action.resetSuggestSize",label:I(1544,"Reset Suggest Widget Size"),precondition:void 0})}run(s,e){No.get(e)?.resetWidgetSize()}});var wl=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}};var WF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},BF=function(s,e){return function(t,i){e(t,i,s)}};function WM(s){return s instanceof S_?s._instance:s}var S_=class{constructor(e){this.instantiationService=e}init(...e){}};function BM(s){return s.get()}var HM=class extends S_{constructor(e,t){super(t),this.init(e)}};HM=WF([BF(1,j)],HM);var is=class{validateOrThrow(e){let t=this.validate(e);if(t.error)throw new Error(t.error.message);return t.content}},yl=class extends is{constructor(e){super(),this.type=e}validate(e){return typeof e!==this.type?{content:void 0,error:{message:`Expected ${this.type}, but got ${typeof e}`}}:{content:e,error:void 0}}getJSONSchema(){return{type:this.type}}},VF=new yl("string");function VM(){return VF}new yl("number");var zF=new yl("boolean");function qx(){return zF}new yl("object");var zx=class extends is{validate(e){return{content:e,error:void 0}}getJSONSchema(){return{}}};function zM(){return new zx}var w_=class extends is{validate(e){return e!==void 0?{content:void 0,error:{message:`Expected undefined, but got ${typeof e}`}}:{content:void 0,error:void 0}}getJSONSchema(){return{}}};function UM(){return new w_}var au=class{constructor(e){this.validator=e}};function du(s){return new au(s)}var Ux=class extends is{constructor(e){super(),this.properties=e}validate(e){if(typeof e!="object"||e===null)return{content:void 0,error:{message:"Expected object"}};let t={};for(let i in this.properties){let o=this.properties[i],n=e[i],r=o instanceof au,a=r?o.validator:o;if(r&&n===void 0)continue;let{content:d,error:l}=a.validate(n);if(l)return{content:void 0,error:{message:`Error in property '${i}': ${l.message}`}};t[i]=d}return{content:t,error:void 0}}getJSONSchema(){let e=[],t={};for(let[o,n]of Object.entries(this.properties)){let r=n instanceof au,a=r?n.validator:n;t[o]=a.getJSONSchema(),r||e.push(o)}return{type:"object",properties:t,...e.length>0?{required:e}:{}}}};function jM(s){return new Ux(s)}var jx=class extends is{constructor(e){super(),this.validators=e}validate(e){let t;for(let i of this.validators){let{content:o,error:n}=i.validate(e);if(!n)return{content:o,error:void 0};t=n}return{content:void 0,error:t}}getJSONSchema(){return{oneOf:UD(this.validators,e=>{if(!(e instanceof w_))return e.getJSONSchema()})}}};function KM(...s){return new jx(s)}var Kx=class extends is{constructor(e,t){super(),this._ref=e,this._validator=t}validate(e){return this._validator.validate(e)}getJSONSchema(){return{$ref:this._ref}}};function qM(s,e){return new Kx(s,e)}var UF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},GM=function(s,e){return function(t,i){e(t,i,s)}};function $M(s){return s.sourceId+" @@ "+JSON.stringify({...s,modelUri:s.modelUri?.toString(),sourceId:void 0})}var xl=class extends D{static cast(){return this}constructor(e,t,i){super(),this._key=e,this._contextKeyService=t,this._dataChannelService=i,this._isEnabledContextKeyValue=jF("structuredLogger.enabled:"+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map(o=>o!==void 0)}log(e){return this._isEnabledContextKeyValue.get()?(this._dataChannelService.getDataChannel("structuredLogger:"+this._key).sendData(e),!0):!1}};xl=UF([GM(1,J),GM(2,hm)],xl);function jF(s,e){return st(e.onDidChangeContext,()=>e.getContextKeyValue(s))}var KF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ZM=function(s,e){return function(t,i){e(t,i,s)}},y_=class extends D{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._loggerService=i,this._structuredLogger=this._register(this._instantiationService.createInstance(xl.cast(),"editor.inlineSuggest.logChangeReason.commandId"));let o=this._loggerService?.createLogger("textModelChanges",{hidden:!1,name:"Text Model Changes Reason"}),n=st(this,o.onDidChangeLogLevel,()=>o.getLevel());this._register(se(r=>{A0(n.read(r),O0.Trace)&&r.store.add(this._editor.onDidChangeModelContent(a=>{this._editor.getModel()?.uri.scheme!=="output"&&o.trace("onDidChangeModelContent: "+a.detailedReasons.map(d=>d.toKey(Number.MAX_VALUE)).join(", "))}))})),this._register(se(r=>{this._editor instanceof Cd&&this._structuredLogger.isEnabled.read(r)&&r.store.add(this._editor.onDidChangeModelContent(a=>{let d=this._editor.getModel();if(!d)return;let l=a.detailedReasons[0],c={...l.metadata,sourceId:"TextModel.setChangeReason",source:l.metadata.source,time:Date.now(),modelUri:d.uri,modelVersion:d.getVersionId()};setTimeout(()=>{this._structuredLogger.log(c)},0)}))}))}};y_=KF([ZM(1,j),ZM(2,P0)],y_);function La(s){return new Gx(s)}var Gx=class extends sk{constructor(e){super(),this._textModel=e}getOffset(e){return this._textModel.getOffsetAt(e)}getPosition(e){return this._textModel.getPositionAt(e)}};var qF=[];function YM(){return qF}function $x(s){return GF(s).map(t=>t.getEndPosition())}function GF(s){let e=qD.createSortPermutation(s,So(o=>o.range,C.compareRangesUsingStarts)),i=new Wi(e.apply(s)).getNewRanges();return e.inverse().apply(i)}function XM(s,e){let t=La(e),i=e.getValue();return s.map(r=>t.getStringReplacement(r)).map(r=>r.removeCommonSuffixPrefix(i)).map(r=>t.getTextReplacement(r))}function QM(s,e){let t=be("result",[]),i=[];return e.add(se(o=>{let n=s.read(o);Ci(r=>{if(n.length!==i.length){i.length=n.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=be("item",n[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(n[d],r))})})),t}var x_=class{constructor(e){this._contextKeyService=e}bind(e,t){return mR(e,this._contextKeyService,t instanceof Function?t:i=>t.read(i))}};function Zx(s,e){return new Promise(t=>{let i,o=setTimeout(()=>{i&&i.dispose(),t()},s);e&&(i=e.onCancellationRequested(()=>{clearTimeout(o),i&&i.dispose(),t()}))})}var lu=class s{static message(e){return new s(void 0,e)}constructor(e,t=void 0){this.error=e,this.message=t}static is(e){return e instanceof s}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)}};var I_=class s{static startNow(e,t,i,o=JM){return new s(e,t,i,Date.now(),o)}constructor(e,t,i,o,n=JM){this.startValue=e,this.endValue=t,this.durationMs=i,this.startTimeMs=o,this._interpolationFunction=n,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 JM(s,e,t,i){return s===i?e+t:t*(-Math.pow(2,-10*s/i)+1)+e}function eN(s,e,t,i){return t*((s=s/i-1)*s*s+1)+e}var L_=class{constructor(e){this._value=e}getValue(e){let t=Date.now();return this._value.isFinished(t)||Il.instance.invalidateOnNextAnimationFrame(e),this._value.getValue(t)}isFinished(e){let t=Date.now(),i=this._value.isFinished(t);return i||Il.instance.invalidateOnNextAnimationFrame(e),i}},Il=class s{constructor(){this._counter=yo(this),this._isScheduled=!1}static{this.instance=new s}invalidateOnNextAnimationFrame(e){this._counter.read(e),this._isScheduled||(this._isScheduled=!0,ks().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()}))}_update(){this._counter.trigger(void 0)}};var Pn=class{constructor(e,t){this.lineNumber=e,this.parts=t,_D(()=>Qu(t,(i,o)=>i.column<=o.column))}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";let t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new Wi([...this.parts.map(n=>new Be(C.fromPositions(new H(1,n.column)),n.lines.map(r=>r.line).join(`
|
|
43
|
+
`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}},os=class{constructor(e,t,i,o=[]){this.column=e,this.text=t,this.preview=i,this._inlineDecorations=o,this.lines=bi(this.text).map((n,r)=>({line:n,lineDecorations:Gn.filter(this._inlineDecorations,r+1,1,n.length+1)}))}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t.line===e.lines[i].line&&Gn.equalsArr(t.lineDecorations,e.lines[i].lineDecorations))}},Ll=class{constructor(e,t,i,o=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=o,this.parts=[new os(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=bi(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
44
|
+
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}};function Yx(s,e){return Yt(s,e,Xx)}function Xx(s,e){return s===e?!0:!s||!e?!1:s instanceof Pn&&e instanceof Pn||s instanceof Ll&&e instanceof Ll?s.equals(e):!1}function _o(s,e,t){let i=t?s.range.intersectRanges(t):s.range;if(!i)return s;let o=s.text.replaceAll(`\r
|
|
45
|
+
`,`
|
|
46
|
+
`),n=e.getValueInRange(i,1),r=Fo(n,o),a=Hi.ofText(n.substring(0,r)).addToPosition(s.range.getStartPosition()),d=o.substring(r),l=C.fromPositions(a,s.range.getEndPosition());return new Be(l,d)}function E_(s,e){return s.text.startsWith(e.text)&&$F(s.range,e.range)}function $F(s,e){return e.getStartPosition().equals(s.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(s.getEndPosition())}function Qx(s,e,t,i,o=0){let n=_o(s,e);if(n.range.endLineNumber!==n.range.startLineNumber)return;let r=e.getLineContent(n.range.startLineNumber),a=vt(r).length;if(n.range.startColumn-1<=a){let m=vt(n.text).length,f=r.substring(n.range.startColumn-1,a),[_,b]=[n.range.getStartPosition(),n.range.getEndPosition()],v=_.column+f.length<=b.column?_.delta(0,f.length):b,y=C.fromPositions(v,b),L=n.text.startsWith(f)?n.text.substring(f.length):n.text.substring(m);n=new Be(y,L)}let l=e.getValueInRange(n.range),c=ZF(l,n.text);if(!c)return;let h=n.range.startLineNumber,u=new Array;if(t==="prefix"){let m=c.filter(f=>f.originalLength===0);if(m.length>1||m.length===1&&m[0].originalStart!==l.length)return}let g=n.text.length-o;for(let m of c){let f=n.range.startColumn+m.originalStart+m.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===n.range.startLineNumber&&f<i.column||m.originalLength>0)return;if(m.modifiedLength===0)continue;let _=m.modifiedStart+m.modifiedLength,b=Math.max(m.modifiedStart,Math.min(_,g)),v=n.text.substring(m.modifiedStart,b),y=n.text.substring(b,Math.max(m.modifiedStart,_));v.length>0&&u.push(new os(f,v,!1)),y.length>0&&u.push(new os(f,y,!0))}return new Pn(h,u)}var D_;function ZF(s,e){if(D_?.originalValue===s&&D_?.newValue===e)return D_?.changes;{let t=iN(s,e,!0);if(t){let i=tN(t);if(i>0){let o=iN(s,e,!1);o&&tN(o)<i&&(t=o)}}return D_={originalValue:s,newValue:e,changes:t},t}}function tN(s){let e=0;for(let t of s)e+=t.originalLength;return e}function iN(s,e,t){if(s.length>5e3||e.length>5e3)return;function i(l){let c=0;for(let h=0,u=l.length;h<u;h++){let g=l.charCodeAt(h);g>c&&(c=g)}return c}let o=Math.max(i(s),i(e));function n(l){if(l<0)throw new Error("unexpected");return o+l+1}function r(l){let c=0,h=0,u=new Int32Array(l.length);for(let g=0,m=l.length;g<m;g++)if(t&&l[g]==="("){let f=h*100+c;u[g]=n(2*f),c++}else if(t&&l[g]===")"){c=Math.max(c-1,0);let f=h*100+c;u[g]=n(2*f+1),c===0&&h++}else u[g]=l.charCodeAt(g);return u}let a=r(s),d=r(e);return new bg({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}function oN(s,e){let t,i=!1,o=new QD(new XD(s,void 0,e.update),(n,r)=>{i||(t=e.initial instanceof Function?e.initial():e.initial,i=!0);let a=e.update(n,t,r);return t=a,a},e.changeTracker,()=>{i&&(e.disposeFinal?.(t),i=!1)},e.equalityComparer??GD,(n,r,a)=>{if(!i)throw new Ye("Can only set when there is a listener! This is to prevent leaks.");dc(r,d=>{t=n,o.setValue(n,d,a)})},Es.ofCaller());return o}var YF=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},nN=function(s,e){return function(t,i){e(t,i,s)}},Jx=class{constructor(e,t){this._baseService=e,this._intercept=t}publicLog2(e,t){this._intercept(e,t),this._baseService.publicLog2(e,t)}},k_=class extends Jx{constructor(e,t){super(e,(i,o)=>{let n=!0;o&&eI in o&&(n=!!o[eI]),n&&t.getDataChannel("editTelemetry").sendData({eventName:i,data:o??{}})})}};k_=YF([nN(0,yi),nN(1,hm)],k_);var eI=Symbol("shouldForwardToChannel");function rN(s){return{[eI]:s}}function tI(s){if(!s)return!1;let e=s.toLowerCase();return e==="github.copilot"||e==="github.copilot-chat"}function sN(s,e){s.publicLog2("inlineCompletion.endOfLife",e)}var XF=new Set([";",",","=","+","-","*","/","{","}","(",")","[","]","<",">",":",".","!","?","&","|","^","%","@","#","~","`","\\","'",'"',"$"]);function QF(s){return XF.has(s)}function JF(s){return/[a-zA-Z0-9_]/.test(s)}function eH(s){return s===" "||s===" "}function R_(s){let e=s.split(/\r\n|\r|\n/);if(e.length>1)return{kind:"multiLine",lineCount:e.length};let t=s.length===1,i;t&&(QF(s)?i="syntactical":JF(s)?i="identifier":eH(s)&&(i="whitespace"));let o=s.match(/[ \t]+/g)||[],n=o.some(c=>c.length>1),r=o.some(c=>c.includes(" ")||c.includes(" ")),a=s.split(/\s+/).filter(c=>c.length>0),d=a.length===1&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(a[0]),l=a.length>1;return{kind:"singleLine",isSingleCharacter:t,singleCharacterKind:i,isWord:d,isMultipleWords:l,isMultipleWhitespace:n,hasDuplicatedWhitespace:r}}var oI=class{constructor(e){this.edits=e}toString(){return JSON.stringify({edits:this.edits})}};function nI(s,e,t){if(s.replacements.length!==0)return new oI(s.replacements.map(i=>tH(i,e)))}function iI(s){return s.length===0?0:s.split(/\r\n|\r|\n/).length-1}function tH(s,e,t){let i=s.replaceRange,o=s.newText,n=i.length,r=o.length,a=iI(o);switch(i.isEmpty?"insert":o.length===0?"delete":"replace"){case"insert":return{operation:"insert",properties:iH(i.start,o,e),charactersInserted:r,charactersDeleted:0,linesInserted:a,linesDeleted:0};case"delete":{let l=e.getValue().substring(i.start,i.endExclusive);return{operation:"delete",properties:oH(i.start,i.endExclusive,e),charactersInserted:0,charactersDeleted:n,linesInserted:0,linesDeleted:iI(l)}}case"replace":{let l=e.getValue().substring(i.start,i.endExclusive);return{operation:"replace",properties:nH(l,o),charactersInserted:r,charactersDeleted:n,linesInserted:a,linesDeleted:iI(l)}}}}function iH(s,e,t,i){let o=R_(e),n=t.getPositionAt(s),r=t.getLineContent(n.lineNumber),a=r.length,d,l=r.trim().length===0,c=n.column>a,h=n.column===1;return l?d="emptyLine":c?d="endOfLine":h?d="startOfLine":d="middleOfLine",{textShape:o,locationShape:d,relativeToCursor:void 0}}function oH(s,e,t){let i=t.getValue().substring(s,e),o=R_(i),n=t.getPositionAt(s),r=t.getPositionAt(e),a=t.getLineContent(r.lineNumber),d=r.column>a.length,l=n.lineNumber===r.lineNumber&&n.column===1&&r.column>a.length;return{textShape:o,isAtEndOfLine:d,deletesEntireLineContent:l}}function nH(s,e){let t=R_(s),i=R_(e),o=t.kind==="singleLine"&&t.isWord,n=i.kind==="singleLine"&&i.isWord,r=o&&n,a=e.length>s.length,d=e.length<s.length,l=t.kind==="singleLine"&&i.kind==="singleLine",c=t.kind==="singleLine"&&i.kind==="multiLine",h=t.kind==="multiLine"&&i.kind==="singleLine";return{isWordToWordReplacement:r,isAdditive:a,isSubtractive:d,isSingleLineToSingleLine:l,isSingleLineToMultiLine:c,isMultiLineToSingleLine:h}}function T_(s,e,t,i){let o=_o(s,t),n=s.range;if(!n||e&&!e.getStartPosition().equals(n.getStartPosition())||i.lineNumber!==o.range.startLineNumber||o.isEmpty)return!1;let r=t.getValueInRange(o.range,1),a=o.text,d=Math.max(0,i.column-o.range.startColumn),l=a.substring(0,d),c=a.substring(d),h=r.substring(0,d),u=r.substring(d),g=t.getLineIndentColumn(o.range.startLineNumber);return o.range.startColumn<=g&&(h=h.trimStart(),h.length===0&&(u=u.trimStart()),l=l.trimStart(),l.length===0&&(c=c.trimStart())),l.startsWith(h)&&!!bR(u,c)}var M_;(function(s){function e(t){return t?.command.id??void 0}s.toString=e})(M_||(M_={}));var On=class s extends ak{static snapshot(e){return new s(e)}constructor(e){super(),this._textModel=e,this._version=e.getVersionId()}get uri(){return this._textModel.uri}_assertValid(){this._textModel.getVersionId()!==this._version&&ae(new 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 Hi(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}};var El;(function(s){function e(t,i,o=!0){return!t.isInlineEdit&&!t.action?.uri&&t.action?.kind==="edit"?rI.create(t,i,t.action):sI.create(t,i,o)}s.create=e})(El||(El={}));function rH(s){let e=s?.kind==="edit"?{...s,alternativeAction:M_.toString(s.alternativeAction),target:s?.target.uri.toString()}:{...s,target:s?.target.uri.toString()};return JSON.stringify(e)}var N_=class{constructor(e,t,i,o){this._data=e,this.identity=t,this.hint=i,this.originalTextRef=o}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===di.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 C.fromPositions(this.action.position);throw new Ye("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 rH(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,i,o,n){let r=this.action?.kind==="edit"?this.action.textReplacement.text:"";this._data.reportInlineEditShown(e,r,t,i,this.computeEditKind(o),n)}reportPartialAccept(e,t,i){this._data.reportPartialAccept(e,t,i)}reportEndOfLife(e){this._data.reportEndOfLife(e)}setEndOfLifeReason(e){this._data.setEndOfLifeReason(e)}setIsPreceeded(e){this._data.setIsPreceeded(e.partialAccepts)}setNotShownReasonIfNotSet(e){this._data.setNotShownReason(e)}getSourceCompletion(){return this._sourceInlineCompletion}setRenameProcessingInfo(e){this._data.setRenameProcessingInfo(e)}withAction(e){return this._data.withAction(e)}addPerformanceMarker(e){this._data.addPerformanceMarker(e)}},P_=class s{constructor(){this._onDispose=yo(this),this.onDispose=this._onDispose,this._jumpedTo=be(this,!1),this._refCount=0,this.id="InlineCompletionIdentity"+s.idCounter++}static{this.idCounter=0}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){this._refCount--,this._refCount===0&&this._onDispose.trigger(void 0)}setJumpTo(e){this._jumpedTo.set(!0,e)}},O_=class s{static create(e){return new s(C.lift(e.range),e.content,e.style)}constructor(e,t,i){this.range=e,this.content=t,this.style=i}withEdit(e,t){let i=new Ne(t.getOffset(this.range.getStartPosition()),t.getOffset(this.range.getEndPosition())),o=vC([i],e)[0];if(!o)return;let n=t.getRange(o);return new s(n,this.content,this.style)}},rI=class s extends N_{static create(e,t,i){let o=new P_,n=t.getTransformer(),r=i.insertText.replace(/\r\n|\r|\n/g,t.getEOL()),a=dH(new ii(n.getOffsetRange(i.range),r),t),d=a.removeCommonSuffixAndPrefix(t.getValue()),l=n.getTextReplacement(a),c=e.hint?O_.create(e.hint):void 0;return new s(a,d,l,l.range,i.snippetInfo,e.additionalTextEdits,e,o,c,t)}constructor(e,t,i,o,n,r,a,d,l,c){super(a,d,l,c),this._edit=e,this._trimmedEdit=t,this._textEdit=i,this._originalRange=o,this.snippetInfo=n,this.additionalTextEdits=r,this.isInlineEdit=!1}get action(){return{kind:"edit",textReplacement:this.getSingleTextEdit(),snippetInfo:this.snippetInfo,stringEdit:new ho([this._trimmedEdit]),alternativeAction:void 0,target:this.originalTextRef}}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(e){return new s(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,e,this.hint,this.originalTextRef)}withEdit(e,t){if(!this.originalTextRef.targets(t))return this;let i=vC([this._edit.replaceRange],e);if(i.length===0)return;let o=new ii(i[0],this._textEdit.text),n=La(t),r=n.getTextReplacement(o),a=this.hint;if(a&&(a=a.withEdit(e,n),!a))return;let d=o.removeCommonSuffixAndPrefix(t.getValue());return new s(o,d,r,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,a,this.originalTextRef)}canBeReused(e,t){let i=this._textEdit.range;return!!i&&i.containsPosition(t)&&this.isVisible(e,t)&&Hi.ofRange(i).isGreaterThanOrEqualTo(Hi.ofRange(this._originalRange))}isVisible(e,t){let i=this.getSingleTextEdit();return T_(i,this._originalRange,e,t)}computeEditKind(e){return nI(new ho([this._edit]),e)}get editRange(){return this.getSingleTextEdit().range}},sI=class s extends N_{static create(e,t,i=!0){let o,n=[];if(e.action?.kind==="edit"){let d=i?sH(t,e.action.range,e.action.insertText):aH(t,e.action.range,e.action.insertText),l=Wi.fromStringEdit(d,t),c=d.isEmpty()?new Be(new C(1,1,1,1),""):l.toReplacement(t);n=d.replacements.map(h=>{let u=C.fromPositions(t.getPositionAt(h.replaceRange.start),t.getTransformer().getPosition(h.replaceRange.endExclusive)),g=t.getValueInRange(u);return aI.create(h,g)}),o={kind:"edit",snippetInfo:e.action.snippetInfo,stringEdit:d,textReplacement:c,alternativeAction:e.action.alternativeAction,target:t}}else if(e.action?.kind==="jumpTo")o={kind:"jumpTo",position:e.action.position,offset:t.getTransformer().getOffset(e.action.position),target:t};else if(o=void 0,!e.hint)throw new Ye("InlineEditItem: action is undefined and no hint is provided");let r=new P_,a=e.hint?O_.create(e.hint):void 0;return new s(o,e,r,n,a,!1,t.getVersionId(),t)}constructor(e,t,i,o,n,r=!1,a,d){super(t,i,n,d),this._action=e,this._edits=o,this._lastChangePartOfInlineEdit=r,this._inlineEditModelVersion=a,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get action(){return this._action}withIdentity(e){return new s(this._action,this._data,e,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(e,t,i){let o=La(i),n=!1,r=this._inlineEditModelVersion,a,d=On.snapshot(i);if(this.action?.kind==="edit"){if(t=t.map(g=>g.applyTextModelChanges(e)),t.some(g=>g.edit===void 0))return;let c=i.getVersionId();if(n=t.some(g=>g.lastChangeUpdatedEdit),n&&(r=c??-1),c===null||r+20<c||(t=t.filter(g=>!g.edit.isEmpty),t.length===0))return;let h=new ho(t.map(g=>g.edit));a={kind:"edit",textReplacement:o.getTextEdit(h).toReplacement(new Tc(i)),snippetInfo:this.snippetInfo,stringEdit:h,alternativeAction:this.action.alternativeAction,target:d}}else if(this.action?.kind==="jumpTo"){let c=this.action.offset,h=e.applyToOffsetOrUndefined(c);if(h===void 0)return;a={kind:"jumpTo",position:o.getPosition(h),offset:h,target:d}}else a=void 0;let l=this.hint;if(!(l&&(l=l.withEdit(e,o),!l)))return new s(a,this._data,this.identity,t,l,n,r,d)}computeEditKind(e){let t=this.action?.kind==="edit"?this.action.stringEdit:void 0;if(t)return nI(t,e)}};function sH(s,e,t){let i=s.getEOL(),o=s.getValueOfRange(e),n=t.replace(/\r\n|\r|\n/g,i),d=dk.getDefault().computeDiff(bi(o),bi(n),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:50}).changes.flatMap(u=>u.innerChanges??[]);function l(u,g){let m=Hi.fromPosition(g.getStartPosition());return Hi.ofRange(g).createRange(m.addToPosition(u))}let c=new rd(n);return new ho(d.map(u=>{let g=l(e.getStartPosition(),u.originalRange),m=s.getTransformer().getOffsetRange(g),f=c.getValueOfRange(u.modifiedRange),_=new ii(m,f),b=s.getValueOfRange(g);return lH(_,b,d.length,s)}))}function aH(s,e,t){return new ho([new ii(s.getTransformer().getOffsetRange(e),t)])}var aI=class s{static create(e,t){let i=Fo(e.newText,t),o=nc(e.newText,t),n=e.newText.substring(i,e.newText.length-o);return new s(e,n,i,o)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(e,t,i,o,n=!1){this._edit=e,this._trimmedNewText=t,this._prefixLength=i,this._suffixLength=o,this._lastChangeUpdatedEdit=n}applyTextModelChanges(e){let t=this._clone();return t._applyTextModelChanges(e),t}_clone(){return new s(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(e){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new Ye("UpdatedInnerEdits: No edit to apply changes to");let t=this._applyChanges(this._edit,e);if(!t){this._edit=void 0;return}this._edit=t.edit,this._lastChangeUpdatedEdit=t.editHasChanged}_applyChanges(e,t){let i=e.replaceRange.start,o=e.replaceRange.endExclusive,n=e.newText,r=!1,a=this._prefixLength>0||this._suffixLength>0;for(let d=t.replacements.length-1;d>=0;d--){let l=t.replacements[d],c=l.newText.length>0&&l.replaceRange.isEmpty;if(c&&!a&&l.replaceRange.start===i&&n.startsWith(l.newText)){i+=l.newText.length,n=n.substring(l.newText.length),o+=l.newText.length,r=!0;continue}if(c&&a&&l.replaceRange.start===i+this._prefixLength&&this._trimmedNewText.startsWith(l.newText)){o+=l.newText.length,r=!0,this._prefixLength+=l.newText.length,this._trimmedNewText=this._trimmedNewText.substring(l.newText.length);continue}if(l.newText.length===0&&l.replaceRange.length>0&&l.replaceRange.start>=i+this._prefixLength&&l.replaceRange.endExclusive<=o-this._suffixLength){o-=l.replaceRange.length,r=!0;continue}if(l.equals(e)){r=!0,i=l.replaceRange.endExclusive,n="";continue}if(!(l.replaceRange.start>o)){if(l.replaceRange.endExclusive<i){i+=l.newText.length-l.replaceRange.length,o+=l.newText.length-l.replaceRange.length;continue}return}}return this._trimmedNewText.length===0&&i+this._prefixLength===o-this._suffixLength?{edit:new ii(new Ne(i+this._prefixLength,i+this._prefixLength),""),editHasChanged:!0}:{edit:new ii(new Ne(i,o),n),editHasChanged:r}}};function dH(s,e){let t=e.getEOL();return s.replaceRange.isEmpty&&s.newText.includes(t)&&(s=aN(s,e)),s}function lH(s,e,t,i){let o=i.getEOL();if(s.newText.endsWith(o)&&e.endsWith(o)&&(s=new ii(s.replaceRange.deltaEnd(-o.length),s.newText.slice(0,-o.length))),t===1&&s.replaceRange.isEmpty&&s.newText.includes(o)){let n=i.getTransformer().getPosition(s.replaceRange.start);i.getLineLength(n.lineNumber)!==0&&(s=aN(s,i))}if(t===1){let n=Fo(e,s.newText),r=nc(e.slice(n),s.newText.slice(n));if(n+r===e.length)return new ii(s.replaceRange.deltaStart(n).deltaEnd(-r),s.newText.substring(n,s.newText.length-r));if(n+r===s.newText.length)return new ii(s.replaceRange.deltaStart(n).deltaEnd(-r),"")}return s}function aN(s,e){if(!s.replaceRange.isEmpty)throw new Ye("Unexpected original range");if(s.replaceRange.start===0)return s;let t=e.getEOL(),i=e.getTransformer().getPosition(s.replaceRange.start),o=i.column,n=i.lineNumber;return o===1&&n>1&&s.newText.endsWith(t)&&!s.newText.startsWith(t)?new ii(s.replaceRange.delta(-1),t+s.newText.slice(0,-t.length)):s}function dN(s,e){let t=new rR,i=new aR(t,l=>e.getLanguageConfiguration(l)),o=new sR(new dI([s]),i),n=dR(o,[],void 0,!0),r="",a=s.getLineContent();function d(l,c){if(l.kind===2)if(d(l.openingBracket,c),c=_d(c,l.openingBracket.length),l.child&&(d(l.child,c),c=_d(c,l.child.length)),l.closingBracket)d(l.closingBracket,c),c=_d(c,l.closingBracket.length);else{let u=i.getSingleLanguageBracketTokens(l.openingBracket.languageId).findClosingTokenText(l.openingBracket.bracketIds);r+=u}else if(l.kind!==3){if(l.kind===0||l.kind===1)r+=a.substring(c,_d(c,l.length));else if(l.kind===4)for(let h of l.children)d(h,c),c=_d(c,h.length)}}return d(n,nR),r}var dI=class{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}};var et;(function(s){s.Jump="jump",s.Accept="accept",s.Inactive="inactive"})(et||(et={}));var ro=class s{static create(e,t=!1){return new s(new Ba(bt(e),e),t)}constructor(e,t=!1){this.event=e,this.alternativeAction=t}},Ce;(function(s){s.GhostText="ghostText",s.Custom="custom",s.SideBySide="sideBySide",s.Deletion="deletion",s.InsertionInline="insertionInline",s.InsertionMultiLine="insertionMultiLine",s.WordReplacements="wordReplacements",s.LineReplacement="lineReplacement",s.Collapsed="collapsed",s.JumpTo="jumpTo"})(Ce||(Ce={}));var Ea=class{constructor(e,t,i,o,n,r,a,d){this.cursorColumnDistance=e,this.cursorLineDistance=t,this.lineCountOriginal=i,this.lineCountModified=o,this.characterCountOriginal=n,this.characterCountModified=r,this.disjointReplacements=a,this.sameShapeReplacements=d,this.longDistanceHintVisible=void 0,this.longDistanceHintDistance=void 0,this.isForAnotherDocument=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,isForAnotherDocument:this.isForAnotherDocument}}};var A_=class s{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(e,t){let i=new s;for(let o of e)i._nodes.add(o);for(let o of e){let n=t(o);if(n.length>0){let r=new Set;for(let a of n)r.add(a);i._outgoingEdges.set(o,r)}}return i}removeCycles(){let e=[],t=new Set,i=new Set,o=[],n=r=>{t.add(r),i.add(r);let a=this._outgoingEdges.get(r);if(a)for(let d of a)t.has(d)?i.has(d)&&(e.push(d),o.push({from:r,to:d})):n(d);i.delete(r)};for(let r of this._nodes)t.has(r)||n(r);for(let{from:r,to:a}of o){let d=this._outgoingEdges.get(r);d&&d.delete(a)}return{foundCycles:e}}getOutgoing(e){let t=this._outgoingEdges.get(e);return t?Array.from(t):[]}};function cN(s,e,t,i,o,n){let r=Uk("icr"),a=new Oe,d,l={...i,requestUuid:r},c=hH(e,t),h=tR(s,b=>b.groupId),u=A_.from(s,b=>b.yieldsToGroupIds?.flatMap(v=>h.get(v)??[])??[]),{foundCycles:g}=u.removeCycles();g.length>0&&Te(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${g.map(b=>b.toString?b.toString():""+b).join(" -> ")}`));let m=0,f=new kD(async b=>{try{if(m++,a.token.isCancellationRequested)return;let v=u.getOutgoing(b);for(let T of v){let N=await f.get(T);if(N)for(let F of N.inlineSuggestions.items){if(F.isInlineEdit||typeof F.insertText!="string"&&F.insertText!==void 0)return;if(F.insertText!==void 0){let P=new Be(C.lift(F.range)??c,F.insertText);if(T_(P,void 0,t,e))return}}}let y,L=Date.now();try{y=await b.provideInlineCompletions(t,e,l,a.token)}catch(T){Te(T);return}let E=Date.now();if(!y)return;let S=[],x=new hI(y,S,b);if(x.addRef(),uI(a.token,()=>x.removeRef(d)),a.token.isCancellationRequested)return;for(let T of y.items){let N=cH(T,x,c,t,n,l,o,{startTime:L,endTime:E});if(lu.is(N)){N.logError();continue}S.push(N)}return x}finally{m--}}),_=_i.fromPromisesResolveOrder(s.map(b=>f.get(b))).filter(lo);return{contextWithUuid:l,get didAllProvidersReturn(){return m===0},lists:_,cancelAndDispose:b=>{d===void 0&&(d=b,a.dispose(!0))}}}function uI(s,e){if(s.isCancellationRequested)return e(),D.None;{let t=s.onCancellationRequested(()=>{t.dispose(),e()});return{dispose:()=>t.dispose()}}}function cH(s,e,t,i,o,n,r,a){let d,l=s.uri?ge.revive(s.uri):void 0;if(s.jumpToPosition!==void 0)d={kind:"jumpTo",position:H.lift(s.jumpToPosition),uri:l};else if(s.insertText!==void 0){let c,h,u=s.range?C.lift(s.range):t;if(typeof s.insertText=="string"){if(c=s.insertText,o&&s.completeBracketPairs){c=lN(c,u.getStartPosition(),i,o);let g=c.length-s.insertText.length;g!==0&&(u=new C(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn+g))}h=void 0}else if("snippet"in s.insertText){let g=s.insertText.snippet.length;if(o&&s.completeBracketPairs){s.insertText.snippet=lN(s.insertText.snippet,u.getStartPosition(),i,o);let f=s.insertText.snippet.length-g;f!==0&&(u=new C(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn+f))}let m=new Vi().parse(s.insertText.snippet);m.children.length===1&&m.children[0]instanceof jt?(c=m.children[0].value,h=void 0):(c=m.toString(),h={snippet:s.insertText.snippet,range:u})}else Fa(s.insertText);d={kind:"edit",range:u,insertText:c,snippetInfo:h,uri:l,alternativeAction:void 0}}else if(d=void 0,!s.hint)return lu.message("Inline completion has no insertText, jumpToPosition nor hint.");return new lI(d,s.hint,s.additionalTextEdits||YM(),s,e,n,s.isInlineEdit??!1,s.supportsRename??!1,r,a,s.correlationId)}var lI=class{get action(){return this._action}constructor(e,t,i,o,n,r,a,d,l,c,h){this._action=e,this.hint=t,this.additionalTextEdits=i,this.sourceInlineCompletion=o,this.source=n,this.context=r,this.isInlineEdit=a,this.supportsRename=d,this._requestInfo=l,this._providerRequestInfo=c,this._correlationId=h,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 cI,this._viewData={editorType:l.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(e,t,i,o,n,r){if(this.updateShownDuration(i),this._didShow||this._didReportEndOfLife)return;this.addPerformanceMarker("shown"),this._didShow=!0,this._editKind=n,this._viewData.viewKind=i,this._viewData.renderData=o,this._timeUntilShown=r-this._requestInfo.startTime,this._timeUntilActuallyShown=Date.now()-this._requestInfo.startTime;let a=new oR(o.lineCountModified,o.lineCountOriginal,o.characterCountModified,o.characterCountOriginal);this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,t,a),this.sourceInlineCompletion.shownCommand&&await e.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(e,t,i){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=i.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*i.ratio,1),this._partiallyAcceptedSinceOriginal.count+=i.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}reportEndOfLife(e){if(!this._didReportEndOfLife&&(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),e||(e=this._lastSetEndOfLifeReason??{kind:Ho.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),e.kind===Ho.Rejected&&!this._didShow&&(e={kind:Ho.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),e.kind===Ho.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(i=>i.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||(this._showStartTime=t);let i=e===Ce.Collapsed;!i&&this._showUncollapsedStartTime===void 0&&(this._showUncollapsedStartTime=t),i&&this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=t-this._showUncollapsedStartTime)}reportInlineEditHidden(){if(this._showStartTime===void 0)return;let e=Date.now();this._shownDuration+=e-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=e-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0)}setRenameProcessingInfo(e){if(this._renameInfo)throw new Ye("Rename info has already been set.");this._renameInfo=e}withAction(e){return this._action=e,this}addPerformanceMarker(e){this.performance.mark(e)}},cI=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 i=this.markers[t].timeStamp-this.markers[t-1].timeStamp;e.push({[this.markers[t].name]:i})}return JSON.stringify(e)}},nt;(function(s){s.TextEditor="textEditor",s.DiffEditor="diffEditor",s.Notebook="notebook"})(nt||(nt={}));var hI=class{constructor(e,t,i){this.inlineSuggestions=e,this.inlineSuggestionsData=t,this.provider=i,this.refCount=0}addRef(){this.refCount++}removeRef(e={kind:"other"}){if(this.refCount--,this.refCount===0){for(let t of this.inlineSuggestionsData)t.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,e)}else this.refCount<0&&ae(new Ye(`InlineSuggestionList (provider=${this.provider.providerId?.toString()}) refCount went negative (${this.refCount}) \u2014 more removeRef than addRef calls.`))}};function hH(s,e){let t=e.getWordAtPosition(s),i=e.getLineMaxColumn(s.lineNumber);return t?new C(s.lineNumber,t.startColumn,s.lineNumber,i):C.fromPositions(s,s.with(void 0,i))}function lN(s,e,t,i){let o=t.getLineContent(e.lineNumber),n=ii.replace(new Ne(e.column-1,o.length),s),a=t.tokenization.tokenizeLinesAt(e.lineNumber,[n.replace(o)])?.[0].sliceZeroCopy(n.getRangeAfterReplace());return a?dN(a,i):s}var uH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Dl=function(s,e){return function(t,i){e(t,i,s)}},ur;(function(s){s.no="no",s.yes="yes",s.maybe="maybe"})(ur||(ur={}));(function(s){function e(t){switch(t){case"no":return s.no;case"yes":return s.yes;case"maybe":return s.maybe;default:return s.no}}s.fromString=e})(ur||(ur={}));var gI=class{constructor(){}inferRename(e,t,i,o){let n=new C(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),r=t.startColumn-n.startColumn,a=n.endColumn-t.endColumn,d=e.getValueInRange(n),l=e.getValueInRange(new C(n.startLineNumber,n.startColumn,n.startLineNumber,n.startColumn+r))+i+e.getValueInRange(new C(n.endLineNumber,n.endColumn-a,n.endLineNumber,n.endColumn)),c=[],h=[],u,g,m,f=e.getOffsetAt(n.getStartPosition()),{changes:_}=new bg(new pC(d),new pC(l)).ComputeDiff(!0);if(_.length===0)return;let b=[];for(let L of _){if(b.length===0){b.push(L);continue}let E=b[b.length-1],S=L.originalStart-(E.originalStart+E.originalLength);if(S>0){let x=f+E.originalStart+E.originalLength,T=e.getPositionAt(x),N=e.getWordAtPosition(T);if(N){let F=e.getOffsetAt(new H(T.lineNumber,N.startColumn)),P=e.getOffsetAt(new H(T.lineNumber,N.endColumn)),Y=x+S;if(F<=x&&Y<=P&&F<=Y&&Y<=P){E.originalLength=L.originalStart+L.originalLength-E.originalStart,E.modifiedLength=L.modifiedStart+L.modifiedLength-E.modifiedStart;continue}}}b.push(L)}let v=0;for(let L of b){let E=d.substring(L.originalStart,L.originalStart+L.originalLength),S=l.substring(L.modifiedStart,L.modifiedStart+L.modifiedLength),x=f+L.originalStart,T=e.getPositionAt(x),N=x+L.originalLength,F=e.getPositionAt(N),P=C.fromPositions(T,F),Y=S.length-L.originalLength;if(/\s/.test(E)){c.push(new Be(P,S)),v+=Y;continue}if(E.length>0){o.lastIndex=0;let Pe=o.exec(E);if(Pe===null||Pe.index!==0||Pe[0].length!==E.length){c.push(new Be(P,S)),v+=Y;continue}}if(/\s/.test(S)){c.push(new Be(P,S)),v+=Y;continue}if(S.length>0){o.lastIndex=0;let Pe=o.exec(S);if(Pe===null||Pe.index!==0||Pe[0].length!==S.length){c.push(new Be(P,S)),v+=Y;continue}}let le=e.getWordAtPosition(T);if(le===null){c.push(new Be(P,S)),v+=Y;continue}let de=L.originalStart+1,Ee=L.originalLength===0&&L.modifiedLength>0,ye;if(Ee&&de===le.endColumn&&le.endColumn>le.startColumn?ye=this.getTokenAtPosition(e,new H(T.lineNumber,le.startColumn)):ye=this.getTokenAtPosition(e,T),le.startColumn!==ye.range.startColumn||le.endColumn!==ye.range.endColumn){c.push(new Be(P,S)),v+=Y;continue}if(ye.type===0){let Pe=e.getValueInRange(ye.range);if(Pe.length===0){c.push(new Be(P,S)),v+=Y;continue}if(u===void 0)u=Pe;else if(u!==Pe){c.push(new Be(P,S)),v+=Y;continue}let we=e.getOffsetAt(ye.range.getStartPosition())-f+v,Ie=e.getOffsetAt(ye.range.getEndPosition())-f+v;if(Pe=l.substring(we,Ie+Y),Pe.length===0){c.push(new Be(P,S)),v+=Y;continue}if(g===void 0)g=Pe;else if(g!==Pe){c.push(new Be(P,S)),v+=Y;continue}m===void 0&&(m=ye.range.getStartPosition()),u!==void 0&&g!==void 0&&u.length>0&&g.length>0&&u!==g?h.push(new Be(ye.range,g)):h.push(new Be(P,S)),v+=Y}else c.push(new Be(P,S)),v+=S.length-L.originalLength}if(u===void 0||g===void 0||m===void 0||u.length===0||g.length===0||u===g)return;o.lastIndex=0;let y=o.exec(u);if(!(y===null||y.index!==0||y[0].length!==u.length)&&(o.lastIndex=0,y=o.exec(g),!(y===null||y.index!==0||y[0].length!==g.length)))return{renames:{edits:h,position:m,oldName:u,newName:g},others:{edits:c}}}getTokenAtPosition(e,t){e.tokenization.tokenizeIfCheap(t.lineNumber);let i=e.tokenization.getLineTokens(t.lineNumber),o=i.findTokenIndexAtOffset(t.column-1);return{type:i.getStandardTokenType(o),range:new C(t.lineNumber,1+i.getStartOffset(o),t.lineNumber,1+i.getEndOffset(o))}}},cu=class s{static create(e,t){let i=e.getFocusedCodeEditor();if(i!==null&&i.getModel()===t)return new s(i,t.getVersionId())}constructor(e,t){this.editor=e,this.versionId=t}equals(e){return e===void 0?!1:this.editor===e.editor&&this.versionId===e.versionId}},mI=class{constructor(e,t,i,o,n,r,a,d,l){if(this._result=void 0,this._commandService=t,this._textModel=o,this._state=n,this._requestUuid=i,this._cancellationTokenSource=new Oe,d===void 0||l===void 0){this._promise=MM(e.renameProvider,o,r,a,this._cancellationTokenSource.token);return}else this._promise=this.sendNesRenameRequest(o,r,l,a,d)}get requestUuid(){return this._requestUuid}isValid(e){return this._state.equals(cu.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,i,o,n){try{let r=await this._commandService.executeCommand("github.copilot.nes.postRename",e.uri,t,i,o,n);if(r===void 0)return{rejectReason:"Rename failed",edits:[]};let a=[];for(let d of r)for(let l of d.changes){let c=new C(l.range.start.line+1,l.range.start.character+1,l.range.end.line+1,l.range.end.character+1),h=new em(d.file,new Be(c,l.newText??o));a.push(h)}return{edits:a}}catch{return{rejectReason:"Rename failed",edits:[]}}}},F_=class extends D{constructor(e,t,i,o,n,r){super(),this._commandService=e,this._languageFeaturesService=t,this._languageConfigurationService=i,this._renameSymbolTrackerService=n,this._codeEditorService=r,this._renameInferenceEngine=new gI,this._renameRunnable=void 0,this._register(ve.registerCommand(_w,async(a,d,l)=>{if(!(l===void 0||!l.isValid(this._codeEditorService)))try{let c=await l.getWorkspaceEdit();if(c===void 0)return;o.apply(c,{reason:d})}finally{this._renameRunnable===l&&(this._renameRunnable=void 0)}}))}async proposeRenameRefactoring(e,t,i){if(!t.supportsRename||t.action?.kind!=="edit"||i.selectedSuggestionInfo||!TM(this._languageFeaturesService.renameProvider,e))return t;let o=cu.create(this._codeEditorService,e);if(o===void 0)return t;let n=Date.now(),r=t.action.textReplacement,a=this._languageConfigurationService.getLanguageConfiguration(e.getLanguageId()),d=this._renameInferenceEngine.inferRename(e,r.range,r.text,a.wordDefinition);if(d===void 0||d.renames.edits.length===0)return t;let{oldName:l,newName:c,position:h,edits:u}=d.renames,g=this._renameSymbolTrackerService.trackedWord.get(),m;g!==void 0&&g.model===e&&g.originalWord===l&&g.currentWord===c&&(m=g.currentRange);let f=!1,_=await ED(this.checkRenamePrecondition(t,e,h,l,c,m),100,()=>{f=!0}),b=this.isRenamePossible(t,_,o,e);if(t.setRenameProcessingInfo({createdRename:b,duration:Date.now()-n,timedOut:f,droppedOtherEdits:b?d.others.edits.length:void 0,droppedRenameEdits:b?u.length-1:void 0}),!b)return t;this._renameRunnable===void 0&&(this._renameRunnable=new mI(this._languageFeaturesService,this._commandService,t.requestUuid,e,o,h,c,m,m!==void 0?l:void 0));let v=uo.inlineCompletionAccept({nes:t.isInlineEdit,requestUuid:t.requestUuid,providerId:t.source.provider.providerId,languageId:e.getLanguageId(),correlationId:t.getSourceCompletion().correlationId}),y={id:_w,title:p(1274,"Rename"),arguments:[v,this._renameRunnable]},L={label:p(1275,"Rename"),icon:B.replaceAll,command:y,count:this._renameRunnable.getCount()},E={kind:"edit",range:u[0].range,insertText:u[0].text,snippetInfo:t.snippetInfo,alternativeAction:L,uri:e.uri},S=On.snapshot(e);return El.create(t.withAction(E),S,!1)}async checkRenamePrecondition(e,t,i,o,n,r){let a={canRename:ur.no,timedOut:!1};try{let d=await this._commandService.executeCommand("github.copilot.nes.prepareRename",t.uri,i,o,n,e.requestUuid,r);if(d===void 0)return a;if(typeof d=="string"){let l=ur.fromString(d);return l===ur.yes||l===ur.maybe?{canRename:l,oldName:o,onOldState:!1}:{canRename:l,timedOut:!1}}else return d}catch{return a}}isRenamePossible(e,t,i,o){return t===void 0||t.canRename===ur.no||!i.equals(cu.create(this._codeEditorService,o))?!1:this._renameRunnable===void 0?!0:this._renameRunnable.requestUuid===e.requestUuid?!1:(this._renameRunnable.cancel(),this._renameRunnable=void 0,!0)}};F_=uH([Dl(0,Fe),Dl(1,V),Dl(2,We),Dl(3,bn),Dl(4,fT),Dl(5,Re)],F_);var gH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kl=function(s,e){return function(t,i){e(t,i,s)}},pI,H_=class extends D{static{pI=this}static{this._requestId=0}constructor(e,t,i,o,n,r,a,d,l,c,h){super(),this._textModel=e,this._versionId=t,this._debounceValue=i,this._cursorPosition=o,this._languageConfigurationService=r,this._logService=a,this._configurationService=d,this._instantiationService=l,this._contextKeyService=c,this._textModelService=h,this._updateOperation=this._register(new xe),this._state=oN(this,{initial:()=>({inlineCompletions:Xo.createEmpty(),suggestWidgetInlineCompletions:Xo.createEmpty()}),disposeFinal:u=>{u.inlineCompletions.dispose(),u.suggestWidgetInlineCompletions.dispose()},changeTracker:gR(()=>({versionId:this._versionId})),update:(u,g,m)=>{let f=ho.compose(m.changes.map(_=>_.change?lR(_.change.changes):ho.empty).filter(lo));if(f.isEmpty())return g;try{return{inlineCompletions:g.inlineCompletions.createStateWithAppliedEdit(f,this._textModel),suggestWidgetInlineCompletions:g.suggestWidgetInlineCompletions.createStateWithAppliedEdit(f,this._textModel)}}finally{g.inlineCompletions.dispose(),g.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,u=>u.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,u=>u.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=R(this,u=>{this._versionId.read(u),this._updateOperation.clear()}),this._loadingCount=be(this,0),this.loading=this._loadingCount.map(this,u=>u>0),this._dataChannelTelemetryService=this._instantiationService.createInstance(k_),this._loggingEnabled=HC("editor.inlineSuggest.logFetch",!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=HC("editor.inlineSuggest.emptyResponseInformation",!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(xl.cast(),"editor.inlineSuggest.logFetch.commandId")),this._renameProcessor=this._store.add(this._instantiationService.createInstance(F_)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store),n&&(this._updateCompletionsEnablement(n),this._register(this._configurationService.onDidChangeConfiguration(u=>{u.affectsConfiguration(n)&&this._updateCompletionsEnablement(n)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(e){let t=this._configurationService.getValue(e);Ha(t)?this._completionsEnabled=t:this._completionsEnabled=void 0}_log(e){this._loggingEnabled.get()&&this._logService.info($M(e)),this._structuredFetchLogger.log(e)}fetch(e,t,i,o,n,r,a){let d=this._cursorPosition.get(),l=new fI(d,i,this._textModel.getVersionId(),new Set(e)),c=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(l))return this._updateOperation.value.promise;if(c?.request?.satisfies(l))return Promise.resolve(!0);let h=!!this._updateOperation.value;this._updateOperation.clear();let u=new Oe,g=(async()=>{let f=new M;this._loadingCount.set(this._loadingCount.get()+1,void 0);let _=!1,b=()=>{_||(_=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};f.add(new Ae(()=>b(),10*1e3)).schedule();let y=e.filter(E=>E.providerId),L=new _I(i,a,y);try{let E=this._debounceValue.get(this._textModel),S=ok(e.map(we=>we.debounceDelayMs),KD(wo))??E;if((h||n&&i.triggerKind===di.Automatic)&&await Zx(S,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId)return L.setNoSuggestionReasonIfNotSet("canceled:beforeFetch"),!1;let T=pI._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:"InlineCompletions.fetch",kind:"start",requestId:T,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:i.triggerKind,suggestInfo:i.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:t});let N=new Date,F=cN(e,this._cursorPosition.get(),this._textModel,i,a,this._languageConfigurationService);uI(u.token,()=>F.cancelAndDispose({kind:"tokenCancellation"}));let P=!1,Y=!1,le=[];for await(let we of F.lists)if(we){we.addRef(),f.add(ce(()=>we.removeRef(we.inlineSuggestionsData.length===0?{kind:"empty"}:{kind:"notTaken"})));for(let Ie of we.inlineSuggestionsData){if(Y=!0,!i.includeInlineEdits&&(Ie.isInlineEdit||Ie.showInlineEditMenu)){Ie.setNotShownReason("notInlineEditRequested");continue}if(!i.includeInlineCompletions&&!(Ie.isInlineEdit||Ie.showInlineEditMenu)){Ie.setNotShownReason("notInlineCompletionRequested");continue}Ie.addPerformanceMarker("providerReturned");let ct=Ie.action?.uri,$e,Ue;if(ct&&ct.toString()!==this._textModel.uri.toString()){let Ze=await this._textModelService.createModelReference(ct);$e=Ze.object.textEditorModel,Ue=Ze}else $e=this._textModel,Ue=void 0;let ut=On.snapshot($e),rt=El.create(Ie,ut);if(Ue){let Ze=mn(rt.identity.onDispose,()=>{Ue?.dispose(),Ze.dispose()})}Ie.addPerformanceMarker("itemCreated"),le.push(rt),!rt.isInlineEdit&&!rt.showInlineEditMenu&&i.triggerKind===di.Automatic&&rt.isVisible(this._textModel,this._cursorPosition.get())&&(P=!0)}if(P)break}le.forEach(we=>we.addPerformanceMarker("providersResolved"));let de=await Promise.all(le.map(async we=>this._renameProcessor.proposeRenameRefactoring(this._textModel,we,i)));if(de.forEach(we=>we.addPerformanceMarker("renameProcessed")),F.cancelAndDispose({kind:"lostRace"}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let we=F.didAllProvidersReturn,Ie;(u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId)&&(Ie="canceled");let ct=de.map($e=>{let Ue=$e.getSourceCompletion();if(Ue.doNotLog)return;let ut={insertText:Ue.insertText,range:Ue.range,additionalTextEdits:Ue.additionalTextEdits,uri:Ue.uri,command:Ue.command,gutterMenuLinkAction:Ue.gutterMenuLinkAction,shownCommand:Ue.shownCommand,completeBracketPairs:Ue.completeBracketPairs,isInlineEdit:Ue.isInlineEdit,showInlineEditMenu:Ue.showInlineEditMenu,showRange:Ue.showRange,warning:Ue.warning,hint:Ue.hint,supportsRename:Ue.supportsRename,correlationId:Ue.correlationId,jumpToPosition:Ue.jumpToPosition};return{...U0(ut,rt=>C.isIRange(rt)?C.lift(rt).toString():H.isIPosition(rt)?H.lift(rt).toString():Sg.is(rt)?{$commandId:rt.id}:rt),$providerId:$e.source.provider.providerId?.toString()}}).filter($e=>$e!==void 0);this._log({sourceId:"InlineCompletions.fetch",kind:"end",requestId:T,durationMs:Date.now()-N.getTime(),error:Ie,result:ct,time:Date.now(),didAllProvidersReturn:we})}if(L.setRequestUuid(F.contextWithUuid.requestUuid),Y)L.setHasProducedSuggestion(),de.length>0&&u.token.isCancellationRequested&&de.forEach(we=>we.setNotShownReasonIfNotSet("canceled:whileAwaitingOtherProviders"));else if(u.token.isCancellationRequested)L.setNoSuggestionReasonIfNotSet("canceled:whileFetching");else{let we=this._contextKeyService.getContextKeyValue("completionsQuotaExceeded");L.setNoSuggestionReasonIfNotSet(we?"completionsQuotaExceeded":"noSuggestion")}let Ee=i.earliestShownDateTime-Date.now();if(Ee>0&&await Zx(Ee,u.token),de.forEach(we=>we.addPerformanceMarker("minShowDelayPassed")),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==l.versionId||r.get()){let we=u.token.isCancellationRequested?"canceled:afterMinShowDelay":this._store.isDisposed?"canceled:disposed":this._textModel.getVersionId()!==l.versionId?"canceled:documentChanged":r.get()?"canceled:userJumped":"unknown";return de.forEach(Ie=>Ie.setNotShownReasonIfNotSet(we)),!1}let ye=new Date;this._debounceValue.update(this._textModel,ye.getTime()-N.getTime());let Pe=this._cursorPosition.get();this._updateOperation.clear(),Ci(we=>{let Ie=this._state.get();i.selectedSuggestionInfo?this._state.set({inlineCompletions:Xo.createEmpty(),suggestWidgetInlineCompletions:Ie.suggestWidgetInlineCompletions.createStateWithAppliedResults(de,l,this._textModel,Pe,o)},we):this._state.set({inlineCompletions:Ie.inlineCompletions.createStateWithAppliedResults(de,l,this._textModel,Pe,o),suggestWidgetInlineCompletions:Xo.createEmpty()},we),Ie.inlineCompletions.dispose(),Ie.suggestWidgetInlineCompletions.dispose()})}finally{f.dispose(),b(),this._sendInlineCompletionsRequestTelemetry(L)}return!0})(),m=new bI(l,u,g);return this._updateOperation.value=m,g}clear(e){if(this._store.isDisposed)return;this._updateOperation.clear();let t=this._state.get();this._state.set({inlineCompletions:Xo.createEmpty(),suggestWidgetInlineCompletions:Xo.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let e=this.inlineCompletions.get(),t=this.suggestWidgetInlineCompletions.get();t&&Ci(i=>{if(!e||(t.request?.versionId??-1)>(e.request?.versionId??-1)){e?.dispose();let o=this._state.get();this._state.set({inlineCompletions:t.clone(),suggestWidgetInlineCompletions:Xo.createEmpty()},i),o.inlineCompletions.dispose(),o.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(i)})}seedWithCompletion(e,t){let i=this._state.get();this._state.set({inlineCompletions:new Xo([e],void 0),suggestWidgetInlineCompletions:Xo.createEmpty()},t),i.inlineCompletions.dispose(),i.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(e){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue("isRunningUnificationExperiment")||e.requestUuid===void 0||e.hasProducedSuggestion||!ck(this._completionsEnabled,this._textModel.getLanguageId())||!e.providers.some(i=>tI(i.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(i=>i.providerId?.toString()).filter(lo).join(","),...rN(e.providers.some(i=>tI(i.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,isForAnotherDocument:void 0,notShownReason:void 0,renameCreated:!1,renameDuration:void 0,renameTimedOut:!1,renameDroppedOtherEdits:void 0,renameDroppedRenameEdits:void 0,performanceMarkers:void 0,editKind:void 0};sN(this._dataChannelTelemetryService,t)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};H_=pI=gH([kl(5,We),kl(6,gt),kl(7,re),kl(8,j),kl(9,J),kl(10,St)],H_);var fI=class{constructor(e,t,i,o){this.position=e,this.context=t,this.versionId=i,this.providers=o}satisfies(e){return this.position.equals(e.position)&&ZD(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,ac())&&(e.context.triggerKind===di.Automatic||this.context.triggerKind===di.Explicit)&&this.versionId===e.versionId&&mH(e.providers,this.providers)}},_I=class{constructor(e,t,i){this.context=e,this.requestInfo=t,this.providers=i,this.hasProducedSuggestion=!1}setRequestUuid(e){this.requestUuid=e}setNoSuggestionReasonIfNotSet(e){this.noSuggestionReason??=e}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}};function mH(s,e){return[...s].every(t=>e.has(t))}var bI=class{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}},Xo=class s extends D{static createEmpty(){return new s([],void 0)}constructor(e,t){super(),this.inlineCompletions=e,this.request=t;for(let i of this.inlineCompletions)i.addRef();this._register({dispose:()=>{for(let i of this.inlineCompletions)i.removeRef()}})}_findById(e){return this.inlineCompletions.find(t=>t.identity===e)}_findByHash(e){return this.inlineCompletions.find(t=>t.hash===e)}createStateWithAppliedEdit(e,t){let i=this.inlineCompletions.map(o=>o.withEdit(e,t)).filter(lo);return new s(i,this.request)}createStateWithAppliedResults(e,t,i,o,n){let r;if(n){let l=this._findById(n);if(l&&l.canBeReused(i,t.position)){r=l;let c=e.find(h=>h.hash===l.hash);c?e=fH(c,e):e=[l,...e]}}let a=r?!r.isInlineEdit:e.some(l=>!l.isInlineEdit&&l.isVisible(i,o)),d=[];for(let l of e){let c=this._findByHash(l.hash),h;c&&c!==l?(h=l.withIdentity(c.identity),l.setIsPreceeded(c),c.setEndOfLifeReason({kind:Ho.Ignored,userTypingDisagreed:!1,supersededBy:l.getSourceCompletion()})):h=l,a!==h.isInlineEdit&&d.push(h)}return d.sort(So(l=>l.showInlineEditMenu,jD)),d=pH(d,l=>l.semanticId),new s(d,t)}clone(){return new s(this.inlineCompletions,this.request)}};function pH(s,e){let t=new Set;return s.filter(i=>{let o=e(i);return t.has(o)?!1:(t.add(o),!0)})}function fH(s,e){let t=e.indexOf(s);return t>-1?[s,...e.slice(0,t),...e.slice(t+1)]:e}var W_=class s extends D{static{this.MAX_SESSION_GAP_MS=3e3}static{this.MIN_SESSION_DURATION_MS=1e3}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=3e5}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){return(this._cacheInvalidated||this._cachedTypingIntervalResult===null)&&(this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1),this._cachedTypingIntervalResult}constructor(e){super(),this._textModel=e,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent(t=>this._updateTypingSpeed(t)))}_updateTypingSpeed(e){let t=Date.now();if(!this._isUserTyping(e)){this._finalizeCurrentSession();return}this._currentSession&&t-this._lastChangeTime>s.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||(this._currentSession={startTime:t,endTime:t,characterCount:0}),this._currentSession.endTime=t,this._currentSession.characterCount+=this._getActualCharacterCount(e),this._lastChangeTime=t,this._cacheInvalidated=!0}_getActualCharacterCount(e){let t=0;for(let i of e.changes)t+=Math.max(i.text.length,i.rangeLength);return t}_isUserTyping(e){if(!e.detailedReasons||e.detailedReasons.length===0)return!1;for(let t of e.detailedReasons)if(this._isUserTypingReason(t))return!0;return!1}_isUserTypingReason(e){if(e.metadata.isUndoing||e.metadata.isRedoing)return!1;if(e.metadata.source==="cursor"){let t=e.metadata.kind;return t==="type"||t==="compositionType"||t==="compositionEnd"}else return!1}_finalizeCurrentSession(){if(!this._currentSession)return;this._currentSession.endTime-this._currentSession.startTime>=s.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>s.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),this._currentSession=null}_calculateTypingInterval(){if(this._currentSession){let e={...this._currentSession};if(e.endTime-e.startTime>=s.MIN_SESSION_DURATION_MS&&e.characterCount>0){let i=[...this._typingSessions,e];return this._calculateSpeedFromSessions(i)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(e){if(e.length===0)return{averageInterval:0,characterCount:0};let t=[...e].sort((c,h)=>h.endTime-c.endTime),i=Date.now()-s.TYPING_SPEED_WINDOW_MS,o=t.filter(c=>c.endTime>i),n=t.splice(o.length),r=Ga(o.map(c=>c.characterCount));for(let c=0;c<n.length&&r<s.MIN_CHARS_FOR_RELIABLE_SPEED;c++)o.push(n[c]),r+=n[c].characterCount;let a=Ga(o.map(c=>c.endTime-c.startTime));if(a===0||r<=1)return{averageInterval:0,characterCount:r};let d=Math.max(1,r-1),l=a/d;return{averageInterval:Math.round(l),characterCount:r}}dispose(){this._finalizeCurrentSession(),super.dispose()}};var _H=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ns=function(s,e){return function(t,i){e(t,i,s)}},B_=class extends D{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(e,t,i,o,n,r,a,d,l,c,h,u,g,m,f,_){super(),this.textModel=e,this._selectedSuggestItem=t,this._textModelVersionId=i,this._positions=o,this._debounceValue=n,this._enabled=r,this._isSuppressed=a,this._editor=d,this._instantiationService=l,this._commandService=c,this._languageConfigurationService=h,this._accessibilityService=u,this._languageFeaturesService=g,this._codeEditorService=m,this._inlineCompletionsService=f,this._isActive=be(this,!1),this._onlyRequestInlineEditsSignal=yo(this),this._forceUpdateExplicitlySignal=yo(this),this._noDelaySignal=yo(this),this._fetchSpecificProviderSignal=yo(this),this._selectedInlineCompletionId=be(this,void 0),this.primaryPosition=R(this,S=>this._positions.read(S)[0]??new H(1,1)),this.allPositions=R(this,S=>this._positions.read(S)),this.sku=be(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=R(this,S=>{let x=this.state.read(S);return!x||!x.inlineSuggestion?!1:wI(this._editor,x.inlineSuggestion,S)}),this._onDidAccept=this._register(new z),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=dC({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(S,x)=>(x.didUndo=S.didChange(this._textModelVersionId)&&!!S.change?.isUndoing,!0)}},(S,x)=>{let T=this._textModelVersionId.read(S);return T!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===T-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&x.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([gr.Redo,gr.Undo,gr.AcceptWord]),this.dontRefetchSignal=yo(this),this._fetchInlineCompletionsPromise=dC({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:di.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:""}),handleChange:(S,x)=>{if(S.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(S.change))&&(x.preserveCurrentCompletion=!0);let T=S.change?.detailedReasons??[];x.changeReason=T.length>0?T[0].getType():"",x.textChange=!0}else S.didChange(this._forceUpdateExplicitlySignal)?(x.preserveCurrentCompletion=!0,x.inlineCompletionTriggerKind=di.Explicit):S.didChange(this.dontRefetchSignal)?x.dontRefetch=!0:S.didChange(this._onlyRequestInlineEditsSignal)?x.onlyRequestInlineEdits=!0:S.didChange(this._fetchSpecificProviderSignal)&&(x.provider=S.change?.provider,x.changeHint=S.change?.changeHint);return!0}}},(S,x)=>{if(this._source.clearOperationOnTextModelChange.read(S),this._noDelaySignal.read(S),this.dontRefetchSignal.read(S),this._onlyRequestInlineEditsSignal.read(S),this._forceUpdateExplicitlySignal.read(S),this._fetchSpecificProviderSignal.read(S),!(!this._isSuppressed()&&(this._enabled.read(S)&&this._selectedSuggestItem.read(S)||this._isActive.read(S))&&(!this._inlineCompletionsService.isSnoozing()||x.inlineCompletionTriggerKind===di.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(S);let N=this._source.suggestWidgetInlineCompletions.read(void 0),F=this._selectedSuggestItem.read(S);if(this._shouldShowOnSuggestConflict.read(void 0)&&(F=void 0),N&&!F&&this._source.seedInlineCompletionsWithSuggestWidget(),x.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(S)&&x.inlineCompletionTriggerKind!==di.Explicit){Ci(ct=>{this._source.clear(ct)});return}let P="";x.provider?P+="providerOnDidChange":x.inlineCompletionTriggerKind===di.Explicit&&(P+="explicit"),x.changeReason&&(P+=P.length>0?`:${x.changeReason}`:x.changeReason);let Y=this._typing.getTypingInterval(),le={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:P,typingInterval:Y.averageInterval,typingIntervalCharacterCount:Y.characterCount,availableProviders:[],sku:this.sku.read(void 0)},de={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:F?.toSelectedSuggestionInfo(),includeInlineCompletions:!x.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(S),requestIssuedDateTime:le.startTime,earliestShownDateTime:le.startTime+(x.inlineCompletionTriggerKind===di.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:x.changeHint};de.triggerKind===di.Automatic&&x.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(de={...de,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});let Ee=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,ye=x.preserveCurrentCompletion||Ee?.forwardStable?Ee:void 0,Pe=this._jumpedToId.map(ct=>!!ct&&ct===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),we=x.provider?{providers:[x.provider],label:"single:"+x.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},Ie=this.getAvailableProviders(we.providers);return le.availableProviders=Ie.map(ct=>ct.providerId).filter(lo),this._source.fetch(Ie,we.label,de,ye?.identity,x.shouldDebounce,Pe,le)}),this._inlineSuggestionItems=Ni({owner:this},S=>{let x=this._source.inlineCompletions.read(S);if(!x)return;let T=this.primaryPosition.read(S),N,F=[];for(let P of x.inlineCompletions)P.isInlineEdit?N=P:P.isVisible(this.textModel,T)&&F.push(P);return F.length!==0&&(N=void 0),{inlineCompletions:F,inlineEdit:N}}),this._inlineCompletionItems=Ni({owner:this,equalsFn:sC()},S=>this._inlineSuggestionItems.read(S)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=R(this,S=>{let x=this._selectedInlineCompletionId.read(S),T=this._inlineCompletionItems.read(S),N=this._selectedInlineCompletionId===void 0?-1:T.findIndex(F=>F.semanticId===x);return N===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):N}),this.selectedInlineCompletion=R(this,S=>{let x=this._inlineCompletionItems.read(S),T=this.selectedInlineCompletionIndex.read(S);return x[T]}),this.activeCommands=Ni({owner:this,equalsFn:sC()},S=>this.selectedInlineCompletion.read(S)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=R(this,S=>{if(this.lastTriggerKind.read(S)===di.Explicit)return this._inlineCompletionItems.read(S).length}),this._hasVisiblePeekWidgets=R(this,S=>this._editorObs.openedPeekWidgets.read(S)>0),this._shouldShowOnSuggestConflict=R(this,S=>{let x=this._showOnSuggestConflict.read(S);if(x!=="never"&&!!this.selectedInlineCompletion.read(S)){let N=this._selectedSuggestItem.read(S);return N?x==="whenSuggestListIsIncomplete"?N.listIncomplete:!0:!1}return!1}),this.state=Ni({owner:this,equalsFn:(S,x)=>!S||!x?S===x:S.kind==="ghostText"&&x.kind==="ghostText"?Yx(S.ghostTexts,x.ghostTexts)&&S.inlineSuggestion===x.inlineSuggestion&&S.suggestItem===x.suggestItem:S.kind==="inlineEdit"&&x.kind==="inlineEdit"?S.inlineSuggestion===x.inlineSuggestion:!1},S=>{let x=this.textModel;if(this._suppressInSnippetMode.read(S)&&this._isInSnippetMode.read(S))return;let T=this._inlineSuggestionItems.read(S),N=T?.inlineEdit;if(N){if(this._hasVisiblePeekWidgets.read(S))return;let P=this.primaryPosition.map(Ee=>it.fromRangeInclusive(N.targetRange).addMargin(1,1).contains(Ee.lineNumber)),Y=N.action?.kind==="edit"?N.action.stringEdit:void 0,le=Y?Wi.fromStringEdit(Y,new Tc(this.textModel)).replacements:[],de=(T.inlineEdit?.command?.id==="vscode.open"||T.inlineEdit?.command?.id==="_workbench.open")&&T.inlineEdit?.command.arguments?.length?ge.from(T.inlineEdit?.command.arguments[0]):void 0;return N.originalTextRef.targets(this.textModel)||(de=N.originalTextRef.uri),{kind:"inlineEdit",inlineSuggestion:N,edits:le,cursorAtInlineEdit:P,nextEditUri:de}}let F=this._selectedSuggestItem.read(S);if(!this._shouldShowOnSuggestConflict.read(S)&&F){let P=_o(F.getSingleTextEdit(),x),Y=this._computeAugmentation(P,S);if(!this._suggestPreviewEnabled.read(S)&&!Y)return;let de=Y?.edit??P,Ee=Y?Y.edit.text.length-P.text.length:0,ye=this._suggestPreviewMode.read(S),Pe=this._positions.read(S),Ie=[de,...vI(this.textModel,Pe,de)].map((ut,rt)=>({edit:ut,ghostText:ut?Qx(ut,x,ye,Pe[rt],Ee):void 0})).filter(({edit:ut,ghostText:rt})=>ut!==void 0&&rt!==void 0),ct=Ie.map(({edit:ut})=>ut),$e=Ie.map(({ghostText:ut})=>ut),Ue=$e[0]??new Pn(de.range.endLineNumber,[]);return{kind:"ghostText",edits:ct,primaryGhostText:Ue,ghostTexts:$e,inlineSuggestion:Y?.completion,suggestItem:F}}else{if(!this._isActive.read(S))return;let P=this.selectedInlineCompletion.read(S);if(!P)return;let Y=P.getSingleTextEdit(),le=this._inlineSuggestMode.read(S),de=this._positions.read(S),ye=[Y,...vI(this.textModel,de,Y)].map((Ie,ct)=>({edit:Ie,ghostText:Ie?Qx(Ie,x,le,de[ct],0):void 0})).filter(({edit:Ie,ghostText:ct})=>Ie!==void 0&&ct!==void 0),Pe=ye.map(({edit:Ie})=>Ie),we=ye.map(({ghostText:Ie})=>Ie);return we[0]?{kind:"ghostText",edits:Pe,primaryGhostText:we[0],ghostTexts:we,inlineSuggestion:P,suggestItem:void 0}:void 0}}),this.status=R(this,S=>{if(this._source.loading.read(S))return"loading";let x=this.state.read(S);return x?.kind==="ghostText"?"ghostText":x?.kind==="inlineEdit"?"inlineEdit":"noSuggestion"}),this.inlineCompletionState=R(this,S=>{let x=this.state.read(S);if(!(!x||x.kind!=="ghostText")&&!this._editorObs.inComposition.read(S))return x}),this.inlineEditState=R(this,S=>{let x=this.state.read(S);if(!(!x||x.kind!=="inlineEdit"))return x}),this.inlineEditAvailable=R(this,S=>!!this.inlineEditState.read(S)),this.warning=R(this,S=>this.inlineCompletionState.read(S)?.inlineSuggestion?.warning),this.ghostTexts=Ni({owner:this,equalsFn:Yx},S=>{let x=this.inlineCompletionState.read(S);if(x)return x.ghostTexts}),this.primaryGhostText=Ni({owner:this,equalsFn:Xx},S=>{let x=this.inlineCompletionState.read(S);if(x)return x?.primaryGhostText}),this.showCollapsed=R(this,S=>{let x=this.state.read(S);if(!x||x.kind!=="inlineEdit"||x.inlineSuggestion.hint||x.inlineSuggestion.action?.kind==="jumpTo")return!1;let T=x.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(S);return(this._inlineEditsShowCollapsedEnabled.read(S)||!T)&&this._jumpedToId.read(S)!==x.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(S)}),this._tabShouldIndent=R(this,S=>{if(this._inAcceptFlow.read(S))return!1;function x(F){return F.startLineNumber!==F.endLineNumber}function T(F,P){let Y=F.getLineIndentColumn(P),le=F.getLineLastNonWhitespaceColumn(P),de=Math.max(le,Y);return new C(P,Y,P,de)}return this._editorObs.selections.read(S)?.some(F=>F.isEmpty()?this.textModel.getLineLength(F.startLineNumber)===0:x(F)||F.containsRange(T(this.textModel,F.startLineNumber)))}),this.tabShouldJumpToInlineEdit=R(this,S=>{if(this._tabShouldIndent.read(S))return!1;let x=this.inlineEditState.read(S);return x?x.inlineSuggestion.action?.kind==="jumpTo"||this.showCollapsed.read(S)?!0:this._inAcceptFlow.read(S)&&this._appearedInsideViewport.read(S)?!1:!x.cursorAtInlineEdit.read(S):!1}),this.tabShouldAcceptInlineEdit=R(this,S=>{let x=this.inlineEditState.read(S);return!x||x.inlineSuggestion.action?.kind==="jumpTo"||this.showCollapsed.read(S)||this._tabShouldIndent.read(S)?!1:this._inAcceptFlow.read(S)&&this._appearedInsideViewport.read(S)||x.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(S)||this._jumpedToId.read(S)===x.inlineSuggestion.semanticId?!0:x.cursorAtInlineEdit.read(S)}),this._jumpedToId=be(this,void 0),this._inAcceptFlow=be(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(H_,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition,K0.defaultChatAgent?.completionsEnablementSetting)),this.lastTriggerKind=this._source.inlineCompletions.map(this,S=>S?.request?.context.triggerKind),this._editorObs=ke(this._editor);let b=this._editorObs.getOption(134);this._suggestPreviewEnabled=b.map(S=>S.preview),this._suggestPreviewMode=b.map(S=>S.previewMode);let v=this._editorObs.getOption(71);this._inlineSuggestMode=v.map(S=>S.mode),this._suppressedInlineCompletionGroupIds=v.map(S=>new Set(S.experimental.suppressInlineSuggestions.split(","))),this._inlineEditsEnabled=v.map(S=>!!S.edits.enabled),this._inlineEditsShowCollapsedEnabled=v.map(S=>S.edits.showCollapsed),this._triggerCommandOnProviderChange=v.map(S=>S.triggerCommandOnProviderChange),this._minShowDelay=v.map(S=>S.minShowDelay),this._showOnSuggestConflict=v.map(S=>S.experimental.showOnSuggestConflict),this._suppressInSnippetMode=v.map(S=>S.suppressInSnippetMode);let y=Dt.get(this._editor);this._isInSnippetMode=y?.isInSnippetObservable??ue(!1),_.getDefaultAccount().then(bH(S=>this.sku.set(hN(S),void 0),this._store)),this._register(_.onDidChangeDefaultAccount(S=>this.sku.set(hN(S),void 0))),this._typing=this._register(new W_(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(S=>{S&&this.stop()}));{let S=this.textModel.uri.scheme===_t.vscodeNotebookCell,[x]=this._codeEditorService.listDiffEditors().filter(T=>T.getOriginalEditor().getId()===this._editor.getId()||T.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!x,this.editorType=S?nt.Notebook:this.isInDiffEditor?nt.DiffEditor:nt.TextEditor}this._register(cC(this.state,S=>{S&&S.inlineSuggestion&&this._inlineCompletionsService.reportNewCompletion(S.inlineSuggestion.requestUuid)})),this._register(cC(this._fetchInlineCompletionsPromise)),this._register(se(S=>{this._editorObs.versionId.read(S),this._inAcceptFlow.set(!1,void 0)})),this._register(se(S=>{this.state.map((T,N)=>!T||T.kind==="inlineEdit"&&!T.cursorAtInlineEdit.read(N)).read(S)&&this._jumpedToId.set(void 0,void 0)})),this._register(se(S=>{let x=this.state.map(T=>T?.inlineSuggestion).read(S);x&&x.addPerformanceMarker("activeSuggestion")}));let L=this.inlineEditState.map(S=>S?.inlineSuggestion.semanticId);this._register(se(S=>{L.read(S)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion})}));let E=st(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(e));Za(this,E,(S,x)=>{S.onDidChangeInlineCompletions&&x.add(S.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 F=this.state.get();F&&(F.inlineSuggestion||F.edits)&&F.inlineSuggestion?.source.provider!==S||Ci(P=>{this._fetchSpecificProviderSignal.trigger(P,{provider:S,changeHint:T??void 0}),this.trigger(P)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(e){let t=!1,i=!0,o=this?.primaryGhostText.read(e);if(this?._selectedSuggestItem&&o&&o.parts.length>0){let{column:n,lines:r}=o.parts[0],a=r[0].line,d=this.textModel.getLineIndentColumn(o.lineNumber);if(n<=d){let c=oc(a);c===-1&&(c=a.length-1),t=c>0;let h=this.textModel.getOptions().tabSize;i=Xa.visibleColumnFromColumn(a,c+1,h)<h}}return{startsWithIndentation:t,startsWithIndentationLessThanTabSize:i}}_getReason(e){return e?.isUndoing?gr.Undo:e?.isRedoing?gr.Redo:this.isAcceptingPartially?gr.AcceptWord:gr.Other}getAvailableProviders(e){let t=this._suppressedInlineCompletionGroupIds.get(),i=e.filter(r=>!(r.groupId&&t.has(r.groupId))),o=new Set;for(let r of i)r.excludesGroupIds?.forEach(a=>o.add(a));let n=[];for(let r of i)r.groupId&&o.has(r.groupId)||n.push(r);return n}async trigger(e,t={}){dc(e,i=>{t.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(i),t.noDelay&&this._noDelaySignal.trigger(i),this._isActive.set(!0,i),t.explicit&&(this._inAcceptFlow.set(!0,i),this._forceUpdateExplicitlySignal.trigger(i)),t.provider&&this._fetchSpecificProviderSignal.trigger(i,{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){dc(t,i=>{if(e==="explicitCancel"){let o=this.state.get()?.inlineSuggestion;o&&o.reportEndOfLife({kind:Ho.Rejected})}this._isActive.set(!1,i),this._source.clear(i)})}_computeAugmentation(e,t){let i=this.textModel,o=this._source.suggestWidgetInlineCompletions.read(t),n=o?o.inlineCompletions.filter(a=>!a.isInlineEdit):[this.selectedInlineCompletion.read(t)].filter(lo);return rk(n,a=>{let d=a.getSingleTextEdit();return d=_o(d,i,C.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),E_(d,e)?{completion:a,edit:d}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._inlineCompletionItems.get()||[];if(t.length>0){let i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(e,t,i=void 0){return i?uo.inlineCompletionPartialAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t,type:i,correlationId:e.getSourceCompletion().correlationId}):uo.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 Ye;let i,o=!1,n=this.state.get();if(n?.kind==="ghostText"){if(!n||n.primaryGhostText.isEmpty()||!n.inlineSuggestion)return;i=n.inlineSuggestion}else if(n?.kind==="inlineEdit")i=n.inlineSuggestion,o=!!n.nextEditUri;else return;i.addRef();try{let r=!1;if(e.pushUndoStop(),i.originalTextRef.targets(this.textModel)){if(!o){if(i.action?.kind==="edit"){let a=i.action;if(t&&a.alternativeAction){r=!0;let d=a.alternativeAction.command;await this._commandService.executeCommand(d.id,...d.arguments||[]).then(void 0,Te)}else if(a.snippetInfo){let d=Be.delete(a.textReplacement.range),l=i.additionalTextEdits.map(h=>new Be(C.lift(h.range),h.text??"")),c=Wi.fromParallelReplacementsUnsorted([d,...l]);e.edit(c,this._getMetadata(i,this.textModel.getLanguageId())),e.setPosition(a.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),Dt.get(e)?.insert(a.snippetInfo.snippet,{undoStopBefore:!1})}else{let d=n.edits,l=d;n.kind==="ghostText"&&(l=XM(d,this.textModel));let c=$x(l).map(g=>Q.fromPositions(g)),h=i.additionalTextEdits.map(g=>new Be(C.lift(g.range),g.text??"")),u=Wi.fromParallelReplacementsUnsorted([...d,...h]);if(e.edit(u,this._getMetadata(i,this.textModel.getLanguageId())),i.hint===void 0&&e.setSelections(n.kind==="inlineEdit"?c.slice(-1):c,"inlineCompletionAccept"),n.kind==="inlineEdit"&&!this._accessibilityService.isMotionReduced()){let g=u.getNewRanges(),m=this._store.add(new CI(e,g,()=>{this._store.delete(m)}))}}}}}else{let a=await this._codeEditorService.openCodeEditor({resource:i.originalTextRef.uri},this._editor);if(a){let l=c_(a)?.model.get();a.focus(),l?.transplantCompletion(i),a.revealLineInCenter(i.targetRange.startLineNumber)}}this._onDidAccept.fire(),this.stop(),i.command&&await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,Te),r&&this.trigger(void 0),i.reportEndOfLife({kind:Ho.Accepted,alternativeAction:t})}finally{i.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:i}}}async acceptNextWord(){await this._acceptNext(this._editor,"word",(e,t)=>{let i=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),o=this._languageConfigurationService.getLanguageConfiguration(i),n=new RegExp(o.wordDefinition.source,o.wordDefinition.flags.replace("g","")),r=t.match(n),a=0;r&&r.index!==void 0?r.index===0?a=r[0].length:a=r.index:a=t.length;let l=/\s+/g.exec(t);return l&&l.index!==void 0&&l.index+l[0].length<a&&(a=l.index+l[0].length),a},0)}async acceptNextLine(){await this._acceptNext(this._editor,"line",(e,t)=>{let i=t.match(/\n/);return i&&i.index!==void 0?i.index+1:t.length},1)}async _acceptNext(e,t,i,o){if(e.getModel()!==this.textModel)throw new Ye;let n=this.inlineCompletionState.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineSuggestion)return;let r=n.primaryGhostText,a=n.inlineSuggestion;if(a.snippetInfo){await this.accept(e);return}let d=r.parts[0],l=new H(r.lineNumber,d.column),c=d.text,h=i(l,c);if(h===c.length&&r.parts.length===1){this.accept(e);return}let u=c.substring(0,h),g=this._positions.get(),m=g[0];a.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let v=C.fromPositions(m,l),y=e.getModel().getValueInRange(v)+u,L=new Be(v,y),E=[L,...vI(this.textModel,g,L)].filter(lo),S=$x(E).map(x=>Q.fromPositions(x));e.edit(Wi.fromParallelReplacementsUnsorted(E),this._getMetadata(a,this.textModel.getLanguageId(),t)),e.setSelections(S,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),0)}finally{this._isAcceptingPartially=!1}let f=C.fromPositions(a.editRange.getStartPosition(),Hi.ofText(u).addToPosition(l)),b=e.getModel().getValueInRange(f,1).length;a.reportPartialAccept(b,{kind:o,acceptedLength:b},{characters:h,ratio:h/c.length,count:1})}finally{a.removeRef()}}handleSuggestAccepted(e){let t=_o(e.getSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;let n=this.textModel.getValueInRange(i.completion.editRange,1).length+t.text.length;i.completion.reportPartialAccept(t.text.length,{kind:2,acceptedLength:n},{characters:t.text.length,count:1,ratio:1})}extractReproSample(){let e=this.textModel.getValue(),t=this.state.get()?.inlineSuggestion;return{documentValue:e,inlineCompletion:t?.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{Ci(i=>{t.action?.kind==="jumpTo"&&(this.stop(void 0,i),t.reportEndOfLife({kind:Ho.Accepted,alternativeAction:!1})),this._jumpedToId.set(e.inlineSuggestion.semanticId,i),this.dontRefetchSignal.trigger(i);let o=e.inlineSuggestion.targetRange,n=o.getStartPosition();if(this._editor.setPosition(n,"inlineCompletions.jump"),o.isSingleLine()&&(e.inlineSuggestion.hint||e.inlineSuggestion.action?.kind==="edit"&&!e.inlineSuggestion.action.textReplacement.text.includes(`
|
|
47
|
+
`))||e.inlineSuggestion.action?.kind==="jumpTo")this._editor.revealPosition(n,0);else{let a=new C(o.startLineNumber-1,1,o.endLineNumber+1,1);this._editor.revealRange(a,0)}e.inlineSuggestion.identity.setJumpTo(i),this._editor.focus()})}finally{t.removeRef()}}async handleInlineSuggestionShown(e,t,i,o){await e.reportInlineEditShown(this._commandService,t,i,this.textModel,o)}transplantCompletion(e){Ci(t=>{this._source.seedWithCompletion(e,t),this._isActive.set(!0,t),this._inAcceptFlow.set(!0,t),this.dontRefetchSignal.trigger(t)})}};B_=_H([ns(8,j),ns(9,Fe),ns(10,We),ns(11,Zi),ns(12,V),ns(13,Re),ns(14,_T),ns(15,CT)],B_);var gr;(function(s){s[s.Undo=0]="Undo",s[s.Redo=1]="Redo",s[s.AcceptWord=2]="AcceptWord",s[s.Other=3]="Other"})(gr||(gr={}));function vI(s,e,t){if(e.length===1)return[];let i=new Tc(s),o=i.getTransformer(),n=o.getOffset(e[0]),r=e.slice(1).map(u=>o.getOffset(u));t=t.removeCommonPrefixAndSuffix(i);let a=o.getStringReplacement(t),d=a.replaceRange.start-n,l=a.replaceRange.join(Ne.emptyAt(n)),c=i.getValueOfOffsetRange(l);return r.map(u=>{let g=u+d,m=g+a.replaceRange.length,f=new Ne(g,m),_=f.join(Ne.emptyAt(u));if(i.getValueOfOffsetRange(_)!==c)return;let v=new ii(f,a.newText);return o.getTextReplacement(v)}).filter(lo)}var CI=class extends D{constructor(e,t,i){super(),i&&this._register({dispose:()=>i()}),this._register(ke(e).setDecorations(ue(t.map(n=>({range:n,options:{description:"animation",className:"edits-fadeout-decoration",zIndex:1}})))));let o=new L_(I_.startNow(1,0,1e3,eN));this._register(se(n=>{let r=o.getValue(n);e.getContainerDomNode().style.setProperty("--animation-opacity",r.toString()),o.isFinished(n)&&this.dispose()}))}};function wI(s,e,t=void 0){let i=e.targetRange;ke(s).scrollTop.read(t);let o=s.getVisibleRanges();return o.length<1?!1:new C(o[0].startLineNumber,o[0].startColumn,o[o.length-1].endLineNumber,o[o.length-1].endColumn).containsRange(i)}function hN(s){if(s?.entitlementsData?.access_type_sku&&s?.entitlementsData?.copilot_plan)return{type:s.entitlementsData.access_type_sku,plan:s.entitlementsData.copilot_plan}}var SI=class{constructor(e){this.handler=t=>this._cb?.(t),this._cb=e}dispose(){this._cb=void 0}};function bH(s,e){let t=new SI(s);return e.add(t),t.handler}var yI=class extends D{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new z),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(n=>{n.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(n=>{n.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));let o=No.get(this.editor);if(o){this._register(o.registerSelector({priority:100,select:(a,d,l)=>{let c=this.editor.getModel();if(!c)return-1;let h=this.suggestControllerPreselector(),u=h?_o(h,c):void 0;if(!u)return-1;let g=H.lift(d),m=l.map((_,b)=>{let v=hu.fromSuggestion(o,c,g,_,this.isShiftKeyPressed),y=_o(v.getSingleTextEdit(),c),L=E_(u,y);return{index:b,valid:L,prefixLength:y.text.length,suggestItem:_}}).filter(_=>_&&_.valid&&_.prefixLength>0),f=ik(m,So(_=>_.prefixLength,wo));return f?f.index:-1}}));let n=!1,r=()=>{n||(n=!0,this._register(o.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(o.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(o.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(De.once(o.model.onDidTrigger)(a=>{r()})),this._register(o.onWillInsertSuggestItem(a=>{let d=this.editor.getPosition(),l=this.editor.getModel();if(!d||!l)return;let c=hu.fromSuggestion(o,l,d,a.item,this.isShiftKeyPressed);this.onWillAccept(c)}))}this.update(this._isActive)}update(e){let t=this.getSuggestItemInfo();(this._isActive!==e||!vH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){let e=No.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;let t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),o=this.editor.getModel();if(!(!t||!i||!o))return hu.fromSuggestion(e,o,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){No.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){No.get(this.editor)?.forceRenderingAbove()}},hu=class s{static fromSuggestion(e,t,i,o,n){let{insertText:r}=o.completion,a=!1;if(o.completion.insertTextRules&4){let l=new Vi().parse(r);l.children.length<100&&gl.adjustWhitespace(t,i,!0,l),r=l.toString(),a=!0}let d=e.getOverwriteInfo(o,n);return new s(C.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.overwriteAfter,0))),r,o.completion.kind,a,o.container.incomplete??!1)}constructor(e,t,i,o,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=o,this.listIncomplete=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new Z0(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new Be(this.range,this.insertText)}};function vH(s,e){return s===e?!0:!s||!e?!1:s.equals(e)}var V_=class extends D{constructor(e,t,i){super(),this._editorObs=e,this._handleSuggestAccepted=t,this._suggestControllerPreselector=i,this._suggestWidgetAdaptor=this._register(new yI(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),o=>this._editorObs.forceUpdate(n=>{this._handleSuggestAccepted(o)}))),this.selectedItem=st(this,o=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(n=>o(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}};var z_=class{constructor(e,t){this.lineNumber=e,this.columnRange=t}};var uu=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Ye(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new C(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}toZeroBasedOffsetRange(){return new Ne(this.startColumn-1,this.endColumnExclusive-1)}};var gu=class s{static fromLineTokens(e){let t=[];for(let i=0;i<e.getCount();i++)t.push(new U_(e.getTokenText(i),e.getMetadata(i)));return s.create(t)}static create(e){return new s(e)}constructor(e){this._tokenInfo=e}toLineTokens(e){return Io.createFromTextAndMetadata(this.map((t,i)=>({text:i.text,metadata:i.metadata})),e)}map(e){let t=[],i=0;for(let o of this._tokenInfo){let n=new Ne(i,i+o.text.length);t.push(e(n,o)),i+=o.text.length}return t}slice(e){let t=[],i=0;for(let o of this._tokenInfo){let n=i,r=n+o.text.length;if(r>e.start){if(n>=e.endExclusive)break;let a=Math.max(0,e.start-n),d=Math.max(0,r-e.endExclusive);t.push(new U_(o.text.slice(a,o.text.length-d),o.metadata))}i+=o.text.length}return s.create(t)}append(e){let t=this._tokenInfo.concat(e._tokenInfo);return s.create(t)}},U_=class{constructor(e,t){this.text=e,this.metadata=t}};var CH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},SH=function(s,e){return function(t,i){e(t,i,s)}},j_=class s{static from(e){if(e)return new s(e.icon)}constructor(e=B.warning){this.icon=e}},mN="ghost-text",rs=class extends D{constructor(e,t,i,o){super(),this._editor=e,this._data=t,this._languageService=o,this._isDisposed=be(this,!1),this._warningState=R(n=>{let r=this._data.read(n),a=r?.warning;if(!r||!a)return;let d=r.ghostText;return{lineNumber:d.lineNumber,position:new H(d.lineNumber,d.parts[0].column),icon:a.icon}}),this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=R(this,n=>{let r=this._data.read(n);return r?r.ghostText.parts.map(l=>l.lines.map(c=>c.line).join("")).join("").replace(/\s/g,"").length:void 0}),this._extraClassNames=R(this,n=>{let r=this._extraClasses.slice();this._warningState.read(n)&&r.push("warning");let a=this._nonWhitespaceCount.read(n);return this._highlightShortText&&a&&a<3?r.push("short-text"):this._useSyntaxHighlighting.read(n)&&r.push("syntax-highlighted"),r.map(l=>` ${l}`).join("")}),this._state=R(this,n=>{if(this._isDisposed.read(n))return;let r=this._data.read(n);if(!r)return;let a=this._editorObs.model.read(n);if(!a)return;let d=r.ghostText,l=d instanceof Ll?d.columnRange:void 0,c=this._useSyntaxHighlighting.read(n),h=this._extraClassNames.read(n),{inlineTexts:u,additionalLines:g,hiddenRange:m,additionalLinesOriginalSuffix:f}=wH(d,a,mN+h),_=a.getLineContent(d.lineNumber),b=new ho(u.map(F=>ii.insert(F.column-1,F.text))),v=c?a.tokenization.tokenizeLinesAt(d.lineNumber,[b.apply(_),...g.map(F=>F.content)]):void 0,y=b.getNewRanges(),L=u.map((F,P)=>({...F,tokens:v?.[0]?.getTokensInRange(y[P])})),E=g.map((F,P)=>{let Y=v?.[P+1]??Io.createEmpty(F.content,this._languageService.languageIdCodec);if(P===g.length-1&&f){let de=gu.fromLineTokens(a.tokenization.getLineTokens(f.lineNumber)).slice(f.columnRange.toZeroBasedOffsetRange());Y=gu.fromLineTokens(Y).append(de).toLineTokens(Y.languageIdCodec)}return new LI(Y,F.decorations)}),S=this._editor.getSelection()?.getStartPosition().column,x=L.filter(F=>F.text!==""),T=x.length!==0,N=new Ea((T?x[0].column:1)-S,T?0:g.findIndex(F=>F.content!=="")+1,T?1:0,g.length+(T?1:0),0,Ga(x.map(F=>F.text.length))+Ga(E.map(F=>F.content.getTextLength())),x.length+(g.length>0?1:0),x.length>1&&E.length===0?x.every(F=>F.text===x[0].text):void 0);return{replacedRange:l,inlineTexts:L,additionalLines:E,hiddenRange:m,lineNumber:d.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(n),targetTextModel:a,syntaxHighlightingEnabled:c,telemetryViewData:N,handleInlineCompletionShown:r.handleInlineCompletionShown}}),this._decorations=R(this,n=>{let r=this._state.read(n);if(!r)return[];let a=[],d=this._extraClassNames.read(n);r.replacedRange&&a.push({range:r.replacedRange.toRange(r.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace"+d,description:"GhostTextReplacement"}}),r.hiddenRange&&a.push({range:r.hiddenRange.toRange(r.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(let l of r.inlineTexts){let c="";this._highlightShortText&&l.text.length<5&&(c+=" short-text"),a.push({range:C.fromPositions(new H(r.lineNumber,l.column)),options:{description:"ghost-text-decoration",after:{content:l.text,tokens:l.tokens,inlineClassName:(l.preview?"ghost-text-decoration-preview":"ghost-text-decoration")+(this._isClickable?" clickable":"")+d+c+l.lineDecorations.map(h=>" "+h.className).join(" "),cursorStops:ln.Left,attachedData:new mu(this)},showIfCollapsed:!0}})}return a}),this.isHovered=R(this,n=>this._isDisposed.read(n)?!1:this._isInlineTextHovered.read(n)||this._additionalLinesWidget.isHovered.read(n)),this._extraClasses=i.extraClasses??[],this._isClickable=i.isClickable??!1,this._shouldKeepCursorStable=i.shouldKeepCursorStable??!1,this._minReservedLineCount=i.minReservedLineCount??ue(0),this._useSyntaxHighlighting=i.useSyntaxHighlighting??ue(!0),this._highlightShortText=i.highlightShortSuggestions??!1,this._editorObs=ke(this._editor),this._additionalLinesWidget=this._register(new II(this._editor,Ni({owner:this,equalsFn:YD(ac())},n=>{let r=this._state.read(n);return r?new xI(r.lineNumber,r.additionalLines,r.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered(n=>n.target.type===6&&n.target.detail.injectedText?.options.attachedData instanceof mu&&n.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register(ce(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable&&(this._register(this._additionalLinesWidget.onDidClick(n=>this._onDidClick.fire(n))),this._register(this._editor.onMouseUp(n=>{if(n.target.type!==6)return;let r=n.target.detail.injectedText?.options.attachedData;r instanceof mu&&r.owner===this&&this._onDidClick.fire(n.event)}))),this._register(se(n=>{let r=this._state.read(n);r?.handleInlineCompletionShown(r.telemetryViewData)})),this._register(nn((n,r)=>{}))}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}};rs=CH([SH(3,si)],rs);var mu=class{constructor(e){this.owner=e}};function wH(s,e,t){let i=[],o=[];function n(h,u){if(o.length>0){let g=o[o.length-1];u&&g.decorations.push(new Gn(g.content.length+1,g.content.length+1+h[0].line.length,u,0)),g.content+=h[0].line,h=h.slice(1)}for(let g of h)o.push({content:g.line,decorations:u?[new Gn(1,g.line.length+1,u,0),...g.lineDecorations]:[...g.lineDecorations]})}let r=e.getLineContent(s.lineNumber),a,d=0;for(let h of s.parts){let u=h.lines;a===void 0?(i.push({column:h.column,text:u[0].line,preview:h.preview,lineDecorations:u[0].lineDecorations}),u=u.slice(1)):n([{line:r.substring(d,h.column-1),lineDecorations:[]}],void 0),u.length>0&&(n(u,t),a===void 0&&h.column<=r.length&&(a=h.column)),d=h.column-1}let l;a!==void 0&&(l=new z_(s.lineNumber,new uu(d+1,r.length+1)));let c=a!==void 0?new uu(a,r.length+1):void 0;return{inlineTexts:i,additionalLines:o,hiddenRange:c,additionalLinesOriginalSuffix:l}}var xI=class{constructor(e,t,i){this.lineNumber=e,this.additionalLines=t,this.minReservedLineCount=i}equals(e){return this.lineNumber!==e.lineNumber||this.minReservedLineCount!==e.minReservedLineCount?!1:Yt(this.additionalLines,e.additionalLines,ac())}},II=class extends D{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}constructor(e,t,i,o){super(),this._editor=e,this._lines=t,this._shouldKeepCursorStable=i,this._isClickable=o,this._viewZoneHeight=be("viewZoneHeight",void 0),this.editorOptionsChanged=zs("editorOptionChanged",De.filter(this._editor.onDidChangeConfiguration,n=>n.hasChanged(40)||n.hasChanged(133)||n.hasChanged(113)||n.hasChanged(108)||n.hasChanged(60)||n.hasChanged(59)||n.hasChanged(75)||n.hasChanged(176))),this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new xe),this.isHovered=ke(this._editor).isTargetHovered(n=>uN(n.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof Cd&&this._shouldKeepCursorStable&&this._register(this._editor.onBeforeExecuteEdit(n=>this.hasBeenAccepted=n.source==="inlineCompletionAccept")),this._register(se(n=>{let r=this._lines.read(n);this.editorOptionsChanged.read(n),r?(this.hasBeenAccepted=!1,this.updateLines(r.lineNumber,r.additionalLines,r.minReservedLineCount)):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones(e=>{this.removeActiveViewZone(e)})}updateLines(e,t,i){let o=this._editor.getModel();if(!o)return;let{tabSize:n}=o.getOptions();ke(this._editor).transaction(r=>{this._editor.changeViewZones(a=>{let d=new M;this.removeActiveViewZone(a);let l=Math.max(t.length,i);if(l>0){let c=document.createElement("div");yH(c,n,t,this._editor.getOptions(),this._isClickable),this._isClickable&&(d.add(Z(c,"mousedown",h=>{h.preventDefault()})),d.add(Z(c,"click",h=>{uN(h.target)&&this._onDidClick.fire(new Ba(bt(h),h))}))),this.addViewZone(a,e,l,c)}this._viewZoneListener.value=d})})}addViewZone(e,t,i,o){let n=e.addZone({afterLineNumber:t,heightInLines:i,domNode:o,afterColumnAffinity:1,onComputedHeight:r=>{this._viewZoneHeight.set(r,void 0)}});this.keepCursorStable(t,i),this._viewZoneInfo={viewZoneId:n,heightInLines:i,lineNumber:t}}removeActiveViewZone(e){this._viewZoneInfo&&(e.removeZone(this._viewZoneInfo.viewZoneId),this.hasBeenAccepted||this.keepCursorStable(this._viewZoneInfo.lineNumber,-this._viewZoneInfo.heightInLines),this._viewZoneInfo=void 0,this._viewZoneHeight.set(void 0,void 0))}keepCursorStable(e,t){if(!this._shouldKeepCursorStable)return;let i=this._editor.getSelection()?.getStartPosition()?.lineNumber;i!==void 0&&e<i&&this._editor.setScrollTop(this._editor.getScrollTop()+t*this._editor.getOption(75))}};function uN(s){return ni(s)&&s.classList.contains(mN)}var LI=class{constructor(e,t){this.content=e,this.decorations=t}equals(e){return this.content.equals(e.content)?Gn.equalsArr(this.decorations,e.decorations):!1}};function yH(s,e,t,i,o){let n=i.get(40),r=i.get(133),a="none",d=i.get(108),l=i.get(60),c=i.get(59),h=i.get(75),u=i.get(176)==="twoCells",g="suggest-preview-text";o&&(g+=" clickable");let m=new mg(1e4);m.appendString(`<div class="${g}">`);for(let b=0,v=t.length;b<v;b++){let y=t[b],L=y.content;m.appendString('<div class="view-line'),m.appendString('" style="top:'),m.appendString(String(b*h)),m.appendString('px;width:1000000px;">');let E=L.getLineContent(),S=og(E),x=OD(E);Ag(new Og(c.isMonospace&&!n,c.canUseHalfwidthRightwardsArrow,E,!1,S,x,0,L,y.decorations.slice(),e,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,r,a,d,l!==gk.OFF,null,null,0,!1,u),m),m.appendString("</div>")}m.appendString("</div>"),xg(s,c);let f=m.build(),_=gN?gN.createHTML(f):f;s.innerHTML=_}var gN=Vg("editorGhostText",{createHTML:s=>s});var ss=class s{constructor(e,t){this.width=e,this.height=t}toString(){return`(${this.width},${this.height})`}transpose(){return new s(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}};var Qe=class s{static fromPoints(e,t){return new s(e.x,e.y,t.x,t.y)}static fromPointSize(e,t){return new s(e.x,e.y,e.x+t.x,e.y+t.y)}static fromLeftTopRightBottom(e,t,i,o){return new s(e,t,i,o)}static fromLeftTopWidthHeight(e,t,i,o){return new s(e,t,e+i,t+o)}static fromRanges(e,t){return new s(e.start,t.start,e.endExclusive,t.endExclusive)}static hull(e){let t=Number.MAX_SAFE_INTEGER,i=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,n=Number.MIN_SAFE_INTEGER;for(let r of e)t=Math.min(t,r.left),i=Math.min(i,r.top),o=Math.max(o,r.right),n=Math.max(n,r.bottom);return new s(t,i,o,n)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(e,t,i,o){if(this.left=e,this.top=t,this.right=i,this.bottom=o,e>i)throw new Ye("Invalid arguments: Horizontally offset by "+(e-i));if(t>o)throw new Ye("Invalid arguments: Vertically offset by "+(t-o))}withMargin(e,t,i,o){let n,r,a,d;return t===void 0&&i===void 0&&o===void 0?n=r=a=d=e:i===void 0&&o===void 0?(n=r=t,a=d=e):(n=o,r=t,a=e,d=i),new s(this.left-n,this.top-a,this.right+r,this.bottom+d)}intersectVertical(e){let t=Math.max(this.top,e.start),i=Math.min(this.bottom,e.endExclusive);return new s(this.left,t,this.right,Math.max(t,i))}intersectHorizontal(e){let t=Math.max(this.left,e.start),i=Math.min(this.right,e.endExclusive);return new s(t,this.top,Math.max(t,i),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(e){let t=Math.max(this.left,e.left),i=Math.min(this.right,e.right),o=Math.max(this.top,e.top),n=Math.min(this.bottom,e.bottom);if(!(t>i||o>n))return new s(t,o,i,n)}containsRect(e){return this.left<=e.left&&this.top<=e.top&&this.right>=e.right&&this.bottom>=e.bottom}containsPoint(e){return this.left<=e.x&&this.top<=e.y&&this.right>=e.x&&this.bottom>=e.y}moveToBeContainedIn(e){let t=this.width,i=this.height,o=this.left,n=this.top;return o<e.left?o=e.left:o+t>e.right&&(o=e.right-t),n<e.top?n=e.top:n+i>e.bottom&&(n=e.bottom-i),new s(o,n,o+t,n+i)}withWidth(e){return new s(this.left,this.top,this.left+e,this.bottom)}withHeight(e){return new s(this.left,this.top,this.right,this.top+e)}withTop(e){return new s(this.left,e,this.right,this.bottom)}withLeft(e){return new s(e,this.top,this.right,this.bottom)}translateX(e){return new s(this.left+e,this.top,this.right+e,this.bottom)}translateY(e){return new s(this.left,this.top+e,this.right,this.bottom+e)}getLeftBottom(){return new Ii(this.left,this.bottom)}getRightBottom(){return new Ii(this.right,this.bottom)}getRightTop(){return new Ii(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(e){return new s(e.start,this.top,e.endExclusive,this.bottom)}getSize(){return new ss(this.width,this.height)}};var Rl=class s{constructor(e,t,i,o=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=o}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Yt(this.startLineNumbers,e.startLineNumbers)&&Yt(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new s([],[],0)}},pN=Vg("stickyScrollViewLayer",{createHTML:s=>s}),EI="data-sticky-line-index",fN="data-sticky-is-line",xH="data-sticky-is-line-number",_N="data-sticky-is-folding-icon",K_=class extends D{get height(){return this._height}constructor(e){super(),this._foldingIconStore=this._register(new M),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 z),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 ui),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);let t=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(131)&&t()})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){let o=!this._state&&!e,n=this._state&&this._state.equals(e);if(i===void 0&&(o||n))return;let r=this._findRenderingData(e),a=this._lineNumbers;this._lineNumbers=r.lineNumbers,this._lastLineRelativePosition=r.lastLineRelativePosition;let d=this._findIndexToRebuildFrom(a,this._lineNumbers,i);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,t,d),this._state=e}_findRenderingData(e){if(!e)return{lineNumbers:[],lastLineRelativePosition:0};let t=[...e.startLineNumbers];e.showEndForLine!==null&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]);let i=0;for(let o=0;o<t.length;o++){let n=new H(t[o],1),r=this._editor._getViewModel();r&&n.lineNumber<=r.getLineCount()&&(i+=this._editor.getLineHeightForPosition(new H(t[o],1)))}return i===0?{lineNumbers:[],lastLineRelativePosition:0}:{lineNumbers:t,lastLineRelativePosition:e.lastLineRelativePosition}}_findIndexToRebuildFrom(e,t,i){if(t.length===0)return 0;if(i!==void 0)return i;let o=t.findIndex(n=>!e.includes(n));return o===-1?0:o}_updateWidgetWidth(){let e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(let t of this._renderedStickyLines){let i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i,o){let n=this._editor._getViewModel();if(!n){this._clearWidget();return}if(e.length===0){this._clearWidget();return}let r=[],a=e[e.length-1],d=0;for(let c=0;c<this._renderedStickyLines.length;c++)if(c<o){let h=this._renderedStickyLines[c];r.push(this._updatePosition(h,d,h.lineNumber===a)),d+=h.height}else{let h=this._renderedStickyLines[c];h.lineNumberDomNode.remove(),h.lineDomNode.remove()}let l=this._editor.getLayoutInfo();for(let c=o;c<e.length;c++){let h=e[c];if(h>n.getLineCount())continue;let u=this._renderChildNode(n,c,h,d,a===h,i,l);d+=u.height,this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),r.push(u)}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin)),this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(c=>c.scrollWidth))+l.verticalScrollbarWidth,this._renderedStickyLines=r,this._setHeight(d+t),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let e=0;e<this._renderedStickyLines.length;e++){let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}this._setHeight(0)}_setHeight(e){this._height!==e&&(this._height=e,this._height===0?this._rootDomNode.style.display="none":(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${this._height}px`,this._linesDomNodeScrollable.style.height=`${this._height}px`,this._rootDomNode.style.height=`${this._height}px`),this._onDidChangeStickyScrollHeight.fire({height:this._height}))}_setFoldingHoverListeners(){this._foldingIconStore.clear(),this._editor.getOption(126)==="mouseover"&&(this._foldingIconStore.clear(),this._foldingIconStore.add(Z(this._lineNumbersDomNode,me.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Z(this._lineNumbersDomNode,me.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,o,n,r,a){let d=new DI(this._editor,e,a,r,this._isOnGlyphMargin,t,i);return this._updatePosition(d,o,n)}_updatePosition(e,t,i){let o=e.lineDomNode,n=e.lineNumberDomNode;if(i){o.style.zIndex="0",n.style.zIndex="0";let a=`${t+this._lastLineRelativePosition+(e.foldingIcon?.isCollapsed?1:0)}px`;o.style.top=a,n.style.top=a}else o.style.zIndex="1",n.style.zIndex="1",o.style.top=`${t}px`,n.style.top=`${t}px`;return e}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 i=Vk(t.characterMapping,e,0);return new H(t.lineNumber,i)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){let t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){let t=this._getAttributeValue(e,EI);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,fN)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,_N)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){let i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}},DI=class{constructor(e,t,i,o,n,r,a){this.index=r,this.lineNumber=a;let d=t.coordinatesConverter.convertModelPositionToViewPosition(new H(a,1)).lineNumber,l=t.getViewLineRenderingData(d),c=e.getOption(76),h=e.getOption(117).verticalScrollbarSize,u;try{u=Gn.filter(l.inlineDecorations,d,l.minColumn,l.maxColumn)}catch{u=[]}let g=e.getLineHeightForPosition(new H(a,1)),m=t.getTextDirection(a),f=e.getOption(59),_=new Og(!0,!0,l.content,l.continuesWithWrappedLine,l.isBasicASCII,l.containsRTL,0,l.tokens,u,l.tabSize,l.startVisibleColumn,f.spaceWidth,1,1,500,"none",!0,!0,null,m,h,!1,e.getOption(176)==="twoCells"),b=new mg(2e3),v=Ag(_,b);this.characterMapping=v.characterMapping;let y;pN?y=pN.createHTML(b.build()):y=b.build();let L=document.createElement("span");L.setAttribute(EI,String(r)),L.setAttribute(fN,""),L.setAttribute("role","listitem"),L.tabIndex=0,L.className="sticky-line-content",L.classList.add(`stickyLine${a}`),L.style.lineHeight=`${g}px`,L.innerHTML=y;let E=document.createElement("span");E.setAttribute(EI,String(r)),E.setAttribute(xH,""),E.className="sticky-line-number",E.style.lineHeight=`${g}px`;let S=i.contentLeft;E.style.width=`${S}px`;let x=document.createElement("span");c.renderType===1||c.renderType===3&&a%10===0?x.innerText=a.toString():c.renderType===2&&(x.innerText=Math.abs(a-e.getPosition().lineNumber).toString()),x.className="sticky-line-number-inner",x.style.width=`${i.lineNumbersWidth}px`,x.style.paddingLeft=`${i.lineNumbersLeft}px`,E.appendChild(x),this.foldingIcon=this._renderFoldingIconForLine(e,o,a,g,n),this.foldingIcon&&(E.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${i.lineNumbersWidth+i.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${g}px`),e.applyFontInfo(L),e.applyFontInfo(E),E.style.lineHeight=`${g}px`,L.style.lineHeight=`${g}px`,E.style.height=`${g}px`,L.style.height=`${g}px`,this.scrollWidth=L.scrollWidth,this.lineDomNode=L,this.lineNumberDomNode=E,this.height=g}_renderFoldingIconForLine(e,t,i,o,n){let r=e.getOption(126);if(!t||r==="never")return;let a=t.regions,d=a.findRange(i),l=a.getStartLineNumber(d);if(!(i===l))return;let h=a.isCollapsed(d),u=new kI(h,l,a.getEndLineNumber(d),o);return u.setVisible(n?!0:h||r==="always"),u.domNode.setAttribute(_N,""),u}},kI=class{constructor(e,t,i,o){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=o,this.domNode=document.createElement("div"),this.domNode.style.width="26px",this.domNode.style.height=`${o}px`,this.domNode.style.lineHeight=`${o}px`,this.domNode.className=ne.asClassName(e?Dh:Eh)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}};var mr=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},Da=class{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}},pu=class{constructor(e,t,i,o){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=o}};var Z_=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},_u=function(s,e){return function(t,i){e(t,i,s)}},fu;(function(s){s.OUTLINE_MODEL="outlineModel",s.FOLDING_PROVIDER_MODEL="foldingProviderModel",s.INDENTATION_MODEL="indentationModel"})(fu||(fu={}));var as;(function(s){s[s.VALID=0]="VALID",s[s.INVALID=1]="INVALID",s[s.CANCELED=2]="CANCELED"})(as||(as={}));var q_=class extends D{constructor(e,t,i,o){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Mi(300)),this._updateOperation=this._register(new M),this._editor.getOption(131).defaultModel){case fu.OUTLINE_MODEL:this._modelProviders.push(new RI(this._editor,o));case fu.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new MI(this._editor,t,o));case fu.INDENTATION_MODEL:this._modelProviders.push(new TI(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(let t of this._modelProviders){let{statusPromise:i,modelPromise:o}=t.computeStickyModel(e);this._modelPromise=o;let n=await i;if(this._modelPromise!==o)return null;switch(n){case as.CANCELED:return this._updateOperation.clear(),null;case as.VALID:return t.stickyModel}}return null}).catch(t=>(ae(t),null))}};q_=Z_([_u(2,j),_u(3,V)],q_);var G_=class extends D{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,as.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let t=je(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?as.CANCELED:(this._stickyModel=this.createStickyModel(e,i),as.VALID):this._invalid()).then(void 0,i=>(ae(i),as.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},RI=class extends G_{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return Ph.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){let{stickyOutlineElement:i,providerID:o}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),n=this._editor.getModel();return new pu(n.uri,n.getVersionId(),i,o)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Co.first(e.children.values())instanceof Nh){let a=Co.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",l=-1,c;for(let[h,u]of e.children.entries()){let g=this._findSumOfRangesOfGroup(u);g>l&&(c=u,l=g,d=u.id)}t=d,i=c.children}}else i=e.children;let o=[],n=Array.from(i.values()).sort((a,d)=>{let l=new mr(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),c=new mr(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(l,c)});for(let a of n)o.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Da(void 0,o,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){let i=[];for(let n of e.children.values())if(n.symbol.selectionRange.startLineNumber!==n.symbol.range.endLineNumber)if(n.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(n,n.symbol.selectionRange.startLineNumber));else for(let r of n.children.values())i.push(this._stickyModelFromOutlineElement(r,n.symbol.selectionRange.startLineNumber));i.sort((n,r)=>this._comparator(n.range,r.range));let o=new mr(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Da(o,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(let i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof dl?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};RI=Z_([_u(1,V)],RI);var $_=class extends G_{constructor(e){super(e),this._foldingLimitReporter=this._register(new Th(e))}createStickyModel(e,t){let i=this._fromFoldingRegions(t),o=this._editor.getModel();return new pu(o.uri,o.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){let t=e.length,i=[],o=new Da(void 0,[],void 0);for(let n=0;n<t;n++){let r=e.getParentIndex(n),a;r!==-1?a=i[r]:a=o;let d=new Da(new mr(e.getStartLineNumber(n),e.getEndLineNumber(n)+1),[],a);a.children.push(d),i.push(d)}return o}},TI=class extends $_{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new fa(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};TI=Z_([_u(1,We)],TI);var MI=class extends $_{constructor(e,t,i){super(e),this._languageFeaturesService=i,this.provider=this._register(new xe),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(e,t)})),this._updateProvider(e,t)}_updateProvider(e,t){let i=Mn.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());i.length!==0&&(this.provider.value=new _a(e.getModel(),i,t,this._foldingLimitReporter,void 0))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){return this.provider.value?.compute(e)??null}};MI=Z_([_u(2,V)],MI);var IH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},bN=function(s,e){return function(t,i){e(t,i,s)}},NI=class{constructor(e,t,i,o){this.startLineNumber=e,this.endLineNumber=t,this.top=i,this.height=o}},Y_=class extends D{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new z),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new M),this._updateSoon=this._register(new Ae(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(131)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(131).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(ce(()=>{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 q_(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new Oe,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}let t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,0,-1),this.filterHiddenRanges(t)}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,o,n,r){let a=this._editor.getModel();if(!a||t.children.length===0)return;let d=r,l=[];for(let u=0;u<t.children.length;u++){let g=t.children[u];g.range&&l.push(g.range.startLineNumber)}let c=this.updateIndex(sc(l,e.startLineNumber,(u,g)=>u-g)),h=this.updateIndex(sc(l,e.endLineNumber,(u,g)=>u-g));for(let u=c;u<=h;u++){let g=t.children[u];if(!g||!g.range)continue;let{startLineNumber:m,endLineNumber:f}=g.range;if(f>m+1&&e.startLineNumber<=f+1&&m-1<=e.endLineNumber&&m!==d&&a.isValidRange(new C(m,1,f,1))){d=m;let _=this._editor.getLineHeightForPosition(new H(m,1));i.push(new NI(m,f-1,n,_)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,o+1,n+_,m)}}}filterHiddenRanges(e){let t=this._editor._getViewModel()?.getHiddenAreas();return t?e.filter(i=>!t.some(o=>i.startLineNumber>=o.startLineNumber&&i.endLineNumber<=o.endLineNumber+1)):e}updateIndex(e){return e===-1?0:e<0?-e-2:e}};Y_=IH([bN(1,V),bN(2,We)],Y_);var LH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Tl=function(s,e){return function(t,i){e(t,i,s)}},PI,Ri=class extends D{static{PI=this}static{this.ID="store.contrib.stickyScrollController"}constructor(e,t,i,o,n,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=o,this._contextKeyService=a,this._sessionStore=new M,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._mouseTarget=null,this._onDidChangeStickyScrollHeight=this._register(new z),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new K_(this._editor),this._stickyLineCandidateProvider=new Y_(this._editor,i,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Rl.Empty;let d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight(c=>{c.changes.forEach(h=>{let u=h.lineNumber;this._widgetState.startLineNumbers.includes(u)&&this._renderStickyScroll(u)})})),this._register(this._editor.onDidChangeFont(c=>{c.changes.forEach(h=>{let u=h.lineNumber;this._widgetState.startLineNumbers.includes(u)&&this._renderStickyScroll(u)})})),this._register(this._editor.onDidChangeConfiguration(c=>{this._readConfigurationChange(c)})),this._register(Z(d,me.CONTEXT_MENU,async c=>{this._onContextMenu(bt(d),c)})),this._stickyScrollFocusedContextKey=w.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=w.stickyScrollVisible.bindTo(this._contextKeyService);let l=this._register(qi(d));this._register(l.onDidBlur(c=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(l.onDidFocus(c=>{this.focus()})),this._registerMouseListeners(),this._register(Z(d,me.MOUSE_DOWN,c=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight(c=>{this._onDidChangeStickyScrollHeight.fire(c)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(e){return e.getContribution(PI.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 M,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){let e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(C.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){let e=this._register(new M),t=this._register(new Tn(this._editor,{extractLineNumberFromMouseEvent:n=>{let r=this._stickyScrollWidget.getEditorPositionFromNode(n.target.element);return r?r.lineNumber:0}})),i=n=>{if(!this._editor.hasModel()||n.target.type!==12||n.target.detail!==this._stickyScrollWidget.getId())return null;let r=n.target.element;if(!r||r.innerText!==r.innerHTML)return null;let a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new C(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},o=this._stickyScrollWidget.getDomNode();this._register(Xt(o,me.CLICK,n=>{if(n.ctrlKey||n.altKey||n.metaKey||!n.leftButton)return;if(n.shiftKey){let l=this._stickyScrollWidget.getLineIndexFromChildDomNode(n.target);if(l===null)return;let c=new H(this._endLineNumbers[l],1);this._revealLineInCenterIfOutsideViewport(c);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(n.target)){let l=this._stickyScrollWidget.getLineNumberFromChildDomNode(n.target);this._toggleFoldingRegionForLine(l);return}if(!this._stickyScrollWidget.isInStickyLine(n.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(n.target);if(!d){let l=this._stickyScrollWidget.getLineNumberFromChildDomNode(n.target);if(l===null)return;d=new H(l,1)}this._revealPosition(d)})),this._register(Z(Oa,me.MOUSE_MOVE,n=>{this._mouseTarget=n.target,this._onMouseMoveOrKeyDown(n)})),this._register(Z(Oa,me.KEY_DOWN,n=>{this._onMouseMoveOrKeyDown(n)})),this._register(Z(Oa,me.KEY_UP,()=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([n,r])=>{let a=i(n);if(!a||!n.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}let{range:d,textElement:l}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(l.style.textDecoration==="underline")return;let c=new Oe;e.add(ce(()=>c.dispose(!0)));let h;qr(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new H(d.startLineNumber,d.startColumn+1),!1,c.token).then((u=>{if(!c.token.isCancellationRequested)if(u.length!==0){this._candidateDefinitionsLength=u.length;let g=l;h!==g?(e.clear(),h=g,h.style.textDecoration="underline",e.add(ce(()=>{h.style.textDecoration="none"}))):h||(h=g,h.style.textDecoration="underline",e.add(ce(()=>{h.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async n=>{if(n.target.type!==12||n.target.detail!==this._stickyScrollWidget.getId())return;let r=this._stickyScrollWidget.getEditorPositionFromNode(n.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(cf,n,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){let i=new Ba(e,t);this._contextMenuService.showContextMenu({menuId:q.StickyScrollContext,getAnchor:()=>i,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(e){if(!e.shiftKey||!this._mouseTarget||!ni(this._mouseTarget))return;let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);t===null||this._showEndForLine===t||(this._showEndForLine=t,this._renderStickyScroll())}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;let t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t?.foldingIcon;if(!i)return;Lh(this._foldingModel,1,[e]),i.isCollapsed=!i.isCollapsed;let o=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(75)*t.index+1;this._editor.setScrollTop(o),this._renderStickyScroll(e)}_readConfiguration(){let e=this._editor.getOption(131);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(76).renderType===2?this._cursorPositionListener||(this._cursorPositionListener=this._editor.onDidChangeCursorPosition(i=>{this._positionLineNumber!==i.position.lineNumber&&(this._positionLineNumber=i.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0))}),this._sessionStore.add(this._cursorPositionListener)):this._cursorPositionListener&&(this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),this._cursorPositionListener=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)||e.hasChanged(59)||e.hasChanged(176))&&this._renderStickyScroll(0)}_needsUpdate(e){let t=this._stickyScrollWidget.getCurrentLines();for(let i of t)for(let o of e.ranges)if(i>=o.fromLineNumber&&i<=o.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){let t=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(t*.25),this._renderStickyScroll(0)}async _renderStickyScroll(e){let t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}let i=this._updateAndGetMinRebuildFromLine(e),o=this._stickyLineCandidateProvider.getVersionId();if(o===void 0||o===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{let r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){let t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await Mn.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=Rl.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){let e=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),t=this._editor.getScrollTop(),i=0,o=[],n=[],r=this._editor.getVisibleRanges();if(r.length!==0){let a=new mr(r[0].startLineNumber,r[r.length-1].endLineNumber),d=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(a);for(let l of d){let c=l.startLineNumber,h=l.endLineNumber,u=l.top,g=u+l.height,m=this._editor.getTopForLineNumber(c)-t,f=this._editor.getBottomForLineNumber(h)-t;if(u>m&&u<=f&&(o.push(c),n.push(h+1),g>f&&(i=f-g)),o.length===e)break}}return this._endLineNumbers=n,new Rl(o,n,i,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};Ri=PI=LH([Tl(1,_n),Tl(2,V),Tl(3,j),Tl(4,We),Tl(5,Mt),Tl(6,J)],Ri);var ls=K("inlineEdit.originalBackground",mt(kr,.2),p(1286,"Background color for the original text in inline edits."),!0),X_=K("inlineEdit.modifiedBackground",mt(Hs,.3),p(1287,"Background color for the modified text in inline edits."),!0);K("inlineEdit.originalChangedLineBackground",mt(kr,.8),p(1288,"Background color for the changed lines in the original text of inline edits."),!0);var vN=K("inlineEdit.originalChangedTextBackground",mt(kr,.8),p(1289,"Overlay color for the changed text in the original text of inline edits."),!0),CN=K("inlineEdit.modifiedChangedLineBackground",{light:mt(wc,.7),dark:mt(wc,.7),hcDark:wc,hcLight:wc},p(1290,"Background color for the changed lines in the modified text of inline edits."),!0),SN=K("inlineEdit.modifiedChangedTextBackground",mt(Hs,.7),p(1291,"Overlay color for the changed text in the modified text of inline edits."),!0),cs=K("inlineEdit.gutterIndicator.primaryForeground",EC,p(1292,"Foreground color for the primary inline edit gutter indicator.")),Po=K("inlineEdit.gutterIndicator.primaryBorder",DC,p(1293,"Border color for the primary inline edit gutter indicator.")),An=K("inlineEdit.gutterIndicator.primaryBackground",{light:mt(Po,.5),dark:mt(Po,.4),hcDark:mt(Po,.4),hcLight:mt(Po,.5)},p(1294,"Background color for the primary inline edit gutter indicator.")),wN=K("inlineEdit.gutterIndicator.secondaryForeground",hd,p(1295,"Foreground color for the secondary inline edit gutter indicator.")),yN=K("inlineEdit.gutterIndicator.secondaryBorder",ud,p(1296,"Border color for the secondary inline edit gutter indicator.")),Ml=K("inlineEdit.gutterIndicator.secondaryBackground",Sc,p(1297,"Background color for the secondary inline edit gutter indicator.")),xN=K("inlineEdit.gutterIndicator.successfulForeground",EC,p(1298,"Foreground color for the successful inline edit gutter indicator.")),OI=K("inlineEdit.gutterIndicator.successfulBorder",DC,p(1299,"Border color for the successful inline edit gutter indicator.")),Nl=K("inlineEdit.gutterIndicator.successfulBackground",OI,p(1300,"Background color for the successful inline edit gutter indicator.")),IN=K("inlineEdit.gutterIndicator.background",{hcDark:mt("tab.inactiveBackground",.5),hcLight:mt("tab.inactiveBackground",.5),dark:mt("tab.inactiveBackground",.5),light:"#5f5f5f18"},p(1301,"Background color for the inline edit gutter indicator.")),bu=K("inlineEdit.originalBorder",{light:kr,dark:kr,hcDark:kr,hcLight:kr},p(1302,"Border color for the original text in inline edits.")),vu=K("inlineEdit.modifiedBorder",{light:hn(Hs,.6),dark:Hs,hcDark:Hs,hcLight:Hs},p(1303,"Border color for the modified text in inline edits.")),EH=K("inlineEdit.tabWillAcceptModifiedBorder",{light:hn(vu,0),dark:hn(vu,0),hcDark:hn(vu,0),hcLight:hn(vu,0)},p(1304,"Modified border color for the inline edits widget when tab will accept it.")),DH=K("inlineEdit.tabWillAcceptOriginalBorder",{light:hn(bu,0),dark:hn(bu,0),hcDark:hn(bu,0),hcLight:hn(bu,0)},p(1305,"Original border color for the inline edits widget over the original text when tab will accept it."));function pr(s){return s.map(e=>e===et.Accept?EH:vu)}function hs(s){return s.map(e=>e===et.Accept?DH:bu)}function Nt(s,e){let t;typeof s=="string"?t=ds(s,e):t=s.map((o,n)=>ds(o,e).read(n));let i=ds(ld,e);return t.map((o,n)=>o.makeOpaque(i.read(n)))}function Ui(s){let e;switch(s){case nt.TextEditor:e=ld;break;case nt.DiffEditor:e=ld;break;case nt.Notebook:e="notebook.cellEditorBackground";break;default:Fa(s,"Not supported editor type yet")}return Se(e)}function ds(s,e){return o0({owner:{observeColor:s},equalsFn:(t,i)=>t.equals(i),debugName:()=>`observeColor(${s})`},e.onDidColorThemeChange,()=>{let t=e.getColorTheme().getColor(s);if(!t)throw new Ye(`Missing color: ${s}`);return t})}var Pt=3;function bo(s,e,t){let i=s.model.read(t);if(!i)return 0;let o=0;for(let r=e.startLineNumber;r<e.endLineNumberExclusive;r++){let a=s.getWidthOfLine(r,t);o=Math.max(o,a)}let n=e.mapToLineArray(r=>i.getLineContent(r));return o<5&&n.some(r=>r.length>0)&&i.uri.scheme!=="file"&&console.log("unexpected width"),o}function LN(s,e,t){zs(s,s.editor.onDidChangeLineHeight).read(t);let i=s.model.read(t);if(!i)throw new Ye("Model is required");let o=[];for(let n=e.startLineNumber;n<e.endLineNumberExclusive;n++){let r=s.getWidthOfLine(n,t);if(r===-1){let d=i.getLineMaxColumn(n),l=s.editor.getOption(59).typicalHalfwidthCharacterWidth;r=d*l}let a=s.editor.getLineHeightForPosition(new H(n,1));o.push(new ss(r,a))}return o}function EN(s,e,t){return s.layoutInfo.read(t),s.value.read(t),s.model.read(t)?(s.scrollTop.read(t),s.editor.getOffsetForColumn(e.lineNumber,e.column)):0}function Pl(s,e,t,i,o=void 0){let n=i.getModel();if(!n)return{prefixTrim:0,prefixLeftOffset:0};let r=s.map(u=>u.isSingleLine()?u.startColumn-1:0),a=e.mapToLineArray(u=>FC(n.getLineContent(u))),d=t.filter(u=>u!=="").map(u=>FC(u)),l=Math.min(...r,...a,...d),c;if(n.getLineIndentColumn(e.startLineNumber)>=l+1)ke(i).scrollTop.read(o),c=i.getOffsetForColumn(e.startLineNumber,l+1);else if(t.length>0)c=Cu(t[0].slice(0,l),i,n);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:l,prefixLeftOffset:c}}function Cu(s,e,t){let i=e.getOption(59).typicalHalfwidthCharacterWidth,o=t.getOptions().tabSize*i,n=s.split(" ").length-1;return(s.length-n)*i+n*o}function Ol(s){let e=s.layoutInfoContentLeft,t=R({name:"editor.validOverlay.width"},o=>{let n=s.layoutInfoMinimap.read(o).minimapLeft!==0,r=Math.max(0,s.layoutInfoWidth.read(o)-e.read(o));if(n){let a=s.layoutInfoMinimap.read(o).minimapWidth+s.layoutInfoVerticalScrollbarWidth.read(o);return Math.max(0,r-a)}return r}),i=R({name:"editor.validOverlay.height"},o=>s.layoutInfoHeight.read(o)+s.contentHeight.read(o));return R({name:"editor.validOverlay"},o=>Qe.fromLeftTopWidthHeight(e.read(o),0,t.read(o),i.read(o)))}function DN(s,e){let t=[];for(let i of s){let o=e.mapRange(i.modifiedRange);t.push(new yg(i.originalRange,o))}return t}function Al(...s){return s.filter(e=>typeof e=="string").join(" ")}function kH(s,e){return new C(e.lineNumber,e.column+s.start,e.lineNumber,e.column+s.endExclusive)}function RH(s,e){let t=0;e:for(let i=0,o=s.length;i<o;i++)switch(s.charCodeAt(i)){case 9:t+=e;break;case 32:t++;break;default:break e}return t-t%e}function TH(s,e,t){let i=e-e%t,o=0;for(;o<s.length&&i!==0;o++)switch(s.charCodeAt(o)){case 9:i-=t;break;case 32:i--;break;default:throw new Ye("Unexpected character found while calculating indent length")}return o}function kN(s,e,t){let i=bi(s),o=[],n=nk(e.mapToLineArray(r=>RH(i[r-1],t)),wo);return e.forEach(r=>{let a=TH(i[r-1],n,t);o.push(new Be(kH(new Ne(0,a),new H(r,1)),""))}),new Wi(o)}var ka=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 Ti(s){let e=Si(void 0,(t,i)=>s.read(t)||i);return Ni({debugName:()=>`${s.debugName}.mapOutFalsy`},t=>{if(e.read(t),!!s.read(t))return e})}function Ot(s,e=Es.ofCaller()){return{left:R({name:"editor.validOverlay.left"},t=>s(t)?.left,e),top:R({name:"editor.validOverlay.top"},t=>s(t)?.top,e),width:R({name:"editor.validOverlay.width"},t=>{let i=s(t);if(i)return i.width},e),height:R({name:"editor.validOverlay.height"},t=>{let i=s(t);if(i)return i.height},e)}}function RN(s,e){let t=s.getContainerDomNode(),i=be("domRect",t.getBoundingClientRect());return e.add(s.onDidLayoutChange(o=>{i.set(t.getBoundingClientRect(),void 0)})),i}var MH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},AI=function(s,e){return function(t,i){e(t,i,s)}},Q_=class{constructor(e,t,i,o,n,r){this._editorObs=e,this._data=t,this._close=i,this._contextKeyService=o,this._keybindingService=n,this._commandService=r,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map(a=>a.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let e=be("active",void 0),t=f=>({title:f.title,icon:f.icon,keybinding:typeof f.commandId=="string"?this._getKeybinding(f.commandArgs?void 0:f.commandId):R(this,_=>typeof f.commandId=="string"?void 0:this._getKeybinding(f.commandArgs?void 0:f.commandId.read(_)).read(_)),isActive:e.map(_=>_===f.id),onHoverChange:_=>e.set(_?f.id:void 0,void 0),onAction:()=>{let _=typeof f.commandId=="string"?f.commandId:f.commandId.get();return this._close(!0,_),this._commandService.executeCommand(_,...f.commandArgs??[])}}),i=this._data.extensionCommands.map(f=>f.map((_,b)=>us(t({id:_.command.id+"_"+b,title:_.command.title,icon:_.icon??B.symbolEvent,commandId:_.command.id,commandArgs:_.command.arguments})))),o=[];for(let f of i)f.length>0&&(o.push(FI()),o.push(...f));if(this._data.extensionCommandsOnly)return TN(o.slice(1));let n=NH(this._data.displayName),r=us(t({id:"gotoAndAccept",title:p(1276,"Go To / Accept"),icon:B.check,commandId:Go})),a=us(t({id:"reject",title:p(1277,"Reject"),icon:B.close,commandId:kp})),d=this._data.alternativeAction?us(t({id:"alternativeCommand",title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:da})):void 0,l=[],c=this._inlineEditsShowCollapsed.map(f=>us(t(f?{id:"showExpanded",title:p(1278,"Show Expanded"),icon:B.expandAll,commandId:eh}:{id:"showCollapsed",title:p(1279,"Show Collapsed"),icon:B.collapseAll,commandId:eh}))),h=us(t({id:"snooze",title:p(1280,"Snooze"),icon:B.bellSlash,commandId:"editor.action.inlineSuggest.snooze"})),u=us(t({id:"settings",title:p(1281,"Settings"),icon:B.gear,commandId:"workbench.action.openSettings",commandArgs:["@tag:nextEditSuggestions"]})),g=this._data.action?[this._data.action]:[],m=g.length>0?PH(g.map(f=>({id:f.id,label:f.title+"...",enabled:!0,run:()=>this._commandService.executeCommand(f.id,...f.arguments??[]),class:void 0,tooltip:f.tooltip??f.title})),{hoverDelegate:WR}):void 0;return TN([n,r,d,a,c,l.length?FI():void 0,...l,h,u,...o,m?FI():void 0,m])}_getKeybinding(e){return e?st(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e)):ue(void 0)}};Q_=MH([AI(3,J),AI(4,he),AI(5,Fe)],Q_);function TN(s){return G.div({class:"content",style:{margin:4,minWidth:180}},s)}function NH(s){return G.div({class:"header",style:{color:Se(vc),fontSize:"13px",fontWeight:"600",padding:"0 4px",lineHeight:28}},[s])}function us(s){return R({name:"inlineEdits.option"},e=>G.div({class:["monaco-menu-option",s.isActive?.map(t=>t&&"active")],onmouseenter:()=>s.onHoverChange?.(!0),onmouseleave:()=>s.onHoverChange?.(!1),onclick:s.onAction,onkeydown:t=>{t.key==="Enter"&&s.onAction?.()},tabIndex:0,style:{borderRadius:3}},[G.elem("span",{style:{fontSize:16,display:"flex"}},[ne.isThemeIcon(s.icon)?Bi(s.icon):s.icon.map(t=>Bi(t))]),G.elem("span",{},[s.title]),G.div({style:{marginLeft:"auto"},ref:t=>{let i=e.store.add(new vn(t,tn,{disableTitle:!0,...Yg,keybindingLabelShadow:void 0,keybindingLabelForeground:Se(vc),keybindingLabelBackground:"transparent",keybindingLabelBorder:"transparent",keybindingLabelBottomBorder:void 0}));e.store.add(se(o=>{i.set(s.keybinding.read(o))}))}})]))}function PH(s,e){return R({name:"inlineEdits.actionBar"},t=>G.div({class:["action-widget-action-bar"],style:{padding:"3px 24px"}},[G.div({ref:i=>{t.store.add(new Xi(i,e)).push(s,{icon:!1,label:!0})}})]))}function FI(){return G.div({id:"inline-edit-gutter-indicator-menu-separator",class:"menu-separator",style:{color:Se(Fk),padding:"2px 0"}},G.div({style:{borderBottom:`1px solid ${Se(ud)}`}}))}var OH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Su=function(s,e){return function(t,i){e(t,i,s)}},Fl=class{constructor(e,t,i,o,n){this.gutterMenuData=e,this.originalRange=t,this.model=i,this.altAction=o,this.customization=n}},Hl=class s{static fromInlineSuggestion(e){let t=e.action?.kind==="edit"?e.action.alternativeAction:void 0,i=e.source.inlineSuggestions.commands??[];return new s(e.gutterMenuLinkAction,e.source.provider.displayName??p(1282,"Inline Suggestion"),i.length>0?[i]:[],t,e.source.provider.modelInfo,e.source.provider.setModelId?.bind(e.source.provider))}constructor(e,t,i,o,n,r,a=!1){this.action=e,this.displayName=t,this.extensionCommands=i,this.alternativeAction=o,this.modelInfo=n,this.setModelId=r,this.extensionCommandsOnly=a}},Wl=class s{static fromInlineCompletionModel(e){return new s(()=>e.accept(),()=>e.jump())}constructor(e,t){this.accept=e,this.jump=t}},HI=16,MN=2,Bl=class extends D{constructor(e,t,i,o,n,r,a,d,l,c,h){super(),this._editorObs=e,this._data=t,this._tabAction=i,this._verticalOffset=o,this._isHoveringOverInlineEdit=n,this._focusIsInMenu=r,this._hoverService=a,this._instantiationService=d,this._accessibilityService=l,this._themeService=c,this._userInteractionService=h,this._onDidCloseWithCommand=this._register(new z),this._modifierPressed=R(this,g=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),g).shiftKey),this._gutterIndicatorStyles=R(this,g=>{let m=this._tabAction.read(g),f=this._data.read(g)?.altAction,_=this._modifierPressed.read(g);switch(f&&_&&(m=et.Inactive),m){case et.Inactive:return{background:Nt(Ml,this._themeService).read(g).toString(),foreground:Nt(wN,this._themeService).read(g).toString(),border:Nt(yN,this._themeService).read(g).toString()};case et.Jump:return{background:Nt(An,this._themeService).read(g).toString(),foreground:Nt(cs,this._themeService).read(g).toString(),border:Nt(Po,this._themeService).read(g).toString()};case et.Accept:return{background:Nt(Nl,this._themeService).read(g).toString(),foreground:Nt(xN,this._themeService).read(g).toString(),border:Nt(OI,this._themeService).read(g).toString()};default:Fa()}}),this._state=R(this,g=>{let m=this._originalRangeObs.read(g);if(m)return{range:m,lineOffsetRange:this._editorObs.observeLineOffsetRange(m,g.store)}}),this._lineNumberToRender=R(this,g=>{if(this._verticalOffset.read(g)!==0)return"";let m=this._data.read(g)?.originalRange.startLineNumber,f=this._editorObs.getOption(76).read(g);if(m===void 0||f.renderType===0)return"";if(f.renderType===3){let _=this._editorObs.cursorPosition.read(g);return m%10===0||_&&_.lineNumber===m?m.toString():""}if(f.renderType===2){let _=this._editorObs.cursorPosition.read(g);if(!_)return"";let b=Math.abs(m-_.lineNumber);return b===0?m.toString():b.toString()}return f.renderType===4?f.renderFn?f.renderFn(m):"":m.toString()}),this._availableWidthForIcon=R(this,g=>{let m=this._editorObs.editor.getModel(),f=this._editorObs.editor,_=this._editorObs.layoutInfo.read(g),b=_.decorationsLeft+_.decorationsWidth-_.glyphMarginLeft;if(!m||b<=0)return()=>0;if(_.lineNumbersLeft===0)return()=>b;let v=this._editorObs.getOption(76).read(g);if(v.renderType===2||v.renderType===0)return()=>b;let y=f.getOption(59).typicalHalfwidthCharacterWidth,L=_.lineNumbersLeft+_.lineNumbersWidth,S=(m.getLineCount()+1).toString().length,x=[];for(let T=1;T<=S;T++){let N=10**(T-1),F=f.getTopForLineNumber(N),P=T*y,Y=Math.min(b,Math.max(0,L-P-_.glyphMarginLeft));x.push({firstLineNumberWithDigitCount:N,topOfLineNumber:F,usableWidthLeftOfLineNumber:Y})}return T=>{for(let N=x.length-1;N>=0;N--)if(T>=x[N].topOfLineNumber)return x[N].usableWidthLeftOfLineNumber;throw new Ye("Could not find avilable width for icon")}}),this._layout=R(this,g=>{let m=this._state.read(g);if(!m)return;let f=this._editorObs.layoutInfo.read(g),_=this._editorObs.observeLineHeightForLine(m.range.map(Ze=>Ze.startLineNumber)).read(g),b=1,v=2,y=f.decorationsLeft+f.decorationsWidth-f.glyphMarginLeft-2*b,L=f.height-2*v,E=Qe.fromLeftTopWidthHeight(b,v,y,L),S=E.withTop(this._stickyScrollHeight.read(g)),x=E.withTop(S.top+v),T=m.lineOffsetRange.read(g),N=Qe.fromRanges(Ne.fromTo(x.left,x.right),T),F=_,P=this._verticalOffset.read(g),Y=N.withHeight(F).translateY(P),le=S.containsRect(Y),de=this._data.read(g)?.customization?.icon,Ee=de?ue(de):this._tabAction.map(Ze=>Ze===et.Accept?B.keyboardTab:B.arrowRight),ye=de?ue(de):R(this,Ze=>{if(this._isHoveredOverIconDebounced.read(Ze)||this._isHoveredOverInlineEditDebounced.read(Ze))return B.check;if(this._tabAction.read(Ze)===et.Accept)return B.keyboardTab;let $t=this._editorObs.cursorLineNumber.read(Ze)??0,Cr=m.range.read(Ze).startLineNumber;return $t<=Cr?B.keyboardTabAbove:B.keyboardTabBelow}),Pe=22,we=Ze=>{let $t=this._availableWidthForIcon.read(void 0)(Ze.bottom+this._editorObs.editor.getScrollTop())-b;return Math.max(Math.min($t,Pe),HI)};if(le){let Ze=Y,$t;f.lineNumbersWidth===0?$t=Math.max(0,Math.min(Math.max(f.lineNumbersLeft-E.left,0),Ze.width-Pe)):$t=Math.max(f.lineNumbersLeft+f.lineNumbersWidth-E.left,0);let Cr=Ze.withWidth($t),vo=HI+MN,en=Math.min(Ze.width-$t,Pe),ws=Ze.withWidth(Math.max(en,vo)).translateX($t),$v=en>=vo;return{gutterEditArea:N,icon:ye,iconDirection:"right",iconRect:ws,iconVisible:$v,pillRect:Ze,lineNumberRect:Cr}}let Ie=E.intersect(N);if(Ie&&Ie.height>=F){let Ze=Y.moveToBeContainedIn(x).moveToBeContainedIn(Ie),$t=Ze.withWidth(we(Ze));return{gutterEditArea:N,icon:ye,iconDirection:"right",iconRect:$t,pillRect:$t,iconVisible:!0}}let $e=Y.moveToBeContainedIn(E),Ue=$e.withWidth(we($e)),ut=Ue,rt=Ue.top<Y.top?"top":"bottom";return{gutterEditArea:N,icon:Ee,iconDirection:rt,iconRect:ut,pillRect:Ue,iconVisible:!0}}),this._iconRef=G.ref(),this.isVisible=this._layout.map(g=>!!g),this._hoverVisible=be(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=be(this,!1),this._isHoveredOverIconDebounced=lC(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=G.div({class:"inline-edits-view-gutter-indicator",style:{position:"absolute",overflow:"visible"}},Ti(this._layout).map(g=>g?[G.div({style:{position:"absolute",background:Se(IN),borderRadius:`${Pt}px`,...Ot(m=>g.read(m).gutterEditArea)}}),G.div({class:"icon",ref:this._iconRef,tabIndex:0,onclick:()=>{let f=this._layout.get()?.icon.get()===B.check,_=this._data.get();if(!_)throw new Ye("Gutter indicator data not available");this._editorObs.editor.focus(),f?_.model.accept():_.model.jump()},onmouseenter:()=>{this._isHoveredOverIcon.set(!0,void 0),this._showHover()},onmouseleave:()=>this._isHoveredOverIcon.set(!1,void 0),style:{cursor:"pointer",zIndex:"20",position:"absolute",backgroundColor:this._gutterIndicatorStyles.map(m=>m.background),"--vscodeIconForeground":this._gutterIndicatorStyles.map(m=>m.foreground),border:this._gutterIndicatorStyles.map(m=>`1px solid ${m.border}`),boxSizing:"border-box",borderRadius:`${Pt}px`,display:"flex",justifyContent:g.map(m=>m.iconDirection==="bottom"?"flex-start":"flex-end"),transition:this._modifierPressed.map(m=>m?"":"background-color 0.2s ease-in-out, width 0.2s ease-in-out"),...Ot(m=>g.read(m).pillRect)}},[G.div({className:"line-number",style:{lineHeight:g.map(m=>m.lineNumberRect?m.lineNumberRect.height:0),display:g.map(m=>m.lineNumberRect?"flex":"none"),alignItems:"center",justifyContent:"flex-end",width:g.map(m=>m.lineNumberRect?m.lineNumberRect.width:0),height:"100%",color:this._gutterIndicatorStyles.map(m=>m.foreground)}},this._lineNumberToRender),G.div({style:{transform:g.map(m=>`rotate(${AH(m.iconDirection)}deg)`),transition:"rotate 0.2s ease-in-out, opacity 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center",height:"100%",opacity:g.map(m=>m.iconVisible?"1":"0"),marginRight:g.map(m=>m.pillRect.width-m.iconRect.width-(m.lineNumberRect?.width??0)),width:g.map(m=>m.iconRect.width),position:"relative",right:g.map(m=>m.iconDirection==="top"?"1px":"0"),color:this._data.map(m=>m?.customization?.icon?.color?Se(m.customization.icon.color.id):void 0)}},[g.map((m,f)=>FH(Bi(m.icon.read(f)),{fontSize:HH(Math.min(m.iconRect.width-MN,HI))}))])])]:[])),this._originalRangeObs=Ti(this._data.map(g=>g?.originalRange)),this._stickyScrollController=Ri.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?st(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):ue(0),this._isHoveredOverInlineEditDebounced=lC(this._isHoveringOverInlineEdit,100);let u=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:u.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:ue(0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(mn(this._isHoveredOverInlineEditDebounced,g=>{g&&this.triggerAnimation()})),this._register(se(g=>{u.readEffect(g),u.element&&this._editorObs.editor.applyFontInfo(u.element)}))}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map(t=>t.border).get()}`,outlineOffset:"-1px",offset:0},{outline:"2px solid transparent",outlineOffset:"10px",offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;let e=this._data.get();if(!e)throw new Ye("Gutter indicator data not available");let t=new M,i=t.add(this._instantiationService.createInstance(Q_,this._editorObs,e.gutterMenuData,(r,a)=>{r&&this._editorObs.editor.focus(),a&&this._onDidCloseWithCommand.fire(a),n?.dispose()}).toDisposableLiveElement()),o=this._userInteractionService.createFocusTracker(i.element,t);t.add(se(r=>{this._focusIsInMenu.set(o.read(r),void 0)})),t.add(ce(()=>this._focusIsInMenu.set(!1,void 0)));let n=this._hoverService.showInstantHover({target:this._iconRef.element,content:i.element});n?(this._hoverVisible.set(!0,void 0),t.add(this._editorObs.editor.onDidScrollChange(()=>n.dispose())),t.add(n.onDispose(()=>{this._hoverVisible.set(!1,void 0),t.dispose()}))):t.dispose()}};Bl=OH([Su(6,Lt),Su(7,j),Su(8,Zi),Su(9,Ke),Su(10,Tr)],Bl);function AH(s){switch(s){case"top":return 90;case"bottom":return-90;case"right":return 0}}function FH(s,e){for(let t in e)s.style[t]=e[t];return s}function HH(s){return`${s}px`}var WH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},NN=function(s,e){return function(t,i){e(t,i,s)}},so;(function(s){s.FirstTime="firstTime",s.SecondTime="secondTime",s.Active="active"})(so||(so={}));var J_=class extends D{constructor(e,t,i,o,n){super(),this._model=e,this._indicator=t,this._collapsedView=i,this._storageService=o,this._configurationService=n,this._disposables=this._register(new xe),this._setupDone=be({name:"setupDone"},!1),this._activeCompletionId=R(r=>{let a=this._model.read(r);if(!a||!this._setupDone.read(r))return;let d=this._indicator.read(r);if(!(!d||!d.isVisible.read(r)))return a.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===so.Active)return;let e=new M,t=!1,i=!1,o=0,n=0;return e.add(eR(this._activeCompletionId,async(r,a,d,l)=>{if(r===void 0)return;let c=this.getNewUserType();switch(c){case so.FirstTime:{(o++>=5||t)&&(c=so.SecondTime,this.setNewUserType(c));break}case so.SecondTime:{n++>=3&&i&&(c=so.Active,this.setNewUserType(c));break}}switch(c){case so.FirstTime:{for(let h=0;h<3&&!l.isCancellationRequested;h++)await this._indicator.get()?.triggerAnimation(),await yr(500);break}case so.SecondTime:{this._indicator.get()?.triggerAnimation();break}}})),e.add(se(r=>{this._collapsedView.isVisible.read(r)&&this.getNewUserType()!==so.Active&&this._collapsedView.triggerAnimation()})),e.add(se(r=>{let a=this._indicator.read(r);a&&r.store.add(mn(a.isHoveredOverIcon,async d=>{d&&(t=!0)}))})),e.add(se(r=>{let a=this._model.read(r);a&&r.store.add(a.onDidAccept(()=>{i=!0}))})),e}getNewUserType(){return this._storageService.get("inlineEditsGutterIndicatorUserKind",-1,so.FirstTime)}setNewUserType(e){switch(e){case so.FirstTime:throw new Ye("UserKind should not be set to first time");case so.SecondTime:break;case so.Active:this._disposables.clear();break}this._storageService.store("inlineEditsGutterIndicatorUserKind",e,-1,0)}_initializeDebugSetting(){let e="editor.inlineSuggest.edits.resetNewUserExperience";return this._configurationService.getValue(e)&&this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._configurationService.onDidChangeConfiguration(i=>{i.affectsConfiguration(e)&&this._configurationService.getValue(e)&&(this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._disposables.value=this.setupNewUserExperience())})}};J_=WH([NN(3,Tt),NN(4,re)],J_);var WI=class s{static{this.empty=new s([])}constructor(e){this.replacements=e,fD(Qu(e,(t,i)=>t.lineRange.endLineNumberExclusive<=i.lineRange.startLineNumber))}toString(){return this.replacements.map(e=>e.toString()).join(",")}getNewLineRanges(){let e=[],t=0;for(let i of this.replacements)e.push(it.ofLength(i.lineRange.startLineNumber+t,i.newLines.length)),t+=i.newLines.length-i.lineRange.length;return e}},Vl=class s{static fromSingleTextEdit(e,t){let i=bi(e.text),o=e.range.startLineNumber,n=t.getValueOfRange(C.fromPositions(new H(e.range.startLineNumber,1),e.range.getStartPosition()));i[0]=n+i[0];let r=e.range.endLineNumber+1,a=t.getTransformer().getLineLength(e.range.endLineNumber)+1,d=t.getValueOfRange(C.fromPositions(e.range.getEndPosition(),new H(e.range.endLineNumber,a)));i[i.length-1]=i[i.length-1]+d;let l=e.range.startColumn===t.getTransformer().getLineLength(e.range.startLineNumber)+1,c=e.range.endColumn===1;return l&&i[0].length===n.length&&(o++,i.shift()),i.length>0&&o<r&&c&&i[i.length-1].length===d.length&&(r--,i.pop()),new s(new it(o,r),i)}constructor(e,t){this.lineRange=e,this.newLines=t}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new WI([this])}};var eb=class{get lineEdit(){return this.action?.kind==="jumpTo"?new Vl(it.ofLength(this.action.position.lineNumber,0),[]):this.action?.kind==="edit"?Vl.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText):new Vl(new it(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(it.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(e,t,i,o,n,r,a){this.originalText=e,this.action=t,this.edit=i,this.cursorPosition=o,this.multiCursorPositions=n,this.commands=r,this.inlineCompletion=a}};var tb=class{constructor(e,t,i){this._model=e,this.inlineEdit=t,this.tabAction=i,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=R(this,o=>wI(this._model.editor,this.inlineEdit.inlineCompletion,o)),this.onDidAccept=this._model.onDidAccept}accept(e){this._model.accept(void 0,e)}handleInlineEditShownNextFrame(e,t){let i=this.inlineEdit.inlineCompletion,o=Date.now();i.addRef(),yD(()=>{this._model.handleInlineSuggestionShown(i,e,t,o),i.removeRef()})}};var BH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},VH=function(s,e){return function(t,i){e(t,i,s)}},ib=class extends D{constructor(e,t,i){super(),this._editor=e,this._edit=t,this._accessibilityService=i,this.onDidClick=De.None,this._iconRef=G.ref(),this.isHovered=ue(!1),this._editorObs=ke(this._editor);let n=this._edit.map(l=>l?.edit?.replacements[0]??null).map(l=>l?_o(l,this._editor.getModel()).range.getStartPosition():null),r=this._editorObs.observePosition(n,this._store),a=R(l=>{let c=r.read(l);if(!c)return null;let h=this._editorObs.layoutInfoContentLeft.read(l),u=this._editorObs.scrollLeft.read(l);return new Ii(h+c.x-u,c.y)}),d=G.div({class:"inline-edits-collapsed-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[[this.getCollapsedIndicator(a)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:d,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:ue(0)})),this.isVisible=this._edit.map((l,c)=>!!l&&a.read(c)!==null)}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{offset:0,transform:"translateY(-3px)"},{offset:.2,transform:"translateY(1px)"},{offset:.36,transform:"translateY(-1px)"},{offset:.52,transform:"translateY(1px)"},{offset:.68,transform:"translateY(-1px)"},{offset:.84,transform:"translateY(1px)"},{offset:1,transform:"translateY(0px)"}],{duration:2e3}).finished}getCollapsedIndicator(e){let t=this._editorObs.layoutInfoContentLeft,i=e.map((n,r)=>n?n.deltaX(-t.read(r)):null),o=this.createIconPath(i);return G.svg({class:"collapsedView",ref:this._iconRef,style:{position:"absolute",...Ot(n=>Ol(this._editorObs).read(n)),overflow:"hidden",pointerEvents:"none"}},[G.svgElem("path",{class:"collapsedViewPath",d:o,fill:Se(Po)})])}createIconPath(e){return e.map(n=>{if(!n)return new ka().build();let r=n.deltaX(-6/2).deltaY(-1),a=r.deltaX(6),d=r.deltaY(1),l=a.deltaY(1),c=d.deltaX(6/2).deltaY(3);return new ka().moveTo(r).lineTo(a).lineTo(l).lineTo(c).lineTo(d).lineTo(r).build()})}};ib=BH([VH(2,Zi)],ib);var zH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},PN=function(s,e){return function(t,i){e(t,i,s)}},ob=14,BI=0,fr=4,nb=4,ON=2,rb=class extends D{constructor(e,t,i,o,n,r){super(),this._editor=e,this._languageService=r,this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._isHovered=be(this,!1),this.isHovered=this._isHovered,this._viewRef=G.ref(),this._editorObs=ke(this._editor);let a=i.map((h,u)=>{let g;switch(h){case et.Inactive:g=Ml;break;case et.Jump:g=An;break;case et.Accept:g=Nl;break}return{border:Nt(g,n).read(u).toString(),background:Ui(o.read(u))}}),d=t.map(h=>h?this.getState(h):void 0),l=d.map(h=>h?this.getRendering(h,a):void 0);this.minEditorScrollHeight=R(this,h=>{let u=d.read(h);return u?u.rect.read(h).bottom+this._editor.getScrollTop():0});let c=G.div({class:"inline-edits-custom-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[l]).keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:c.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:Si(this,(h,u)=>{let g=d.read(h);if(!g)return u??0;let m=g.rect.map(f=>f.right).read(h)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(h)+fr-this._editorObs.layoutInfoContentLeft.read(h);return Math.max(u??0,m)}).recomputeInitiallyAndOnChange(this._store)})),this._register(se(h=>{if(!l.read(h)){this._isHovered.set(!1,void 0);return}this._isHovered.set(c.isHovered.read(h),void 0)}))}fitsInsideViewport(e,t,i){let o=this._editorObs.layoutInfoWidth.read(i),n=this._editorObs.layoutInfoContentLeft.read(i),r=this._editor.getLayoutInfo().verticalScrollbarWidth,a=this._editorObs.layoutInfoMinimap.read(i).minimapLeft!==0?this._editorObs.layoutInfoMinimap.read(i).minimapWidth:0,d=bo(this._editorObs,e,void 0),l=Cu(t,this._editor,this._editor.getModel()),c=fr+ob;return d+l+c<o-n-r-a}getState(e){let t=R(this,a=>{let d=e.range.startLineNumber,l=e.range.endLineNumber,c=e.range.startColumn,h=e.range.endColumn,u=this._editor.getModel()?.getLineCount()??0,g=bo(this._editorObs,new it(d,d+1),a),m=d+1<=u?bo(this._editorObs,new it(d+1,d+2),a):void 0,f=d-1>=1?bo(this._editorObs,new it(d-1,d),a):void 0,_=this._editor.getOffsetForColumn(d,c),b=this._editor.getOffsetForColumn(l,h);return{lineWidth:g,lineWidthBelow:m,lineWidthAbove:f,startContentLeftOffset:_,endContentLeftOffset:b}}),i=e.range.startLineNumber,o=e.range.endLineNumber,n=this.fitsInsideViewport(new it(i,o+1),e.content,void 0);return{rect:R(this,a=>{let d=this._editorObs.getOption(59).read(a).typicalHalfwidthCharacterWidth,{lineWidth:l,lineWidthBelow:c,lineWidthAbove:h,startContentLeftOffset:u,endContentLeftOffset:g}=t.read(a),m=this._editorObs.layoutInfoContentLeft.read(a),f=this._editorObs.observeLineHeightForLine(i).recomputeInitiallyAndOnChange(a.store).read(a),_=this._editorObs.scrollTop.read(a),b=this._editorObs.scrollLeft.read(a),v;i===o&&g+5*d>=l&&n?v="end":c!==void 0&&c+ob-nb-fr<u?v="below":h!==void 0&&h+ob-nb-fr<u?v="above":v="end";let y,L,E=0,S=0;switch(v){case"end":{y=this._editorObs.editor.getTopForLineNumber(i),L=l,E=fr+ob;break}case"below":{y=this._editorObs.editor.getTopForLineNumber(i+1),L=u,E=fr+nb,S=BI+ON;break}case"above":{y=this._editorObs.editor.getTopForLineNumber(i-1),L=u,E=fr+nb,S=-BI+ON;break}}return Qe.fromLeftTopWidthHeight(m+L-b,y-_,d*e.content.length,f).withMargin(BI,fr).translateX(E).translateY(S)}),label:e.content,kind:e.style}}getRendering(e,t){let i=document.createElement("div"),o=this._editor.getModel().tokenization.tokenizeLinesAt(1,[e.label])?.[0],n;o&&e.kind===Y0.Code?n=Dr.fromLineTokens(o).toLineTokens(e.label,this._languageService.languageIdCodec):n=Io.createEmpty(e.label,this._languageService.languageIdCodec);let r=Pr(new Or([n]),Ar.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],i,!0);i.style.width=`${r.minWidthInPx}px`;let a=e.rect.map(d=>d.withMargin(0,fr));return G.div({class:"collapsedView",ref:this._viewRef,style:{position:"absolute",...Ot(d=>a.read(d)),overflow:"hidden",boxSizing:"border-box",cursor:"pointer",border:t.map(d=>`1px solid ${d.border}`),borderRadius:`${Pt}px`,backgroundColor:t.map(d=>d.background),display:"flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap"},onmousedown:d=>{d.preventDefault()},onclick:d=>{this._onDidClick.fire(ro.create(d))}},[i])}};rb=zH([PN(4,Ke),PN(5,si)],rb);var UH=0,jH=0,VI=1,KH=1,qH=3,zI=Pt,sb=class extends D{constructor(e,t,i,o){super(),this._editor=e,this._edit=t,this._uiState=i,this._tabAction=o,this.onDidClick=De.None,this._display=R(this,a=>this._uiState.read(a)?"block":"none"),this._editorMaxContentWidthInRange=R(this,a=>{let d=this._originalDisplayRange.read(a);return d?(this._editorObs.versionId.read(a),Si(this,(l,c)=>{let h=bo(this._editorObs,d,l);return Math.max(h,c??0)})):ue(0)}).map((a,d)=>a.read(d)),this._maxPrefixTrim=R(this,a=>{let d=this._uiState.read(a);return d?Pl(d.deletions,d.originalRange,[],this._editor):{prefixTrim:0,prefixLeftOffset:0}}),this._editorLayoutInfo=R(this,a=>{let d=this._edit.read(a);if(!d||!this._uiState.read(a))return null;let c=this._editorObs.layoutInfo.read(a),h=this._editorObs.scrollLeft.read(a),u=this._editorObs.getOption(59).map(y=>y.typicalHalfwidthCharacterWidth).read(a),g=c.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(a),u)-h,m=d.originalLineRange,f=this._originalVerticalStartPosition.read(a)??this._editor.getTopForLineNumber(m.startLineNumber)-this._editorObs.scrollTop.read(a),_=this._originalVerticalEndPosition.read(a)??this._editor.getTopForLineNumber(m.endLineNumberExclusive)-this._editorObs.scrollTop.read(a),b=c.contentLeft+this._maxPrefixTrim.read(a).prefixLeftOffset-h;return g<=b?null:{codeRect:Qe.fromLeftTopRightBottom(b,f,g,_).withMargin(jH,UH),contentLeft:c.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=G.div({style:{pointerEvents:"none"}},R(this,a=>{let d=Ti(this._editorLayoutInfo).read(a);if(!d)return;let l=d.map(m=>Qe.fromLeftTopRightBottom(m.contentLeft-zI-VI,m.codeRect.top,m.contentLeft,m.codeRect.bottom)),c=R(this,m=>{let f=d.read(m).codeRect,_=l.read(m);return f.intersectHorizontal(new Ne(_.left,Number.MAX_SAFE_INTEGER))}),h=this._uiState.map(m=>m?.editorType===nt.DiffEditor?qH:KH).read(a),u=c.map(m=>m.withMargin(h,h)),g=Ui(this._uiState.map(m=>m?.editorType??nt.TextEditor).read(a));return[G.div({class:"originalSeparatorDeletion",style:{...u.read(a).toStyles(),borderRadius:`${zI}px`,border:`${VI+h}px solid ${g}`,boxSizing:"border-box"}}),G.div({class:"originalOverlayDeletion",style:{...c.read(a).toStyles(),borderRadius:`${zI}px`,border:hs(this._tabAction).map(m=>`${VI}px solid ${Se(m)}`),boxSizing:"border-box",backgroundColor:Se(ls)}}),G.div({class:"originalOverlayHiderDeletion",style:{...l.read(a).toStyles(),backgroundColor:g}})]})).keepUpdated(this._store),this._nonOverflowView=G.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=ue(!1),this._editorObs=ke(this._editor);let n=R(this,a=>{let d=this._edit.read(a);return d?new H(d.originalLineRange.startLineNumber,1):null}),r=R(this,a=>{let d=this._edit.read(a);return d?new H(d.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map(a=>a?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(n,this._store).map(a=>a?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(r,this._store).map(a=>a?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:R(this,a=>{let d=this._editorLayoutInfo.read(a);return d===null?0:d.codeRect.width})}))}};var GH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},AN=function(s,e){return function(t,i){e(t,i,s)}},zl=1,$H=1,ZH=3,UI=Pt,ab=class extends D{constructor(e,t,i,o,n){super(),this._editor=e,this._input=t,this._tabAction=i,this._languageService=n,this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._state=R(this,r=>{let a=this._input.read(r);if(!a)return;let d=this._editor.getModel(),l=d.getEOL();if(a.startColumn===1&&a.lineNumber>1&&d.getLineLength(a.lineNumber)!==0&&a.text.endsWith(l)&&!a.text.startsWith(l)){let c=d.getLineLength(a.lineNumber-1)+1;return{lineNumber:a.lineNumber-1,column:c,text:l+a.text.slice(0,-l.length)}}return{lineNumber:a.lineNumber,column:a.startColumn,text:a.text}}),this._trimVertically=R(this,r=>{let a=this._state.read(r);if(!a)return{topOffset:0,contentHeight:0,linesTop:0,linesBottom:0};let d=a.text,l=this._editor.getLineHeightForPosition(new H(a.lineNumber,1)),c=this._editor.getModel().getEOL(),h=d.split(c).length,u=0,g=0;if(d.trim()!==""){let m=0;for(;m<d.length&&d.startsWith(c,m);m+=c.length)u+=1;for(let f=d.length;f>m&&d.endsWith(c,f);f-=c.length)g+=1}return{topOffset:u*l,contentHeight:(h-u-g)*l,linesTop:u,linesBottom:g}}),this._maxPrefixTrim=R(this,r=>{let a=this._state.read(r);if(!a)return{prefixLeftOffset:0,prefixTrim:0};let d=this._editor.getModel(),l=d.getEOL(),c=this._trimVertically.read(r),h=a.text.split(l),u=h.slice(c.linesTop,h.length-c.linesBottom);c.linesTop===0&&(u[0]=d.getLineContent(a.lineNumber)+u[0]);let g=new it(a.lineNumber,a.lineNumber+(c.linesTop>0?0:1));return Pl([],g,u,this._editor)}),this._ghostText=R(r=>{let a=this._state.read(r),d=this._maxPrefixTrim.read(r);if(!a)return;let c=this._editor.getModel().getEOL(),u=a.text.split(c).map((g,m)=>new Ug(new C(m+1,m===0?1:d.prefixTrim+1,m+1,g.length+1),"modified-background",0));return new Pn(a.lineNumber,[new os(a.column,a.text,!1,u)])}),this._display=R(this,r=>this._state.read(r)?"block":"none"),this._editorMaxContentWidthInRange=R(this,r=>{let a=this._state.read(r);if(!a)return 0;this._editorObs.versionId.read(r);let d=this._editor.getModel(),l=d.getEOL(),c=a.text.startsWith(l)?"":d.getValueInRange(new C(a.lineNumber,1,a.lineNumber,a.column)),h=d.getValueInRange(new C(a.lineNumber,a.column,a.lineNumber,d.getLineLength(a.lineNumber)+1)),g=(c+a.text+h).split(l),m=Ar.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),f=g.map(_=>{let b=d.tokenization.tokenizeLinesAt(a.lineNumber,[_])?.[0],v;return b?v=Dr.fromLineTokens(b).toLineTokens(_,this._languageService.languageIdCodec):v=Io.createEmpty(_,this._languageService.languageIdCodec),Pr(new Or([v]),m,[],W("div"),!0).minWidthInPx});return Math.max(...f)}),this.startLineOffset=this._trimVertically.map(r=>r.topOffset),this.originalLines=this._state.map(r=>r?new it(r.lineNumber,Math.min(r.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=R(this,r=>{this._ghostText.read(r);let a=this._state.read(r);if(!a)return null;this._editorObs.observePosition(be(this,new H(a.lineNumber,a.column)),r.store).read(r);let d=this._editorObs.layoutInfo.read(r),l=this._editorObs.scrollLeft.read(r),c=this._editorObs.layoutInfoVerticalScrollbarWidth.read(r),h=d.contentLeft+this._editorMaxContentWidthInRange.read(r)-l,u=this._maxPrefixTrim.read(r).prefixLeftOffset??0,g=d.contentLeft+u-l;if(h<=g)return null;let{topOffset:m,contentHeight:f}=this._trimVertically.read(r),_=this._editorObs.scrollTop.read(r),b=this._editor.getTopForLineNumber(a.lineNumber)-_+m,v=b+f,y=new Qe(g,b,h,v);return{overlay:y,startsAtContentLeft:u===0,contentLeft:d.contentLeft,minContentWidthRequired:u+y.width+c}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=G.div({style:{pointerEvents:"none"}},R(this,r=>{let a=Ti(this._overlayLayout).read(r);if(!a)return;let d=a.map(g=>Qe.fromLeftTopRightBottom(g.contentLeft-UI-zl,g.overlay.top,g.contentLeft,g.overlay.bottom)).read(r),l=this._input.map(g=>g?.editorType===nt.DiffEditor?ZH:$H).read(r),c=a.map(g=>g.overlay.withMargin(0,zl,zl,g.startsAtContentLeft?0:zl).intersectHorizontal(new Ne(d.left,Number.MAX_SAFE_INTEGER))),h=c.map(g=>g.withMargin(l,l)),u=Ui(this._input.read(void 0)?.editorType??nt.TextEditor);return[G.div({class:"originalUnderlayInsertion",style:{...h.read(r).toStyles(),borderRadius:UI,border:`${zl+l}px solid ${u}`,boxSizing:"border-box"}}),G.div({class:"originalOverlayInsertion",style:{...c.read(r).toStyles(),borderRadius:UI,border:pr(this._tabAction).map(g=>`${zl}px solid ${Se(g)}`),boxSizing:"border-box",backgroundColor:Se(X_)}}),G.div({class:"originalOverlayHiderInsertion",style:{...d.toStyles(),backgroundColor:u}})]})).keepUpdated(this._store),this._view=G.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=ke(this._editor),this._ghostTextView=this._register(o.createInstance(rs,this._editor,R(r=>{let a=this._ghostText.read(r);if(a)return{ghostText:a,handleInlineCompletionShown:d=>{},warning:void 0}}),{extraClasses:["inline-edit"],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick(r=>{this._onDidClick.fire(new ro(r))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:R(this,r=>{let a=this._overlayLayout.read(r);return a===null?0:a.minContentWidthRequired})}))}};ab=GH([AN(3,j),AN(4,si)],ab);var YH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},FN=function(s,e){return function(t,i){e(t,i,s)}},db=class extends D{constructor(e,t,i,o,n,r){super(),this._editor=e,this._edit=t,this._editorType=i,this._tabAction=o,this._languageService=n,this._themeService=r,this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((a,d)=>a?Pl(a.replacements.flatMap(l=>[l.originalRange,l.modifiedRange]),a.originalRange,a.modifiedLines,this._editor.editor,d):void 0),this._modifiedLineElements=R(this,a=>{let d=[],l=0,c=this._maxPrefixTrim.read(a),h=this._edit.read(a);if(!h||!c)return;let u=c.prefixTrim,g=XH(h.replacements.map(_=>_.modifiedRange)).map(_=>new C(_.startLineNumber,_.startColumn-u,_.endLineNumber,_.endColumn-u)),m=this._editor.model.get(),f=h.modifiedRange.startLineNumber;for(let _=0;_<h.modifiedRange.length;_++){let b=document.createElement("div"),v=f+_,y=h.modifiedLines[_].slice(u),L=m.tokenization.tokenizeLinesAt(v,[y])?.[0],E;L?E=Dr.fromLineTokens(L).toLineTokens(y,this._languageService.languageIdCodec):E=Io.createEmpty(y,this._languageService.languageIdCodec);let S=[];for(let T of g.filter(N=>N.startLineNumber===v)){let N=Math.min(T.endColumn,y.length+1);S.push(new Ug(new C(1,T.startColumn,1,N),"inlineCompletions-modified-bubble",0))}let x=Pr(new Or([E]),Ar.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),S,b,!0);this._editor.getOption(59).read(a),l=Math.max(l,x.minWidthInPx),d.push(b)}return{lines:d,requiredWidth:l}}),this._layout=R(this,a=>{let d=this._modifiedLineElements.read(a),l=this._maxPrefixTrim.read(a),c=this._edit.read(a);if(!d||!l||!c)return;let{prefixLeftOffset:h}=l,{requiredWidth:u}=d,g=this._editor.observeLineHeightsForLineRange(c.originalRange).read(a),m=(()=>{let ye=g.slice(0,c.modifiedRange.length);for(;ye.length<c.modifiedRange.length;)ye.push(g[g.length-1]);return ye})(),f=this._editor.layoutInfoContentLeft.read(a),_=this._editor.layoutInfoVerticalScrollbarWidth.read(a),b=this._editor.scrollLeft.read(a),v=this._editor.scrollTop.read(a),y=f-b,L=this._editor.editor.getModel(),E=c.originalRange.mapToLineArray(ye=>this._editor.editor.getOffsetForColumn(ye,L.getLineMaxColumn(ye))-h),S=Math.max(...E,u),x=c.originalRange.startLineNumber,T=c.originalRange.endLineNumberExclusive-1,N=this._editor.editor.getTopForLineNumber(x)-v,F=this._editor.editor.getBottomForLineNumber(T)-v,P=Qe.fromLeftTopWidthHeight(y+h,N,S,F-N),Y=Qe.fromLeftTopWidthHeight(P.left,P.bottom,P.width,m.reduce((ye,Pe)=>ye+Pe,0)),le=Qe.hull([P,Y]),de=le.intersectVertical(new Ne(P.bottom,Number.MAX_SAFE_INTEGER)),Ee=new Qe(de.left,de.top,de.right,de.bottom);return{originalLinesOverlay:P,modifiedLinesOverlay:Y,background:le,lowerBackground:de,lowerText:Ee,modifiedLineHeights:m,minContentWidthRequired:h+S+_}}),this._viewZoneInfo=R(a=>{if(!this._editor.getOption(71).map(g=>g.edits.allowCodeShifting==="always").read(a))return;let l=this._layout.read(a),c=this._edit.read(a);if(!l||!c)return;let h=l.lowerBackground.height,u=c.originalRange.endLineNumberExclusive;return{height:h,lineNumber:u}}),this.minEditorScrollHeight=R(this,a=>{let d=Ti(this._layout).read(a);return!d||this._viewZoneInfo.read(a)!==void 0?0:d.read(a).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=G.div({class:"line-replacement"},[R(this,a=>{let d=Ti(this._layout).read(a),l=this._modifiedLineElements.read(a);if(!d||!l)return[];let c=d.read(a),h=this._editor.layoutInfoContentLeft.read(a),u=this._editorType.read(a)===nt.DiffEditor?3:1;l.lines.forEach((_,b)=>{_.style.width=`${c.lowerText.width}px`,_.style.height=`${c.modifiedLineHeights[b]}px`,_.style.position="relative"});let g=pr(this._tabAction).read(a),m=hs(this._tabAction).read(a),f=Ui(this._editorType.read(a));return[G.div({style:{position:"absolute",...Ot(_=>Ol(this._editor).read(_)),overflow:"hidden",pointerEvents:"none"}},[G.div({class:"borderAroundLineReplacement",style:{position:"absolute",...Ot(_=>d.read(_).background.translateX(-h).withMargin(u)),borderRadius:`${Pt}px`,border:`${u+1}px solid ${f}`,boxSizing:"border-box",pointerEvents:"none"}}),G.div({class:"originalOverlayLineReplacement",style:{position:"absolute",...Ot(_=>d.read(_).background.translateX(-h)),borderRadius:`${Pt}px`,border:Nt(m,this._themeService).map(_=>`1px solid ${_.toString()}`),pointerEvents:"none",boxSizing:"border-box",background:Se(ls)}}),G.div({class:"modifiedOverlayLineReplacement",style:{position:"absolute",...Ot(_=>d.read(_).lowerBackground.translateX(-h)),borderRadius:`0 0 ${Pt}px ${Pt}px`,background:f,boxShadow:`${Se(_k)} 0 6px 6px -6px`,border:`1px solid ${Se(g)}`,boxSizing:"border-box",overflow:"hidden",cursor:"pointer",pointerEvents:"auto"},onmousedown:_=>{_.preventDefault()},onclick:_=>this._onDidClick.fire(ro.create(_))},[G.div({style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:Se(CN)}})]),G.div({class:"modifiedLinesLineReplacement",style:{position:"absolute",boxSizing:"border-box",...Ot(_=>d.read(_).lowerText.translateX(-h)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:"none",whiteSpace:"nowrap",borderRadius:`0 0 ${Pt}px ${Pt}px`,overflow:"hidden"}},[...l.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered(a=>this._isMouseOverWidget(a),this._store),this._previousViewZoneInfo=void 0,this._register(ce(()=>this._editor.editor.changeViewZones(a=>this.removePreviousViewZone(a)))),this._register(JD(this._viewZoneInfo,({lastValue:a,newValue:d})=>{a===d||a?.height===d?.height&&a?.lineNumber===d?.lineNumber||this._editor.editor.changeViewZones(l=>{this.removePreviousViewZone(l),d&&this.addViewZone(d,l)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:R(this,a=>this._layout.read(a)?.minContentWidthRequired??0),position:ue({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(e){let t=this._layout.get();return!t||!(e.event instanceof Bk)?!1:t.lowerBackground.containsPoint(new Ii(e.event.relativePos.x,e.event.relativePos.y))}removePreviousViewZone(e){if(!this._previousViewZoneInfo)return;e.removeZone(this._previousViewZoneInfo.id);let t=this._editor.cursorLineNumber.get();t!==null&&t>=this._previousViewZoneInfo.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height),this._previousViewZoneInfo=void 0}addViewZone(e,t){let i=t.addZone({afterLineNumber:e.lineNumber-1,heightInPx:e.height,domNode:W("div")});this._previousViewZoneInfo={height:e.height,lineNumber:e.lineNumber,id:i};let o=this._editor.cursorLineNumber.get();o!==null&&o>=e.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()+e.height)}};db=YH([FN(4,si),FN(5,Ke)],db);function XH(s){let e=[];for(;s.length;){let t=s.shift();t.startLineNumber!==t.endLineNumber&&(s.push(new C(t.startLineNumber+1,1,t.endLineNumber,t.endColumn)),t=new C(t.startLineNumber,t.startColumn,t.startLineNumber,Number.MAX_SAFE_INTEGER)),e.push(t)}return e}function HN(s,e){let t={};for(let[r,a]of Object.entries(e))Array.isArray(a)?t[r]={min:0,rules:a}:t[r]={min:a.min??0,rules:a.rules??[{max:a.max,priority:a.priority,share:a.share}]};let i={},o=0;for(let[r,a]of Object.entries(t))i[r]=a.min,o+=a.min;if(o>s)return null;let n=s-o;for(;n>0;){let r=[];for(let[u,g]of Object.entries(t))for(let m=0;m<g.rules.length;m++){let f=g.rules[m],_=i[u],b=f.max??1/0;_<b&&r.push({partKey:u,ruleIndex:m,rule:f,priority:f.priority??0,share:f.share??1})}if(r.length===0)break;let a=Math.max(...r.map(u=>u.priority)),d=r.filter(u=>u.priority===a),l=d.reduce((u,g)=>u+g.share,0),c=0,h=[];for(let u of d){let g=u.rule,m=i[u.partKey],_=(g.max??1/0)-m,b=n*u.share/l,v=Math.min(b,_);h.push({partKey:u.partKey,ruleIndex:u.ruleIndex,amount:v}),c+=v}if(c===0)break;for(let u of h)i[u.partKey]+=u.amount;if(n-=c,n<1e-4)break}return i}var QH=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},jI=function(s,e){return function(t,i){e(t,i,s)}},lb=class extends D{constructor(e,t,i,o,n,r){super(),this._editor=e,this._data=i,this._themeService=o,this._keybindingService=n,this._contextKeyService=r,this._styles=R(this,d=>({background:Nt(An,this._themeService).read(d).toString(),foreground:Nt(cs,this._themeService).read(d).toString(),border:Nt(Po,this._themeService).read(d).toString()})),this._pos=R(this,d=>this._editor.observePosition(R(l=>this._data.read(l)?.jumpToPosition||null),d.store)).flatten(),this._layout=R(this,d=>{let l=this._data.read(d);if(!l)return;let c=l.jumpToPosition,h=this._editor.observeLineHeightForLine(ue(c.lineNumber)).read(d),u=this._editor.scrollLeft.read(d),g=this._pos.read(d);if(!g)return;let m=this._editor.layoutInfo.read(d);return{widgetRect:Qe.fromLeftTopWidthHeight(g.x+m.contentLeft+2-u,g.y,100,h)}}),this._blink=JH([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=G.div({class:"inline-edit-jump-to-widget",style:{position:"absolute",display:this._layout.map(d=>d?"flex":"none"),alignItems:"center",cursor:"pointer",userSelect:"none",...Ot(d=>this._layout.read(d)?.widgetRect)}},R(d=>this._data.read(d)===void 0?[]:G.div({style:{display:"flex",alignItems:"center",gap:"4px",padding:"0 4px",height:"100%",backgroundColor:this._styles.map(l=>l.background),"--vscodeIconForeground":this._styles.map(l=>l.foreground),border:this._styles.map(l=>`1px solid ${l.border}`),borderRadius:"3px",boxSizing:"border-box",fontSize:"11px",color:this._styles.map(l=>l.foreground)}},[this._style==="cursor"?G.elem("div",{style:{borderLeft:"2px solid",height:14,opacity:this._blink.map(l=>l?"0":"1")}}):[R(()=>G.elem("div",{},eW(this._keybinding))),G.elem("div",{style:{lineHeight:this._layout.map(l=>l?.widgetRect.height),marginTop:"-2px"}},["to jump"])]]))),this._style=t.style,this._keybinding=this._getKeybinding(Go);let a=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:a.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:ue(0)})),this._register(this._editor.setDecorations(R(d=>{let l=this._data.read(d);return l?[{range:C.fromPositions(l.jumpToPosition,l.jumpToPosition),options:{description:"inline-edit-jump-to-decoration",inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style==="label"?" ":" "}}}]:[]})))}_getKeybinding(e,t=Es.ofCaller()){return e?st(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e),t):ue(void 0)}};lb=QH([jI(3,Ke),jI(4,he),jI(5,J)],lb);function JH(s,e=Es.ofCaller()){let t=0;return st(void 0,i=>{t=0;let o=new Ae(()=>{t=(t+1)%s.length,i(null),o.schedule(s[t].durationMs)},0);return o.schedule(0),o},()=>s[t].value,e)}function eW(s){return R(e=>G.div({style:{},ref:t=>{let i=e.store.add(new vn(t,tn,{disableTitle:!0,...Yg,keybindingLabelShadow:void 0,keybindingLabelForeground:Se(cs),keybindingLabelBackground:"transparent",keybindingLabelBorder:Se(cs),keybindingLabelBottomBorder:void 0}));e.store.add(se(o=>{i.set(s.read(o))}))}}))}var tW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},iW=function(s,e){return function(t,i){e(t,i,s)}};function oW(s,e,t){let i=Math.max(1,Math.min(t,s)),o=Math.max(1,i-e),n=Math.min(t+1,i+e+1);return new it(o,n)}var cb=class extends D{constructor(e,t,i,o,n){super(),this._previewTextModel=e,this._properties=t,this._parentEditor=i,this._tabAction=o,this._instantiationService=n,this._previewRef=G.ref(),this.element=G.div({class:"preview",style:{},ref:this._previewRef}),this._state=R(this,r=>{let a=this._properties.read(r);if(!a)return;let d,l;a.nextCursorPosition!==null?(d="original",l=a.nextCursorPosition.lineNumber):a.diff[0].innerChanges?.every(m=>m.modifiedRange.isEmpty())?(d="original",l=a.diff[0].original.startLineNumber):(d="modified",l=a.diff[0].modified.startLineNumber);let c=d==="modified"?On.snapshot(this._previewTextModel):a.target,h=this._parentEditorObs.getOption(71).read(r).edits.longDistanceHintContextLineCount,u=d==="modified"?this._previewTextModel:a.target.dangerouslyGetUnderlyingModel(),g=oW(l,h,u.getLineCount());return{mode:d,targetLineNumber:l,visibleLineRange:g,textModel:c,diff:a.diff}}),this.updatePreviewEditorEffect=R(this,r=>{this._previewEditorObs.model.read(r);let a=this._state.read(r)?.visibleLineRange;if(!a)return;let d=[];a.startLineNumber>1&&d.push(new C(1,1,a.startLineNumber-1,1)),a.endLineNumberExclusive<this._previewTextModel.getLineCount()+1&&d.push(new C(a.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(d,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=R(this,r=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,r)),this.contentHeight=R(this,r=>{let a=this._state.read(r);return a?this._previewEditorObs.observeLineHeightsForLineRange(a.visibleLineRange).map(d=>d.reduce((l,c)=>l+c,0)):ue(null)}).flatten(),this._editorDecorations=R(this,r=>{let a=this._state.read(r);if(!a)return;let d={diff:a.diff},l=[],c=[],h=ee.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),u=ee.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),g=ee.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0});for(let m of d.diff)if(m.modified.isEmpty||m.original.isEmpty)m.original.isEmpty||l.push({range:m.original.toInclusiveRange(),options:h}),m.modified.isEmpty||c.push({range:m.modified.toInclusiveRange(),options:u});else for(let f of m.innerChanges||[])m.original.contains(f.originalRange.startLineNumber)&&!f.originalRange.isEmpty()&&l.push({range:f.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:Al("inlineCompletions-char-delete",f.originalRange.isEmpty()&&"empty"),zIndex:1}}),m.modified.contains(f.modifiedRange.startLineNumber)&&c.push({range:f.modifiedRange,options:g});return{originalDecorations:l,modifiedDecorations:c}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=ke(this._parentEditor),this._register(se(r=>{let a=this._state.read(r)?.textModel||null;a&&this.previewEditor.setModel(a.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=ke(this.previewEditor),this._register(this._previewEditorObs.setDecorations(R(r=>{let a=this._state.read(r),d=this._editorDecorations.read(r);return(a?.mode==="original"?d?.originalDecorations:d?.modifiedDecorations)??[]}))),this._register(se(r=>{if(!this._properties.read(r))return;let a=this._parentEditorObs.cursorPosition.read(r);a&&this.previewEditor.setPosition(this._previewTextModel.validatePosition(a),"longDistanceHintPreview")})),this._register(se(r=>{let a=this._state.read(r);if(!a)return;let d=(a.visibleLineRange.endLineNumberExclusive-1).toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:d+1})})),this._register(this._instantiationService.createInstance(Bl,this._previewEditorObs,R(r=>{let a=this._state.read(r);if(!a)return;let d=this._properties.read(r);if(d)return new Fl(d.inlineSuggestInfo,it.ofLength(a.targetLineNumber,1),d.model,void 0)}),this._tabAction,ue(0),ue(!1),be(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(ui,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:{[Le.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(e,t){let i=this._state.read(t);if(!i)return;let o=i.diff,n=this._properties.read(t)?.nextCursorPosition,r=i.visibleLineRange,a=this._previewEditorObs.layoutInfo.read(t),d=bo(this._previewEditorObs,r,t),l;if(n)l=C.fromPositions(n);else if(o[0].innerChanges)l=i.mode==="modified"?o[0].innerChanges[0].modifiedRange:o[0].innerChanges[0].originalRange;else return;let c=nW(e.getModel(),l,5),h=this._previewEditorObs.getLeftOfPosition(c.getStartPosition(),t),u=this._previewEditorObs.getLeftOfPosition(c.getEndPosition(),t),g=rc(h,0,d),m=rc(u,g,d),f=e.getModel().getLineFirstNonWhitespaceColumn(c.startLineNumber),_=this._previewEditorObs.getLeftOfPosition(new H(c.startLineNumber,f),t),b=new Ne(g,m);return{indentationEnd:_,preferredRangeToReveal:b,maxEditorWidth:d+a.contentLeft,contentWidth:d,nonContentWidth:a.contentLeft}}layout(e,t){this.previewEditor.layout(e),this._previewEditorObs.editor.setScrollLeft(t)}};cb=tW([iW(4,j)],cb);function nW(s,e,t){let i=e.getStartPosition(),o=e.getEndPosition(),n=s.getLineContent(i.lineNumber);function r(c){let h=n.charAt(c-1);return/[a-zA-Z0-9_]/.test(h)}function a(c){let h=n.charAt(c-1);return h===" "||h===" "}let d=i.column;for(;d>1&&r(d)&&!a(d-1)&&i.column-d<t;)d--;let l=o.column-1;for(;l<=n.length&&r(l)&&!a(l+1)&&l-o.column<t;)l++;return new C(i.lineNumber,d,o.lineNumber,l+1)}function WN(s,e){let t=s.start,i=s.endExclusive,o=Number.MAX_VALUE,n=0;for(let r of e){let a=n+r.width,d=Math.max(t,n),l=Math.min(i,a);d<l&&(o=Math.min(o,r.height)),n=a}return i>n||o===Number.MAX_VALUE?0:o}var wu=class{constructor(e,t,i){this._lineRangeInfo=e,this.availableSpaceSizes=e.sizes.map((o,n)=>{let r=e.lineRange.startLineNumber+n,a=i(r);return new ss(Math.max(0,t-o.width-a),o.height)}),this.availableSpaceHeightPrefixSums=sW(this.availableSpaceSizes,o=>o.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map(o=>o.transpose())}getWidgetVerticalOutline(e,t,i){let o=e-this._lineRangeInfo.lineRange.startLineNumber,n=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[o],r=Ne.ofStartAndLength(n,t),{previewEditorMargin:a,widgetPadding:d,widgetBorder:l,lowerBarHeight:c}=i;return r.withMargin(a+d+l).withMargin(0,c)}tryFindWidgetOutline(e,t,i,o){if(!(this._lineRangeInfo.lineRange.length<3))return rW(this._lineRangeInfo.lineRange.addMargin(-1,-1),e,n=>{let r=this.getWidgetVerticalOutline(n,t,o),a=WN(r.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);return a<o.minWidgetWidth?void 0:{horizontalWidgetRange:Ne.ofStartAndLength(i-a,a),verticalWidgetRange:r}})}};function BN(s,e,t,i,o){let n=[],r=s.startLineNumber,a=t,d=[];for(let l=0;l<e.length;l++){let c=s.startLineNumber+l,h=a+d.reduce((g,m)=>g+m.height,0),u=i.editor.getTopForLineNumber(c);l>0&&u!==h&&(n.push({lineRange:it.ofLength(r,c-r),top:a,sizes:d}),r=c,a=u,d=[]),d.push(e[l])}return n.push({lineRange:it.ofLength(r,s.endLineNumberExclusive-r),top:a,sizes:d}),R({owner:"splitIntoContinuousLineRanges"},l=>i.observeTopForLineNumber(s.endLineNumberExclusive-1).read(l)).read(o),n}function rW(s,e,t){for(let i=0;;i++){let o=e+i;if(o<=s.endLineNumberExclusive){let r=t(o);if(r!==void 0)return r}let n=e-i;if(n>=s.startLineNumber){let r=t(n);if(r!==void 0)return r}if(n<s.startLineNumber&&o>s.endLineNumberExclusive)return}}function sW(s,e){let t=[0],i=0;for(let o of s)i+=e(o),t.push(i);return t}var aW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},yu=function(s,e){return function(t,i){e(t,i,s)}},dW=6,KI={EMPTY_SPACE:425,OVERLAY:375},lW=250,cW={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:lW},hb=class extends D{constructor(e,t,i,o,n,r,a,d,l){super(),this._editor=e,this._viewState=t,this._previewTextModel=i,this._tabAction=o,this._instantiationService=n,this._themeService=r,this._keybindingService=a,this._modelService=d,this._languageService=l,this.onDidClick=De.None,this._viewWithElement=void 0,this._hintTextPosition=R(this,c=>{let h=this._viewState.read(c);return h?new H(h.hint.lineNumber,Number.MAX_SAFE_INTEGER):null}),this._lineSizesAroundHintPosition=R(this,c=>{let h=this._viewState.read(c),u=this._hintTextPosition.read(c);if(!h||!u)return[];let g=this._editorObs.model.read(c);if(!g)return[];let m=it.ofLength(u.lineNumber,1).addMargin(5,5).intersect(it.ofLength(1,g.getLineCount()));if(!m)return[];let f=LN(this._editorObs,m,c),_=this._editorObs.observeTopForLineNumber(m.startLineNumber).read(c);return BN(m,f,_,this._editorObs,c)}),this._isVisibleDelayed=r0(R(this,c=>this._viewState.read(c)?.hint.isVisible),(c,h)=>c===!0&&h===!1?200:0),this._previewEditorLayoutInfo=R(this,c=>{let h=this._viewState.read(c);if(!h||!this._isVisibleDelayed.read(c))return;let u=this._lineSizesAroundHintPosition.read(c);if(u.length===0)return;let g=this._editorObs.scrollTop.read(c),m=this._editorObs.scrollLeft.read(c),f=this._editorObs.layoutInfo.read(c),_=this._previewEditor.contentHeight.read(c),b=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(c);if(!_||!b)return;let v=f.contentWidth-f.verticalScrollbarWidth,y=f.contentLeft+v;if(!this._editorObs.cursorLineNumber.read(c))return;let E=cW,x=_+2,T,N,F=vo=>vo===h.hint.lineNumber?40:20;for(let vo of u){let en=new wu(vo,v,F);if(N=en,T=en.tryFindWidgetOutline(h.hint.lineNumber,x,y,E),T)break}let P="empty-space";if(!T){P="overlay";let vo=Math.min(f.width-f.contentLeft,KI.OVERLAY),en=N??new wu(u[0],v,F);T={horizontalWidgetRange:Ne.ofStartAndLength(y-vo,vo),verticalWidgetRange:en.getWidgetVerticalOutline(h.hint.lineNumber+2,x,E).delta(10)}}if(!T)return;let Y=Qe.fromRanges(T.horizontalWidgetRange,T.verticalWidgetRange).translateX(-m).translateY(-g),{previewEditorMargin:le,widgetPadding:de,widgetBorder:Ee,lowerBarHeight:ye}=E,Pe=P==="overlay"?KI.OVERLAY:KI.EMPTY_SPACE,we=b.maxEditorWidth+le+de,Ie=Math.min(Pe,Math.max(we,E.minWidgetWidth)),ct=HN(Y.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:Ie,priority:1}]},spaceAfter:{min:10}});if(!ct)return null;let $e=hW([ct.spaceBefore,ct.content,ct.spaceAfter],Y.left);Y.withHorizontalRange($e[0]);let Ue=Y.withHorizontalRange($e[1]);Y.withHorizontalRange($e[2]);let ut=Ue.withMargin(-de-Ee-le).withMargin(0,0,-ye,0),rt=ut.width-b.nonContentWidth,Ze=rt*.8,$t=b.preferredRangeToReveal.intersect(Ne.ofStartAndLength(b.preferredRangeToReveal.start,Ze))??b.preferredRangeToReveal,Cr=uW(b.indentationEnd,rt,$t);return{codeEditorSize:ut.getSize(),codeScrollLeft:m,contentLeft:f.contentLeft,widgetRect:Ue,previewEditorMargin:le,widgetPadding:de,widgetBorder:Ee,lowerBarHeight:ye,desiredPreviewEditorScrollLeft:Cr.newScrollPosition}}),this._view=G.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:R(this,c=>this._previewEditorLayoutInfo.read(c)?"block":"none")}},[R(this,c=>[this._widgetContent])]),this._widgetContent=R(this,c=>G.div({class:["inline-edits-long-distance-hint-widget","show-file-icons"],style:{position:"absolute",overflow:"hidden",cursor:"pointer",background:Se(cd),padding:this._previewEditorLayoutInfo.map(h=>h?.widgetPadding),boxSizing:"border-box",borderRadius:dW,border:R(h=>`${this._previewEditorLayoutInfo.read(h)?.widgetBorder}px solid ${this._styles.read(h).border}`),display:"flex",flexDirection:"column",opacity:R(h=>this._viewState.read(h)?.hint.isVisible?"1":"0"),transition:"opacity 200ms ease-in-out",...Ot(h=>this._previewEditorLayoutInfo.read(h)?.widgetRect)},onmousedown:h=>{h.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[G.div({class:["editorContainer"],style:{overflow:"hidden",padding:this._previewEditorLayoutInfo.map(h=>h?.previewEditorMargin),background:this._styles.map(h=>h.background),pointerEvents:"none"}},[R(this,h=>this._previewEditor.element)]),G.div({class:"bar",style:{color:Se(vc),pointerEvents:"none",margin:"0 4px",height:this._previewEditorLayoutInfo.map(h=>h?.lowerBarHeight),display:"flex",justifyContent:"space-between",alignItems:"center"}},[R(this,h=>{let u=[],g=this._viewState.read(h);if(!g)return u;let m=this._editorObs.model.read(h),f=g.target.uri,_=!m||!g.target.targets(m);if(_){let E=ei(f),S=Ia(this._modelService,this._languageService,f,no.FILE);u.push(G.div({class:"target-file",style:{display:"flex",alignItems:"center",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[G.elem("span",{class:S,style:{flexShrink:"0",marginRight:"4px"}}),E]))}else{let E=this._originalOutlineSource.read(h),S=this._originalTargetLineNumber.read(h),x=E?.getAt(S,h).slice(0,1)??[],T=[];if(x.length>0)for(let N=0;N<x.length;N++){let F=x[N],P=Cg.toIcon(F.kind);T.push(G.div({class:"breadcrumb-item",style:{display:"flex",alignItems:"center",flex:"1 1 auto",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},[Bi(P),"\xA0",F.name,...N===x.length-1?[]:[Bi(B.chevronRight)]]))}u.push(G.div({class:"outline-elements",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},T))}let b=this._originalTargetLineNumber.read(h),v=_?B.arrowRight:g.hint.lineNumber<b?B.arrowDown:B.arrowUp,y=this._keybindingService.lookupKeybinding(zd),L=_?"Go to file":"Go to suggestion";return y&&y.getLabel()==="Tab"&&(L=_?"Tab to open":"Tab to jump"),u.push(G.div({class:"go-to-label",style:{position:"relative",display:"flex",alignItems:"center",flex:"0 0 auto",paddingLeft:"6px"}},[L,"\xA0",Bi(v)])),u})])])),this._originalTargetLineNumber=R(this,c=>{let h=this._viewState.read(c);return h?h.edit.action?.kind==="jumpTo"?h.edit.action.position.lineNumber:h.diff[0]?.original.startLineNumber??-1:-1}),this._originalOutlineSource=$a(this,c=>{let h=this._editorObs.model.read(c),u=Jg._breadcrumbsSourceFactory.read(c);return!h||!u?void 0:u(h,this._instantiationService)}),this._styles=R(c=>{let h=this._tabAction.read(c),u=ds(Dg,this._themeService).read(c),g=st(this._themeService.onDidColorThemeChange,()=>{let f=this._themeService.getColorTheme();return f.type==="hcDark"||f.type==="hcLight"}).read(c),m;if(g)m=u;else{let f;switch(h){case et.Inactive:f=Ml;break;case et.Jump:f=An;break;case et.Accept:f=Nl;break}m=Nt(f,this._themeService).read(c)}return{border:m.toString(),background:Ui(this._viewState.map(f=>f?.editorType??nt.TextEditor).read(c))}}),this._editorObs=ke(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(cb,this._previewTextModel,R(c=>{let h=this._viewState.read(c);if(h)return{diff:h.diff,model:h.model,inlineSuggestInfo:h.inlineSuggestInfo,nextCursorPosition:h.nextCursorPosition,target:h.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:ue(0)})),this._widgetContent.get().keepUpdated(this._store),this._register(se(c=>{let h=this._previewEditorLayoutInfo.read(c);h&&this._previewEditor.layout(h.codeEditorSize.toDimension(),h.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};hb=aW([yu(4,j),yu(5,Ke),yu(6,he),yu(7,Ct),yu(8,si)],hb);function hW(s,e=0){let t=[],i=e;for(let o of s)t.push(new Ne(i,i+o)),i+=o;return t}function uW(s,e,t){let i=new Ne(s,s+e);return i.containsRange(t)?{newScrollPosition:s}:t.length>e?{newScrollPosition:t.start}:t.endExclusive>i.endExclusive?{newScrollPosition:t.endExclusive-e}:t.start<i.start?{newScrollPosition:t.start}:{newScrollPosition:s}}var gW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},qI=function(s,e){return function(t,i){e(t,i,s)}},Ul=0,xu=0,Qo=1,mW=1,pW=3,_r=Pt,GI=20,VN=12,Iu=class extends D{static fitsInsideViewport(e,t,i,o){let n=ke(e),r=n.layoutInfoWidth.read(o),a=n.layoutInfoContentLeft.read(o),d=e.getLayoutInfo().verticalScrollbarWidth,l=n.layoutInfoMinimap.read(o).minimapLeft!==0?n.layoutInfoMinimap.read(o).minimapWidth:0,c=bo(n,i.displayRange,void 0),h=i.lineEdit.newLines.reduce((m,f)=>Math.max(m,Cu(f,e,t)),0),u=GI,g=VN+2*Qo;return c+h+u+g<r-a-d-l}constructor(e,t,i,o,n,r,a,d){super(),this._editor=e,this._edit=t,this._previewTextModel=i,this._uiState=o,this._tabAction=n,this._instantiationService=r,this._themeService=a,this._userInteractionService=d,this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._editorObs=ke(this._editor),this._display=R(this,h=>this._uiState.read(h)?"block":"none"),this.previewRef=G.ref();let l=this._uiState.map(h=>h?.editorType===nt.DiffEditor?pW:mW);this._editorContainer=G.div({class:["editorContainer"],style:{position:"absolute",overflow:"hidden",cursor:"pointer"},onmousedown:h=>{h.preventDefault()},onclick:h=>{this._onDidClick.fire(ro.create(h))}},[G.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(ui,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:{[Le.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=ke(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=R(this,h=>{this._editorContainer.readEffect(h),this._previewEditorObs.model.read(h),this._display.read(h),this._nonOverflowView&&(this._nonOverflowView.element.style.display=this._display.read(h));let u=this._uiState.read(h),g=this._edit.read(h);if(!u||!g)return;let m=g.originalLineRange,f=[];m.startLineNumber>1&&f.push(new C(1,1,m.startLineNumber-1,1)),m.startLineNumber+u.newTextLineCount<this._previewTextModel.getLineCount()+1&&f.push(new C(m.startLineNumber+u.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(f,void 0,!0);let _=[...this._activeViewZones];this._activeViewZones=[];let b=m.endLineNumberExclusive-m.startLineNumber-u.newTextLineCount;this.previewEditor.changeViewZones(v=>{_.forEach(y=>v.removeZone(y)),b>0&&this._activeViewZones.push(v.addZone({afterLineNumber:m.startLineNumber+u.newTextLineCount-1,heightInLines:b,showInHiddenAreas:!0,domNode:W("div.diagonal-fill.inline-edits-view-zone")}))})}),this._previewEditorWidth=R(this,h=>{let u=this._edit.read(h);return u?(this._updatePreviewEditor.read(h),bo(this._previewEditorObs,u.modifiedLineRange,h)):0}),this._cursorPosIfTouchesEdit=R(this,h=>{let u=this._editorObs.cursorPosition.read(h),g=this._edit.read(h);if(!(!g||!u))return g.modifiedLineRange.contains(u.lineNumber)?u:void 0}),this._originalStartPosition=R(this,h=>{let u=this._edit.read(h);return u?new H(u.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=R(this,h=>{let u=this._edit.read(h);return u?new H(u.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map(h=>h?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map(h=>h?.y),this._originalDisplayRange=this._edit.map(h=>h?.displayRange),this._editorMaxContentWidthInRange=R(this,h=>{let u=this._originalDisplayRange.read(h);return u?(this._editorObs.versionId.read(h),Si(this,(g,m)=>{let f=bo(this._editorObs,u,g);return Math.max(f,m??0)})):ue(0)}).map((h,u)=>h.read(u));let c=RN(this._editor,this._store);this._previewEditorLayoutInfo=R(this,h=>{let u=this._edit.read(h);if(!u||!this._uiState.read(h))return null;let m=u.originalLineRange,f=this._editorObs.scrollLeft.read(h),_=this._editorMaxContentWidthInRange.read(h),b=this._editorObs.layoutInfo.read(h),v=this._previewEditorWidth.read(h),y=b.contentWidth-b.verticalScrollbarWidth,L=c.read(h),E=b.contentLeft+b.contentWidth+L.left,S=bt(this._editor.getContainerDomNode()).innerWidth-E,x=bt(this._editor.getContainerDomNode()).innerWidth-L.right,T=Math.min(b.contentWidth*.3,v,100),N=0,F=N+S,P=this._cursorPosIfTouchesEdit.read(h),Y=Math.max(y+f-N-Math.max(0,T-F),Math.min(P?EN(this._editorObs,P,h)+50:0,y+f)),le=Math.min(_+GI,Y),de=_+GI+v+70,Ee=Y-le,ye,Pe;le>f?(ye=0,Pe=b.contentLeft+le-f):(ye=f-le,Pe=b.contentLeft);let we=this._originalVerticalStartPosition.read(h)??this._editor.getTopForLineNumber(m.startLineNumber)-this._editorObs.scrollTop.read(h),Ie=this._originalVerticalEndPosition.read(h)??this._editor.getBottomForLineNumber(m.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(h),ct=b.contentLeft-f,$e=Qe.fromLeftTopRightBottom(ct,we,Pe,Ie),Ue=$e.height===0;Ue||($e=$e.withMargin(xu,Ul));let rt=this._previewEditorObs.observeLineHeightsForLineRange(u.modifiedLineRange).read(h).reduce(($v,WP)=>$v+WP,0),Ze=Ie-we,$t=Math.max(Ze,rt),Cr=Ee===0,vo=0,en=Math.min(v+VN,x+b.width-b.contentLeft-vo),ws=Qe.fromLeftTopWidthHeight($e.right+vo,we,en,$t);return Ue?ws=ws.withMargin(xu,Ul).translateY(xu):ws=ws.withMargin(xu,Ul).translateX(Ul+Qo),{codeRect:$e,editRect:ws,codeScrollLeft:f,contentLeft:b.contentLeft,isInsertion:Ue,maxContentWidth:de,shouldShowShadow:Cr,desiredPreviewEditorScrollLeft:ye,previewEditorWidth:en}}),this._stickyScrollController=Ri.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?st(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):ue(0),this._shouldOverflow=R(this,h=>!1),this._originalBackgroundColor=st(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(ls)??fe.transparent),this._editorBackgroundColor=this._uiState.map(h=>Ui(h?.editorType??nt.TextEditor)),this._backgroundSvg=G.svg({transform:"translate(-0.5 -0.5)",style:{overflow:"visible",pointerEvents:"none",position:"absolute"}},[G.svgElem("path",{class:"rightOfModifiedBackgroundCoverUp",d:R(this,h=>{let u=this._previewEditorLayoutInfo.read(h);if(!(!u||this._originalBackgroundColor.read(h).isTransparent()))return new ka().moveTo(u.codeRect.getRightTop()).lineTo(u.codeRect.getRightTop().deltaX(1e3)).lineTo(u.codeRect.getRightBottom().deltaX(1e3)).lineTo(u.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=G.div({style:{pointerEvents:"none",display:this._previewEditorLayoutInfo.map(h=>h?.isInsertion?"none":"block")}},R(this,h=>{let u=Ti(this._previewEditorLayoutInfo).read(h);if(!u)return;let g=this._editorBackgroundColor.read(h),m=l.read(h),f=hs(this._tabAction).map(N=>`${Qo}px solid ${Se(N)}`),_=`${Qo+m}px solid ${g}`,b=u.read(h).codeScrollLeft!==0,v=u.map(N=>N.codeRect.bottom<N.editRect.bottom),y=_r*2+Qo*2,L=u.map(N=>Qe.fromLeftTopRightBottom(N.contentLeft-_r-Qo,N.codeRect.top,N.contentLeft,N.codeRect.bottom+y)).read(h),E=new Ne(L.left,Number.MAX_SAFE_INTEGER),S=u.map(N=>N.codeRect.intersectHorizontal(E)),x=S.map(N=>N.withMargin(m,0,m,m).intersectHorizontal(E)),T=S.map(N=>Qe.fromLeftTopWidthHeight(N.right-y+Qo,N.bottom-Qo,y,y).intersectHorizontal(E));return[G.div({class:"originalSeparatorSideBySide",style:{...x.read(h).toStyles(),boxSizing:"border-box",borderRadius:`${_r}px 0 0 ${_r}px`,borderTop:_,borderBottom:_,borderLeft:b?"none":_}}),G.div({class:"originalOverlaySideBySide",style:{...S.read(h).toStyles(),boxSizing:"border-box",borderRadius:`${_r}px 0 0 ${_r}px`,borderTop:f,borderBottom:f,borderLeft:b?"none":f,backgroundColor:Se(ls)}}),G.div({class:"originalCornerCutoutSideBySide",style:{pointerEvents:"none",display:v.map(N=>N?"block":"none"),...T.read(h).toStyles()}},[G.div({class:"originalCornerCutoutBackground",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",backgroundColor:Nt(ls,this._themeService).map(N=>N.toString())}}),G.div({class:"originalCornerCutoutBorder",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",boxSizing:"border-box",borderTop:f,borderRight:f,borderRadius:"0 100% 0 0",backgroundColor:g}})]),G.div({class:"originalOverlaySideBySideHider",style:{...L.toStyles(),backgroundColor:g}})]})).keepUpdated(this._store),this._modifiedOverlay=G.div({style:{pointerEvents:"none"}},R(this,h=>{let u=Ti(this._previewEditorLayoutInfo).read(h);if(!u)return;let g=u.map(S=>S.codeRect.bottom<S.editRect.bottom),m=this._editorBackgroundColor.read(h),f=l.read(h),_=g.map(S=>`0 ${_r}px ${_r}px ${S?_r:0}px`),b=Nt(pr(this._tabAction),this._themeService).map(S=>`1px solid ${S.toString()}`),v=`${Qo+f}px solid ${m}`,y=u.map(S=>S.editRect.withMargin(0,Qo)),L=y.map(S=>S.withMargin(f,f,f,0)),E=R(this,S=>{let x=y.read(S),T=u.read(S);return!T.isInsertion||T.contentLeft>=x.left?Qe.fromLeftTopWidthHeight(x.left,x.top,0,0):new Qe(T.contentLeft,x.top,x.left,x.top+Qo*2)});return[G.div({class:"modifiedInsertionSideBySide",style:{...E.read(h).toStyles(),backgroundColor:pr(this._tabAction).map(S=>Se(S))}}),G.div({class:"modifiedSeparatorSideBySide",style:{...L.read(h).toStyles(),borderRadius:_,borderTop:v,borderBottom:v,borderRight:v,boxSizing:"border-box"}}),G.div({class:"modifiedOverlaySideBySide",style:{...y.read(h).toStyles(),borderRadius:_,border:b,boxSizing:"border-box",backgroundColor:Se(X_)}})]})).keepUpdated(this._store),this._nonOverflowView=G.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[this._backgroundSvg,R(this,h=>this._shouldOverflow.read(h)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:ue(null),allowEditorOverflow:!1,minContentWidthInPx:R(this,h=>{let u=this._previewEditorLayoutInfo.read(h)?.maxContentWidth;return u===void 0?0:u})})),this.previewEditor.setModel(this._previewTextModel),this._register(se(h=>{let u=this._previewEditorLayoutInfo.read(h);if(!u)return;let g=u.editRect.withMargin(-xu,-Ul);this.previewEditor.layout({height:g.height,width:u.previewEditorWidth+15}),this._editorContainer.element.style.top=`${g.top}px`,this._editorContainer.element.style.left=`${g.left}px`,this._editorContainer.element.style.width=`${u.previewEditorWidth+Ul}px`})),this._register(se(h=>{let u=this._previewEditorLayoutInfo.read(h);u&&this._previewEditorObs.editor.setScrollLeft(u.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};Iu=gW([qI(5,j),qI(6,Ke),qI(7,Tr)],Iu);var fW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Lu=function(s,e){return function(t,i){e(t,i,s)}},ub=class{constructor(e,t,i){this.edit=e,this.editorType=t,this.alternativeAction=i}equals(e){return this.edit.equals(e.edit)&&this.alternativeAction===e.alternativeAction}},fi=1,zN="word-replacement-view-overlay",UN="word-replacement-view-widget",jN="word-replacement-view-replacement",$I="word-replacement-view-rename",Ra=class extends D{static{this.MAX_LENGTH=100}constructor(e,t,i,o,n,r,a,d){super(),this._editor=e,this._viewData=t,this._tabAction=i,this._languageService=o,this._themeService=n,this._keybindingService=r,this._hoverService=a,this._userInteractionService=d,this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(ue(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(ue(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement("div"),this._primaryElement=be(this,null),this._secondaryElement=be(this,null),this.isHovered=R(this,u=>{let g=this._primaryElement.read(u);return g?this._userInteractionService.createHoverTracker(g.element,u.store).read(u):!1}),this._renderTextEffect=R(this,u=>{let g=this._editor.model.read(void 0);if(!g)return;let m=g.getLineContent(this._viewData.edit.range.startLineNumber),f=ii.replace(new Ne(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),_=f.replace(m),b=g.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[_])?.[0],v;b?v=Dr.fromLineTokens(b).slice(f.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec):v=Io.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);let y=Pr(new Or([v]),Ar.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${y.minWidthInPx}px`});let l=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),c=n0(this._viewData.alternativeAction?.count??new Promise(u=>u(void 0))).map(u=>u.value),h=R(this,u=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),u).shiftKey);this._layout=R(this,u=>{this._renderTextEffect.read(u);let g=this._start.read(u),m=this._end.read(u);if(!g||!m||g.x>m.x||g.y>m.y)return;let f=l.read(u);if(f<=0)return;let _=this._editor.scrollLeft.read(u),b=this._editor.getOption(59).read(u).typicalHalfwidthCharacterWidth,v=3*b,y=4,L=new Ii(v,y),E;if(this._viewData.alternativeAction){let F=this._viewData.alternativeAction.label,P=c.read(u),Y=h.read(u),le=P!==void 0?P===1?p(1283,"{0} 1 occurrence",F):p(1284,"{0} {1} occurrences",F,P):F,de=p(1285,"{0} show occurrences","[shift]");E={label:P!==void 0&&Y?le:F,tooltip:le?`${le}
|
|
48
|
+
${de}`:void 0,icon:void 0,count:P,keybinding:this._keybindingService.lookupKeybinding(da),active:h}}let S=Qe.fromPoints(g,m).withHeight(f).translateX(-_),x=Qe.fromPointSize(S.getLeftBottom().add(L),new Ii(this._viewData.edit.text.length*b,S.height)),T=x.withWidth(x.width+(E?E.label.length*b+8+4+12:0)),N=T.withLeft(S.left);return{alternativeAction:E,originalLine:S,codeLine:x,modifiedLine:T,lowerBackground:N,lineHeight:f}}),this.minEditorScrollHeight=R(this,u=>{let g=Ti(this._layout).read(u);return g?g.read(u).modifiedLine.bottom+fi+this._editor.editor.getScrollTop():0}),this._root=G.div({class:"word-replacement"},[R(this,u=>{let g=Ti(this._layout).read(u);if(!g)return[];let m=hs(this._tabAction).map(P=>Se(P)).read(u),f=pr(this._tabAction).map(P=>Se(P)).read(u);this._line.style.lineHeight=`${g.read(u).modifiedLine.height+2*fi}px`;let _=ue(!1),b=g.map(P=>P.alternativeAction),v=R(P=>(b.read(P)?.active.read(P)??!1)||_.read(P)),L=st(this._themeService.onDidColorThemeChange,()=>{let P=this._themeService.getColorTheme();return P.type==="hcDark"||P.type==="hcLight"}).read(u)?ds(Yi,this._themeService).read(u):null,E={borderColor:L?L.toString():f,backgroundColor:Se(SN),color:"",opacity:"1"},S={borderColor:L?L.toString():Se(Po),backgroundColor:Se(An),color:Se(cs),opacity:"1"},x={borderColor:L?L.toString():ds(hd,this._themeService).map(P=>P.transparent(.2).toString()).read(u),backgroundColor:Ui(this._viewData.editorType),color:"",opacity:"0.7"},T=Ui(this._viewData.editorType),N=R(this,P=>(v.read(P),E)),F=R(this,P=>v.read(P)?S:x);return[G.div({id:zN,style:{position:"absolute",...Ot(P=>Ol(this._editor).read(P)),overflow:"hidden",pointerEvents:"none"}},[G.div({style:{position:"absolute",...Ot(P=>g.read(P).lowerBackground.withMargin(fi,2*fi,fi,0)),background:T,cursor:"pointer",pointerEvents:"auto"},onmousedown:P=>this._mouseDown(P)}),G.div({id:UN,style:{position:"absolute",...Ot(P=>g.read(P).modifiedLine.withMargin(fi,2*fi)),width:void 0,pointerEvents:"auto",boxSizing:"border-box",borderRadius:`${Pt}px`,background:T,display:"flex",justifyContent:"left",outline:`2px solid ${T}`},onmousedown:P=>this._mouseDown(P)},[G.div({id:jN,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:Ot(P=>g.read(P).codeLine.withMargin(fi,2*fi)).width,borderRadius:`${Pt}px`,border:N.map(P=>`${fi}px solid ${P.borderColor}`),boxSizing:"border-box",padding:`${fi}px`,opacity:N.map(P=>P.opacity),background:N.map(P=>P.backgroundColor),display:"flex",justifyContent:"left",alignItems:"center",pointerEvents:"auto",cursor:"pointer"},obsRef:P=>{this._primaryElement.set(P,void 0)}},[this._line]),R(this,P=>{let Y=b.read(P);if(!Y)return;let le=document.createElement("div");return P.store.add(new vn(le,tn,{...im,disableTitle:!0})).set(Y.keybinding),G.div({id:$I,style:{position:"relative",borderRadius:`${Pt}px`,borderTop:`${fi}px solid`,borderRight:`${fi}px solid`,borderBottom:`${fi}px solid`,borderLeft:`${fi}px solid`,borderColor:F.map(Ee=>Ee.borderColor),opacity:F.map(Ee=>Ee.opacity),color:F.map(Ee=>Ee.color),display:"flex",justifyContent:"center",alignItems:"center",padding:"0 4px 0 1px",marginLeft:"4px",background:F.map(Ee=>Ee.backgroundColor),cursor:"pointer",textWrap:"nowrap"},class:"inline-edit-alternative-action-label",obsRef:Ee=>{this._secondaryElement.set(Ee,void 0)},ref:Ee=>{Y.tooltip&&P.store.add(this._hoverService.setupDelayedHoverAtMouse(Ee,{content:Y.tooltip,appearance:{compact:!0}}))}},[le,W("div.inline-edit-alternative-action-label-separator"),Y.icon?Bi(Y.icon):void 0,Y.label])})]),G.div({style:{position:"absolute",...Ot(P=>g.read(P).originalLine.withMargin(fi)),boxSizing:"border-box",borderRadius:`${Pt}px`,border:`${fi}px solid ${m}`,background:Se(vN),pointerEvents:"none"}},[]),G.svg({width:11,height:14,viewBox:"0 0 11 14",fill:"none",style:{position:"absolute",left:g.map(P=>P.modifiedLine.left-16),top:g.map(P=>P.modifiedLine.top+Math.round((P.lineHeight-14-5)/2)),pointerEvents:"none"},onmousedown:P=>this._mouseDown(P)},[G.svgElem("path",{d:"M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5",stroke:Se(hd)}),G.svgElem("path",{d:"M6 7.5L9.99999 10.49998L6 13.5",stroke:Se(hd)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:ue(0),position:ue({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(e){let t=_W(e.target,new Set([UN,jN,$I,zN]));t&&(e.preventDefault(),this._onDidClick.fire(ro.create(e,t===$I)))}};Ra=fW([Lu(3,si),Lu(4,Ke),Lu(5,he),Lu(6,Lt),Lu(7,Tr)],Ra);function _W(s,e){let t=s;for(;t;){if(e.has(t.id))return t.id;t=t.parentElement}return null}var gb=class extends D{constructor(e,t,i){super(),this._originalEditor=e,this._state=t,this._modifiedTextModel=i,this._onDidClick=this._register(new z),this.onDidClick=this._onDidClick.event,this.isHovered=ke(this._originalEditor).isTargetHovered(n=>n.target.type===6&&n.target.detail.injectedText?.options.attachedData instanceof Eu&&n.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=CW(this._modifiedTextModel),this._decorations=R(this,n=>{let r=this._state.read(n);if(!r)return;let a=r.modifiedText,d=r.mode==="insertionInline",l=r.diff.length===1&&r.diff[0].innerChanges?.length===1,c=!0,h=[],u=[],g=ee.register({className:"inlineCompletions-line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),m=ee.register({className:"inlineCompletions-line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),f=ee.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),_=ee.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),b=ee.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),v=ee.register({className:"inlineCompletions-char-insert diff-range-empty",description:"char-insert diff-range-empty"}),y=ee.register({className:"inlineCompletions-original-lines",description:"inlineCompletions-original-lines",isWholeLine:!1,shouldFillLineOnLineBreak:!0}),L=r.mode!=="sideBySide"&&r.mode!=="deletion"&&r.mode!=="insertionInline"&&r.mode!=="lineReplacement",E=r.mode==="lineReplacement";for(let S of r.diff)if(L&&(S.original.isEmpty||h.push({range:S.original.toInclusiveRange(),options:m}),S.modified.isEmpty||u.push({range:S.modified.toInclusiveRange(),options:g})),S.modified.isEmpty||S.original.isEmpty)S.original.isEmpty||h.push({range:S.original.toInclusiveRange(),options:f}),S.modified.isEmpty||u.push({range:S.modified.toInclusiveRange(),options:_});else{let x=d&&bW(S);for(let T of S.innerChanges||[]){if(S.original.contains(T.originalRange.startLineNumber)&&!(E&&T.originalRange.isEmpty())){let N=this._originalEditor.getModel()?.getValueInRange(T.originalRange,1);h.push({range:T.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:Al("inlineCompletions-char-delete",T.originalRange.isSingleLine()&&r.mode==="insertionInline"&&"single-line-inline",T.originalRange.isEmpty()&&"empty",(T.originalRange.isEmpty()&&l||r.mode==="deletion"&&N===`
|
|
49
|
+
`)&&c&&!x&&"diff-range-empty"),inlineClassName:x?Al("strike-through","inlineCompletions"):null,zIndex:1}})}if(S.modified.contains(T.modifiedRange.startLineNumber)&&u.push({range:T.modifiedRange,options:T.modifiedRange.isEmpty()&&c&&!x&&l?v:b}),x){let N=a.getValueOfRange(T.modifiedRange),F=N.length>3?[{text:N.slice(0,1),extraClasses:["start"],offsetRange:new Ne(T.modifiedRange.startColumn-1,T.modifiedRange.startColumn)},{text:N.slice(1,-1),extraClasses:[],offsetRange:new Ne(T.modifiedRange.startColumn,T.modifiedRange.endColumn-2)},{text:N.slice(-1),extraClasses:["end"],offsetRange:new Ne(T.modifiedRange.endColumn-2,T.modifiedRange.endColumn-1)}]:[{text:N,extraClasses:["start","end"],offsetRange:new Ne(T.modifiedRange.startColumn-1,T.modifiedRange.endColumn)}];this._tokenizationFinished.read(n);let P=this._modifiedTextModel.tokenization.getLineTokens(T.modifiedRange.startLineNumber);for(let{text:Y,extraClasses:le,offsetRange:de}of F)h.push({range:C.fromPositions(T.originalRange.getEndPosition()),options:{description:"inserted-text",before:{tokens:P.getTokensInRange(de),content:Y,inlineClassName:Al("inlineCompletions-char-insert",T.modifiedRange.isSingleLine()&&r.mode==="insertionInline"&&"single-line-inline",...le),cursorStops:ln.None,attachedData:new Eu(this)},zIndex:2,showIfCollapsed:!0}})}}}if(r.editorType===nt.DiffEditor)for(let S of r.diff)S.original.isEmpty||h.push({range:S.original.toExclusiveRange(),options:y});return{originalDecorations:h,modifiedDecorations:u}}),this._register(ke(this._originalEditor).setDecorations(this._decorations.map(n=>n?.originalDecorations??[])));let o=this._state.map(n=>n?.modifiedCodeEditor);this._register(nn((n,r)=>{let a=o.read(n);a&&r.add(ke(a).setDecorations(this._decorations.map(d=>d?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp(n=>{if(n.target.type!==6)return;let r=n.target.detail.injectedText?.options.attachedData;r instanceof Eu&&r.owner===this&&this._onDidClick.fire(new ro(n.event))}))}},Eu=class{constructor(e){this.owner=e}};function bW(s){return s.innerChanges?s.innerChanges.every(e=>WC(e.modifiedRange)&&WC(e.originalRange)):!1}var vW=0;function CW(s){return st(s.onDidChangeTokens,()=>vW++)}var SW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},wW=function(s,e){return function(t,i){e(t,i,s)}},mb=class extends D{constructor(e,t,i,o,n,r){super(),this._editor=e,this._model=t,this._simpleModel=i,this._inlineSuggestInfo=o,this._showCollapsed=n,this._instantiationService=r,this._tabAction=R(c=>this._model.read(c)?.tabAction.read(c)??et.Inactive),this.displayRange=R(this,c=>{let h=this._uiState.read(c);if(h&&h.target.uri.toString()===this._editorObs.model.read(c)?.uri.toString()){if(h.state?.kind==="custom"){let u=h.state.displayLocation?.range;if(!u)throw new Ye("custom view should have a range");return new it(u.startLineNumber,u.endLineNumber)}return h.state?.kind==="insertionMultiLine"?this._insertion.originalLines.read(c):h.edit.displayRange}}),this._currentInlineEditCache=void 0,this._uiState=R(this,c=>{let h=this._model.read(c),u=this._editorObs.model.read(c);if(!h||!u||!this._constructorDone.read(c))return;let g=h.inlineEdit,m,f,_;g.edit?(f=yg.fromEdit(g.edit),_=new rd(g.edit.apply(g.originalText)),m=bC(f,g.originalText,_)):(f=[],m=[],_=g.originalText);let b=this._determineRenderState(h,c,m,_);if(!b){ae(new Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}let v=this._getLongDistanceHintState(h,c);if(v&&v.isVisible&&b.viewData.setLongDistanceViewData(v.lineNumber,g.lineEdit.lineRange.startLineNumber),b.viewData.isForAnotherDocument=!g.originalText.targets(u),b.kind===Ce.SideBySide){let E=kN(_.getValue(),g.modifiedLineRange,u.getOptions().tabSize);_=new rd(E.applyToString(_.getValue())),f=DN(f,E),m=bC(f,g.originalText,_)}this._previewTextModel.setLanguage(u.getLanguageId());let y=this._previewTextModel.getValue();if(y!==_.getValue()){this._previewTextModel.setEOL(u.getEndOfLineSequence());let S=ho.replace(new Ne(0,y.length),_.getValue()).removeCommonSuffixPrefix(y),x=La(this._previewTextModel).getTextEdit(S);this._previewTextModel.edit(x)}this._showCollapsed.read(c)&&(b={kind:Ce.Collapsed,viewData:b.viewData}),h.handleInlineEditShownNextFrame(b.kind,b.viewData);let L=g.action?.kind==="jumpTo"?g.action.position:null;return{state:b,diff:m,edit:g,newText:_.getValue(),newTextLineCount:g.modifiedLineRange.length,editorType:h.editorType,longDistanceHint:v,nextCursorPosition:L,target:g.inlineCompletion.originalTextRef}}),this.inlineEditsIsHovered=R(this,c=>this._sideBySide.isHovered.read(c)||this._wordReplacementViews.read(c).some(h=>h.isHovered.read(c))||this._deletion.isHovered.read(c)||this._inlineDiffView.isHovered.read(c)||this._lineReplacementView.isHovered.read(c)||this._insertion.isHovered.read(c)||this._customView.isHovered.read(c)||this._longDistanceHint.map((h,u)=>h?.isHovered.read(u)??!1).read(c)),this.gutterIndicatorOffset=R(this,c=>this._uiState.read(c)?.state?.kind==="insertionMultiLine"?this._insertion.startLineOffset.read(c):0),this._editorObs=ke(this._editor),this._constructorDone=be(this,!1),this._previewTextModel=this._register(this._instantiationService.createInstance(bd,"",this._editor.getModel().getLanguageId(),{...bd.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._sideBySide=this._register(this._instantiationService.createInstance(Iu,this._editor,this._model.map(c=>c?.inlineEdit),this._previewTextModel,this._uiState.map(c=>c&&c.state?.kind===Ce.SideBySide?{newTextLineCount:c.newTextLineCount,editorType:c.editorType}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(sb,this._editor,this._model.map(c=>c?.inlineEdit),this._uiState.map(c=>c&&c.state?.kind===Ce.Deletion?{originalRange:c.state.originalRange,deletions:c.state.deletions,editorType:c.editorType}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(ab,this._editor,this._uiState.map(c=>c&&c.state?.kind===Ce.InsertionMultiLine?{lineNumber:c.state.lineNumber,startColumn:c.state.column,text:c.state.text,editorType:c.editorType}:void 0),this._tabAction)),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(ib,this._editor,this._model.map((c,h)=>this._uiState.read(h)?.state?.kind===Ce.Collapsed?c?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(rb,this._editor,this._model.map((c,h)=>this._uiState.read(h)?.state?.kind===Ce.Custom?c?.displayLocation:void 0),this._tabAction,this._uiState.map(c=>c?.editorType??nt.TextEditor))),this._showLongDistanceHint=this._editorObs.getOption(71).map(this,c=>c.edits.showLongDistanceHint),this._longDistanceHint=R(this,c=>{if(this._showLongDistanceHint.read(c))return c.store.add(this._instantiationService.createInstance(hb,this._editor,this._uiState.map((h,u)=>h?.longDistanceHint?{hint:h.longDistanceHint,newTextLineCount:h.newTextLineCount,edit:h.edit,diff:h.diff,editorType:h.editorType,model:this._simpleModel.read(u),inlineSuggestInfo:this._inlineSuggestInfo.read(u),nextCursorPosition:h.nextCursorPosition,target:h.target}:void 0),this._previewTextModel,this._tabAction))}).recomputeInitiallyAndOnChange(this._store),this._inlineDiffViewState=R(this,c=>{let h=this._uiState.read(c);if(!(!h||!h.state)&&!(h.state.kind==="wordReplacements"||h.state.kind==="insertionMultiLine"||h.state.kind==="collapsed"||h.state.kind==="custom"||h.state.kind==="jumpTo"))return{modifiedText:new rd(h.newText),diff:h.diff,mode:h.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,editorType:h.editorType}}),this._inlineDiffView=this._register(new gb(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._jumpToView=this._register(this._instantiationService.createInstance(lb,this._editorObs,{style:"label"},R(c=>{let h=this._uiState.read(c);if(h?.state?.kind===Ce.JumpTo)return{jumpToPosition:h.state.position}})));let a=Ni({equalsFn:aC.arrayC(aC.thisC())},c=>{let h=this._uiState.read(c);return h?.state?.kind===Ce.WordReplacements?h.state.replacements.map(u=>new ub(u,h.editorType,h.state?.alternativeAction)):[]});this._wordReplacementViews=Za(this,a,(c,h)=>h.add(this._instantiationService.createInstance(Ra,this._editorObs,c,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(db,this._editorObs,this._uiState.map(c=>c?.state?.kind===Ce.LineReplacement?{originalRange:c.state.originalRange,modifiedRange:c.state.modifiedRange,modifiedLines:c.state.modifiedLines,replacements:c.state.replacements}:void 0),this._uiState.map(c=>c?.editorType??nt.TextEditor),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map(c=>c.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map(c=>c.edits.renderSideBySide),this._register(se(c=>{let h=this._model.read(c);h&&c.store.add(De.any(this._sideBySide.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(c).map(u=>u.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)(u=>{this._viewHasBeenShownLongerThan(350)&&(u.event.preventDefault(),h.accept(u.alternativeAction))}))})),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store);let d=R(this,c=>Math.max(...this._wordReplacementViews.read(c).map(h=>h.minEditorScrollHeight.read(c)),this._lineReplacementView.minEditorScrollHeight.read(c),this._customView.minEditorScrollHeight.read(c))).recomputeInitiallyAndOnChange(this._store),l;this._register(se(c=>{let h=d.read(c),u=this._editorObs.model.read(c);u&&this._editor.changeViewZones(g=>{let m=this._editor.getScrollHeight(),f=h-m+1;f!==0&&l!==void 0&&(g.removeZone(l),l=void 0),!(f<=0)&&(l=g.addZone({afterLineNumber:u.getLineCount(),heightInPx:f,domNode:W("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;let i=this._editorObs.model.read(t);return!i||!e.inlineEdit.originalText.targets(i)?{isVisible:!0,lineNumber:e.inlineEdit.cursorPosition.lineNumber}:(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)})}_getCacheId(e){return e.inlineEdit.inlineCompletion.identity.id}_determineView(e,t,i,o){let n=e.inlineEdit,r=this._previousView?.id===this._getCacheId(e)&&this._previousView?.uri.toString()===this._editorObs.model.get().uri.toString(),a=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(t)&&(this._previousView?.view===Ce.SideBySide||this._previousView?.view===Ce.LineReplacement);if(r&&!a)return this._previousView.view;let d=e.inlineEdit.inlineCompletion.action;if(d?.kind==="edit"&&d.alternativeAction)return Ce.WordReplacements;let l=e.inlineEdit.inlineCompletion.originalTextRef.uri,c=this._editorObs.model.read(t)?.uri;if(c&&l.toString()!==c.toString())return Ce.Custom;if(e.displayLocation&&!e.inlineEdit.inlineCompletion.identity.jumpedTo.read(t))return Ce.Custom;let h=n.originalLineRange.length,u=n.modifiedLineRange.length,g=i.flatMap(f=>f.innerChanges??[]),m=g.length===1;if(e.editorType!==nt.DiffEditor){if(m&&this._useCodeShifting.read(t)!=="never"&&ZN(i))return xW(i,n.cursorPosition)?Ce.InsertionInline:Ce.LineReplacement;if(qN(g,n,o))return Ce.Deletion;if(KN(i)&&this._useCodeShifting.read(t)==="always")return Ce.InsertionMultiLine;if(g.every(_=>Hi.ofRange(_.originalRange).columnCount<Ra.MAX_LENGTH&&Hi.ofRange(_.modifiedRange).columnCount<Ra.MAX_LENGTH)&&m&&h===1&&u===1){let _=g.map(v=>o.getValueOfRange(v.modifiedRange)),b=g.map(v=>e.inlineEdit.originalText.getValueOfRange(v.originalRange));if(!_.some(v=>v.includes(" "))&&!b.some(v=>v.includes(" "))&&(!g.some(v=>v.originalRange.isEmpty())||!GN(g.map(v=>new Be(v.originalRange,"")),n.originalText).some(v=>v.range.isEmpty()&&Hi.ofRange(v.range).columnCount<Ra.MAX_LENGTH)))return Ce.WordReplacements}}if(h>0&&u>0)return h===1&&u===1&&e.editorType!==nt.DiffEditor?Ce.LineReplacement:this._renderSideBySide.read(t)!=="never"&&Iu.fitsInsideViewport(this._editor,this._previewTextModel,n,t)?Ce.SideBySide:Ce.LineReplacement;if(e.editorType===nt.DiffEditor){if(qN(g,n,o))return Ce.Deletion;if(KN(i)&&this._useCodeShifting.read(t)==="always")return Ce.InsertionMultiLine}return Ce.SideBySide}_determineRenderState(e,t,i,o){if(e.inlineEdit.action?.kind==="jumpTo")return{kind:Ce.JumpTo,position:e.inlineEdit.action.position,viewData:$N()};let n=e.inlineEdit,r=this._determineView(e,t,i,o);if(this._willRenderAboveCursor(t,n,r))switch(r){case Ce.LineReplacement:case Ce.WordReplacements:r=Ce.SideBySide;break}this._previousView={id:this._getCacheId(e),view:r,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now(),uri:this._editorObs.model.get().uri};let a=i.flatMap(u=>u.innerChanges??[]),d=this._editor.getModel(),l=a.map(u=>({originalRange:u.originalRange,modifiedRange:u.modifiedRange,original:n.originalText.getValueOfRange(u.originalRange),modified:o.getValueOfRange(u.modifiedRange)})),c=yW(n,l,d);switch(r){case Ce.InsertionInline:return{kind:Ce.InsertionInline,viewData:c};case Ce.SideBySide:return{kind:Ce.SideBySide,viewData:c};case Ce.Collapsed:return{kind:Ce.Collapsed,viewData:c};case Ce.Custom:return{kind:Ce.Custom,displayLocation:e.displayLocation,viewData:c}}if(r===Ce.Deletion)return{kind:Ce.Deletion,originalRange:n.originalLineRange,deletions:a.map(u=>u.originalRange),viewData:c};if(r===Ce.InsertionMultiLine){let u=a[0];return{kind:Ce.InsertionMultiLine,lineNumber:u.originalRange.startLineNumber,column:u.originalRange.startColumn,text:o.getValueOfRange(u.modifiedRange),viewData:c}}let h=l.map(u=>new Be(u.originalRange,u.modified));if(h.length!==0){if(r===Ce.WordReplacements){let u=IW(h,n.originalText);return u.some(g=>g.range.isEmpty())&&(u=GN(h,n.originalText)),{kind:Ce.WordReplacements,replacements:u,alternativeAction:e.inlineEdit.action?.alternativeAction,viewData:c}}if(r===Ce.LineReplacement)return{kind:Ce.LineReplacement,originalRange:n.originalLineRange,modifiedRange:n.modifiedLineRange,modifiedLines:n.modifiedLineRange.mapToLineArray(u=>o.getLineAt(u)),replacements:a.map(u=>({originalRange:u.originalRange,modifiedRange:u.modifiedRange})),viewData:c}}}_willRenderAboveCursor(e,t,i){if(this._useCodeShifting.read(e)==="always")return!1;for(let n of t.multiCursorPositions)if(i===Ce.WordReplacements&&n.lineNumber===t.originalLineRange.startLineNumber+1||i===Ce.LineReplacement&&n.lineNumber>=t.originalLineRange.endLineNumberExclusive&&n.lineNumber<t.modifiedLineRange.endLineNumberExclusive+t.modifiedLineRange.length)return!0;return!1}_viewHasBeenShownLongerThan(e){let t=this._previousView?.timestamp;if(!t)throw new Ye("viewHasBeenShownLongThan called before a view has been shown");return Date.now()-t>=e}};mb=SW([wW(5,j)],mb);var $N=()=>new Ea(-1,-1,-1,-1,-1,-1,-1,!0);function yW(s,e,t){if(!s.edit)return $N();let i=s.cursorPosition,o=e.length===0?!1:e[0].modified.startsWith(t.getEOL());return new Ea(s.edit.replacements.length===0?0:s.edit.replacements[0].range.getStartPosition().column-i.column,s.lineEdit.lineRange.startLineNumber-i.lineNumber+(o&&s.lineEdit.lineRange.startLineNumber>=i.lineNumber?1:0),s.lineEdit.lineRange.length,s.lineEdit.newLines.length,e.reduce((r,a)=>r+a.original.length,0),e.reduce((r,a)=>r+a.modified.length,0),e.length,e.every(r=>r.original===e[0].original&&r.modified===e[0].modified))}function ZN(s){return s.every(t=>t.innerChanges.every(i=>e(i)));function e(t){return!(!t.originalRange.isEmpty()||!(t.modifiedRange.startLineNumber===t.modifiedRange.endLineNumber))}}function xW(s,e){if(!e||!ZN(s))return!1;let t=e;return s.every(o=>o.innerChanges.every(n=>i(n)));function i(o){let n=o.originalRange.getStartPosition();return!!(t.isBeforeOrEqual(n)||n.lineNumber<t.lineNumber)}}function KN(s){let e=s.flatMap(i=>i.innerChanges??[]);if(e.length!==1)return!1;let t=e[0];return!(!t.originalRange.isEmpty()||t.modifiedRange.startLineNumber===t.modifiedRange.endLineNumber)}function qN(s,e,t){return s.map(o=>({original:e.originalText.getValueOfRange(o.originalRange),modified:t.getValueOfRange(o.modifiedRange)})).every(({original:o,modified:n})=>n.trim()===""&&o.length>0&&(o.length>n.length||o.trim()!==""))}function IW(s,e){return YN(s,e,t=>/^[a-zA-Z]$/.test(t))}function GN(s,e){return YN(s,e,t=>!/^\s$/.test(t))}function YN(s,e,t){let i=[];s.sort((n,r)=>C.compareRangesUsingStarts(n.range,r.range));for(let n of s){let r=n.range.startColumn-1,a=n.range.endColumn-2,d="",l="",c=e.getLineAt(n.range.startLineNumber),h=e.getLineAt(n.range.endLineNumber);if(o(c[r]))for(;o(c[r-1]);)d=c[r-1]+d,r--;if(o(h[a])||a<r)for(;o(h[a+1]);)l+=h[a+1],a++;let u=new Be(new C(n.range.startLineNumber,r+1,n.range.endLineNumber,a+2),d+n.text+l);i.length>0&&C.areIntersectingOrTouching(i[i.length-1].range,u.range)&&(u=Be.joinReplacements([i.pop(),u],e)),i.push(u)}function o(n){return n===void 0?!1:t(n)}return i}var LW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},EW=function(s,e){return function(t,i){e(t,i,s)}},pb=class extends D{constructor(e,t,i,o){super(),this._editor=e,this._model=t,this._showCollapsed=i,this._inlineEdit=R(this,n=>{let r=this._model.read(n);if(!r||!this._editor.getModel())return;let d=r.inlineEditState.read(n);if(!d)return;let l=d.inlineSuggestion.action,c;if(l?.kind==="edit"){let h=l.stringEdit,u=d.inlineSuggestion.originalTextRef.getTransformer(),g=h.replacements.map(m=>{let f=C.fromPositions(u.getPosition(m.replaceRange.start),u.getPosition(m.replaceRange.endExclusive));return new Be(f,m.newText)});c=new Wi(g)}else c=void 0;return new eb(d.inlineSuggestion.originalTextRef,l,c,r.primaryPosition.read(void 0),r.allPositions.read(void 0),d.inlineSuggestion.source.inlineSuggestions.commands??[],d.inlineSuggestion)}),this._inlineEditModel=R(this,n=>{let r=this._model.read(n);if(!r)return;let a=this._inlineEdit.read(n);if(!a)return;let d=R(this,l=>{if(this._editorObs.isFocused.read(l)){if(r.tabShouldJumpToInlineEdit.read(l))return et.Jump;if(r.tabShouldAcceptInlineEdit.read(l))return et.Accept}return et.Inactive});return new tb(r,a,d)}),this._editorObs=ke(this._editor),this.view=this._register(o.createInstance(mb,this._editor,this._inlineEditModel,this._model.map(n=>n?Wl.fromInlineCompletionModel(n):void 0),this._inlineEdit.map(n=>n?Hl.fromInlineSuggestion(n.inlineCompletion):void 0),this._showCollapsed))}};pb=LW([EW(3,j)],pb);var DW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kW=function(s,e){return function(t,i){e(t,i,s)}},fb=class extends D{static{this.hot=Sd(this)}constructor(e,t,i,o){super(),this._editor=e,this._model=t,this._focusIsInMenu=i,this._instantiationService=o,this._ghostTexts=R(this,n=>this._model.read(n)?.ghostTexts.read(n)??[]),this._inlineEdit=R(this,n=>this._model.read(n)?.inlineEditState.read(n)?.inlineSuggestion),this._everHadInlineEdit=Si(this,(n,r)=>r||!!this._inlineEdit.read(n)||!!this._model.read(n)?.inlineCompletionState.read(n)?.inlineSuggestion?.showInlineEditMenu),this._indicatorIsHoverVisible=be(this,void 0),this._showInlineEditCollapsed=R(this,n=>(this._model.read(n)?.showCollapsed.read(n)??!1)&&!this._indicatorIsHoverVisible.read(n)?.read(n)),this._inlineEditWidget=$a(n=>{if(this._everHadInlineEdit.read(n))return this._instantiationService.createInstance(pb,this._editor,this._model,this._showInlineEditCollapsed)}),this._gutterIndicatorState=R(n=>{let r=this._model.read(n);if(!r)return;let a=r.state.read(n);if(a?.kind==="ghostText"&&a.inlineSuggestion?.showInlineEditMenu)return{displayRange:it.ofLength(a.primaryGhostText.lineNumber,1),tabAction:R(this,d=>this._editorObs.isFocused.read(d)?et.Accept:et.Inactive),gutterIndicatorOffset:ue(RW(a.inlineSuggestion,this._editor)),inlineSuggestion:a.inlineSuggestion,model:r};if(a?.kind==="inlineEdit"){let d=this._inlineEditWidget.read(n)?.view;if(!d)return;let l=d.displayRange.read(n);return l?{displayRange:l,tabAction:R(c=>{if(this._editorObs.isFocused.read(c)){if(r.tabShouldJumpToInlineEdit.read(c))return et.Jump;if(r.tabShouldAcceptInlineEdit.read(c))return et.Accept}return et.Inactive}),gutterIndicatorOffset:d.gutterIndicatorOffset,inlineSuggestion:a.inlineSuggestion,model:r}:void 0}else return}),this._stablizedGhostTexts=QM(this._ghostTexts,this._store),this._editorObs=ke(this._editor),this._ghostTextWidgets=Za(this,this._stablizedGhostTexts,(n,r)=>r.add(this._createGhostText(n))).recomputeInitiallyAndOnChange(this._store),this._inlineEditWidget.recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map(n=>n.fontFamily),this._register(pk(R(n=>`
|
|
50
|
+
.monaco-editor .ghost-text-decoration,
|
|
51
|
+
.monaco-editor .ghost-text-decoration-preview,
|
|
52
|
+
.monaco-editor .ghost-text {
|
|
53
|
+
font-family: ${this._fontFamily.read(n)};
|
|
54
|
+
}`))),this._register(new Tp(this._editor,this._model,this._instantiationService)),this._indicator=this._register(this._instantiationService.createInstance(Bl,this._editorObs,R(n=>{let r=this._gutterIndicatorState.read(n);if(r)return new Fl(Hl.fromInlineSuggestion(r.inlineSuggestion),r.displayRange,Wl.fromInlineCompletionModel(r.model),r.inlineSuggestion.action?.kind==="edit"?r.inlineSuggestion.action.alternativeAction:void 0)}),this._gutterIndicatorState.map((n,r)=>n?.tabAction?.read(r)??et.Inactive),this._gutterIndicatorState.map((n,r)=>n?.gutterIndicatorOffset?.read(r)??0),this._inlineEditWidget.map((n,r)=>n?.view.inlineEditsIsHovered.read(r)??!1),this._focusIsInMenu)),this._indicatorIsHoverVisible.set(this._indicator.isHoverVisible,void 0),R(n=>{let r=this._inlineEditWidget.read(n);if(r)return n.store.add(this._instantiationService.createInstance(J_,r._inlineEditModel,ue(this._indicator),r.view._inlineCollapsedView))}).recomputeInitiallyAndOnChange(this._store)}_createGhostText(e){return this._instantiationService.createInstance(rs,this._editor,R(t=>{let i=this._model.read(t),o=i?.inlineCompletionState.read(t)?.inlineSuggestion;return!i||!o?{ghostText:e.read(t),handleInlineCompletionShown:()=>{},warning:void 0}:{ghostText:e.read(t),handleInlineCompletionShown:n=>i.handleInlineSuggestionShown(o,Ce.GhostText,n,Date.now()),warning:j_.from(i?.warning.read(t))}}),{useSyntaxHighlighting:this._editorObs.getOption(71).map(t=>t.syntaxHighlightingEnabled),highlightShortSuggestions:!0})}shouldShowHoverAtViewZone(e){return this._ghostTextWidgets.get()[0]?.ownsViewZone(e)??!1}};fb=DW([kW(3,j)],fb);function RW(s,e){let t=s.getSingleTextEdit(),i=e.getModel();if(!i)return 0;let o=i.getEOL();if(t.range.isEmpty()&&t.text.startsWith(o)){let n=e.getLineHeightForPosition(t.range.getStartPosition());return TW(t.text,o)*n}return 0}function TW(s,e){if(!e.length)return 0;let t=0,i=0;for(;s.startsWith(e,i);)t++,i+=e.length;return t}var MW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gs=function(s,e){return function(t,i){e(t,i,s)}},Fn;OM(s=>Gt.get(s));var Gt=class extends D{static{Fn=this}static{this._instances=new Set}static{this.hot=Sd(this)}static{this.ID="editor.contrib.inlineCompletionsController"}static getInFocusedEditorOrParent(e){let t=Jm(e);return t?Fn.get(t):null}static get(e){return WM(e.getContribution(Fn.ID))}constructor(e,t,i,o,n,r,a,d,l){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=o,this._commandService=n,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=d,this._keybindingService=l,this._focusIsInMenu=be(this,!1),this._focusIsInEditorOrMenu=R(this,m=>{let f=this._editorObs.isFocused.read(m),_=this._focusIsInMenu.read(m);return f||_}),this._cursorIsInIndentation=R(this,m=>{let f=this._editorObs.cursorPosition.read(m);if(f===null)return!1;let _=this._editorObs.model.read(m);if(!_)return!1;this._editorObs.versionId.read(m);let b=_.getLineIndentColumn(f.lineNumber);return f.column<=b}),this.model=$a(this,m=>{if(this._editorObs.isReadonly.read(m))return;let f=this._editorObs.model.read(m);return f?this._instantiationService.createInstance(B_,f,this._suggestWidgetAdapter.selectedItem,this._editorObs.versionId,this._positions,this._debounceValue,this._enabledInConfig,()=>this._isEditorDictationInProgress(),this.editor):void 0}),this._playAccessibilitySignal=yo(this),this._view=R(m=>m.store.add(this._instantiationService.createInstance(fb.hot.read(m),this.editor,this.model,this._focusIsInMenu))),this._editorObs=ke(this.editor),this._positions=R(this,m=>this._editorObs.selections.read(m)?.map(f=>f.getEndPosition())??[new H(1,1)]),this._suggestWidgetAdapter=this._register(new V_(this._editorObs,m=>this.model.get()?.handleSuggestAccepted(m),()=>this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit())),this._enabledInConfig=st(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).enabled),this._register(this._contextKeyService.onDidChangeContext(m=>{m.affectsSome(new Set(["editorDictation.inProgress"]))&&this._isEditorDictationInProgress()&&this.model.get()?.stop()})),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(m=>!0),this._view.recomputeInitiallyAndOnChange(this._store),Fn._instances.add(this),this._register(ce(()=>Fn._instances.delete(this))),this._register(se(m=>{let f=this.model.read(m);if(!f)return;let _=f.state.read(m);if(!_||!this._focusIsInEditorOrMenu.read(void 0))return;let b=_.kind==="inlineEdit"?_.nextEditUri:void 0;for(let v of Fn._instances)v!==this&&(b&&$i(b,v.editor.getModel()?.uri)?v.model.read(void 0)?.trigger():v.reject())})),this._register(se(m=>{let f=this.model.read(m),_=this.editor.getModel()?.uri;!f||!_||m.store.add(f.onDidAccept(()=>{for(let b of Fn._instances){if(b===this)continue;let v=b.model.read(void 0)?.state.read(void 0);v?.kind==="inlineEdit"&&$i(v.nextEditUri,_)&&b.model.read(void 0)?.stop("automatic")}}))})),this._register(mn(this._editorObs.onDidType,(m,f)=>{this._enabledInConfig.get()&&!this._isEditorDictationInProgress()&&this.model.get()?.trigger()})),this._register(mn(this._editorObs.onDidPaste,(m,f)=>{this._enabledInConfig.get()&&!this._isEditorDictationInProgress()&&this.model.get()?.trigger()}));let c=new Set([id.Tab.id,id.DeleteLeft.id,id.DeleteRight.id,Go,"acceptSelectedSuggestion",Uh.ID,zh.ID,ze.NextMatchFindAction,ba.ID,Ah.ID,Fh.ID,Hh.ID,...F0.getRegisteredCommands()]);this._register(this._commandService.onDidExecuteCommand(m=>{if(c.has(m.commandId)&&e.hasTextFocus()&&this._enabledInConfig.get()&&!this._isEditorDictationInProgress()){let f=!1;m.commandId===Go&&(f=!0),this._editorObs.forceUpdate(_=>{this.model.get()?.trigger(_,{noDelay:f})})}})),this._register(mn(this._editorObs.selections,(m,f,_)=>{if(_.some(b=>b.reason===3||b.source==="api")){if(!this._hideInlineEditOnSelectionChange.get()&&this.model.get()?.state.get()?.kind==="inlineEdit")return;let b=this.model.get();if(!b)return;b.state.get()?.kind==="ghostText"&&this.model.get()?.stop()}})),this._register(se(m=>{let f=this._focusIsInEditorOrMenu.read(m),_=this.model.read(void 0);if(f){let b=_?.state.read(void 0);(!b||b.kind!=="inlineEdit"||!b.nextEditUri)&&Ci(v=>{for(let y of Fn._instances)y!==this&&y.model.read(void 0)?.stop("automatic",v)});return}this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(71).keepOnBlur||rr.dropDownVisible||_&&(_.state.read(void 0)?.inlineSuggestion?.isFromExplicitRequest&&_.inlineEditAvailable.read(void 0)||Ci(b=>{_.stop("automatic",b)}))})),this._register(se(m=>{let f=this.model.read(m)?.inlineCompletionState.read(m);f?.suggestItem?f.primaryGhostText.lineCount>=2&&this._suggestWidgetAdapter.forceRenderingAbove():this._suggestWidgetAdapter.stopForceRenderingAbove()})),this._register(ce(()=>{this._suggestWidgetAdapter.stopForceRenderingAbove()}));let h=Si(this,(m,f)=>{let b=this.model.read(m)?.state.read(m);return this._suggestWidgetAdapter.selectedItem.get()?f:b?.inlineSuggestion?.semanticId});this._register(Jk(R(m=>(this._playAccessibilitySignal.read(m),h.read(m),{})),async(m,f,_,b)=>{let v=this.model.get(),y=v?.state.get();if(!y||!v||(await yr(50,Jv(b)),await DR(this._suggestWidgetAdapter.selectedItem,ys,()=>!1,Jv(b)),v=this.model.get(),y=v?.state.get(),!y||!v))return;let L=y.kind==="ghostText"?v.textModel.getLineContent(y.primaryGhostText.lineNumber):"";if(this._accessibilitySignalService.playSignal(y.kind==="ghostText"?Mr.inlineSuggestion:Mr.nextEditSuggestion),this.editor.getOption(12))if(y.kind==="ghostText")this._provideScreenReaderUpdate(y.primaryGhostText.renderForScreenReader(L));else{let E=y.inlineSuggestion.targetRange.startLineNumber,S=v.tabShouldAcceptInlineEdit.get(),x=v.tabShouldJumpToInlineEdit.get(),T;if(S){let N=this._keybindingService.lookupKeybinding(Go)?.getAriaLabel();T=N?p(1262,"Next edit suggestion available on line {0}, press {1} to accept",E,N):p(1263,"Next edit suggestion available on line {0}, accept it to apply",E)}else if(x){let N=this._keybindingService.lookupKeybinding(zd)?.getAriaLabel();T=N?p(1264,"Next edit suggestion available on line {0}, press {1} to jump",E,N):p(1265,"Next edit suggestion available on line {0}",E)}else T=p(1266,"Next edit suggestion available on line {0}",E);this._provideScreenReaderUpdate(T)}})),this._register(this._configurationService.onDidChangeConfiguration(m=>{m.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 u=new x_(this._contextKeyService);this._register(u.bind(Le.cursorInIndentation,this._cursorIsInIndentation)),this._register(u.bind(Le.hasSelection,m=>!this._editorObs.cursorSelection.read(m)?.isEmpty())),this._register(u.bind(Le.cursorAtInlineEdit,this.model.map((m,f)=>m?.inlineEditState?.read(f)?.cursorAtInlineEdit.read(f)))),this._register(u.bind(Le.tabShouldAcceptInlineEdit,this.model.map((m,f)=>!!m?.tabShouldAcceptInlineEdit.read(f)))),this._register(u.bind(Le.tabShouldJumpToInlineEdit,this.model.map((m,f)=>!!m?.tabShouldJumpToInlineEdit.read(f)))),this._register(u.bind(Le.inlineEditVisible,m=>this.model.read(m)?.inlineEditState.read(m)!==void 0)),this._register(u.bind(Le.inlineSuggestionHasIndentation,m=>this.model.read(m)?.getIndentationInfo(m)?.startsWithIndentation)),this._register(u.bind(Le.inlineSuggestionHasIndentationLessThanTabSize,m=>this.model.read(m)?.getIndentationInfo(m)?.startsWithIndentationLessThanTabSize)),this._register(u.bind(Le.suppressSuggestions,m=>{let _=this.model.read(m)?.inlineCompletionState.read(m);return _?.primaryGhostText&&_?.inlineSuggestion?_.inlineSuggestion.source.inlineSuggestions.suppressSuggestions:void 0})),this._register(u.bind(Le.inlineSuggestionAlternativeActionVisible,m=>{let b=this.model.read(m)?.inlineEditState.read(m)?.inlineSuggestion.action;return b&&b.kind==="edit"&&b.alternativeAction!==void 0})),this._register(u.bind(Le.inlineSuggestionVisible,m=>{let _=this.model.read(m)?.inlineCompletionState.read(m);return!!_?.inlineSuggestion&&_?.primaryGhostText!==void 0&&!_?.primaryGhostText.isEmpty()}));let g=R(this,m=>{let b=this.model.read(m)?.inlineCompletionState.read(m)?.primaryGhostText;return!b||b.isEmpty()?void 0:new H(b.lineNumber,b.parts[0].column)});this._register(u.bind(Le.cursorBeforeGhostText,m=>{let f=g.read(m);if(!f)return!1;let _=this._editorObs.cursorPosition.read(m);return _?f.equals(_):!1})),this._register(this._instantiationService.createInstance(y_,this.editor))}_isEditorDictationInProgress(){return this._contextKeyService.getContext(this.editor.getDomNode())?.getValue("editorDictation.inProgress")===!0}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){let t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView"),o;!t&&i&&this.editor.getOption(170)&&(o=p(1267,"Inspect this in the accessible view ({0})",i.getAriaLabel())),xt(o?e+", "+o:e)}shouldShowHoverAt(e){let t=this.model.get()?.primaryGhostText.get();return t?t.parts.some(i=>e.containsPosition(new H(t.lineNumber,i.column))):!1}shouldShowHoverAtViewZone(e){return this._view.get().shouldShowHoverAtViewZone(e)}reject(){Ci(e=>{let t=this.model.get();if(t&&(t.stop("explicitCancel",e),this._focusIsInEditorOrMenu.get()))for(let i of Fn._instances)i!==this&&!i._focusIsInEditorOrMenu.get()&&i.model.get()?.stop("automatic",e)})}jump(){let e=this.model.get();e&&e.jump()}};Gt=Fn=MW([gs(1,j),gs(2,J),gs(3,re),gs(4,Fe),gs(5,Mt),gs(6,V),gs(7,wd),gs(8,he)],Gt);var _b=class s extends A{static{this.ID=Dp}constructor(){super({id:s.ID,label:I(1239,"Show Next Inline Suggestion"),precondition:O.and(w.writable,Le.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){Gt.get(t)?.model.get()?.next()}},bb=class s extends A{static{this.ID=Ep}constructor(){super({id:s.ID,label:I(1240,"Show Previous Inline Suggestion"),precondition:O.and(w.writable,Le.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){Gt.get(t)?.model.get()?.previous()}},NW="vscode://schemas/inlineCompletionProviderIdArgs";function PW(s){let e=[];return s.providerId&&(e.push(s.providerId.toStringWithoutVersion()),e.push(s.providerId.extensionId+":*")),e}var XN=KM(jM({showNoResultNotification:du(qx()),providerId:du(qM(NW,VM())),explicit:du(qx()),changeHintData:du(zM())}),UM()),vb=class extends A{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:I(1241,"Trigger Inline Suggestion"),precondition:w.writable,metadata:{description:p(1228,"Triggers an inline suggestion in the editor."),args:[{name:"args",description:p(1229,"Options for triggering inline suggestions."),isOptional:!0,schema:XN.getJSONSchema()}]}})}async run(e,t,i){let o=e.get(Je),n=e.get(V),r=Gt.get(t),a=XN.validateOrThrow(i),d=a?.providerId?n.inlineCompletionsProvider.all(t.getModel()).find(l=>PW(l).some(c=>c===a.providerId)):void 0;await t0(async l=>{await r?.model.get()?.trigger(l,{provider:d,explicit:a?.explicit??!0,changeHint:a?.changeHintData?{data:a.changeHintData}:void 0}),r?.playAccessibilitySignal(l)}),a?.showNoResultNotification&&(r?.model.get()?.state.get()||o.notify({severity:Rr.Info,message:p(1230,"No inline suggestion is available.")}))}},Cb=class extends A{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:I(1242,"Accept Next Word Of Inline Suggestion"),precondition:O.and(w.writable,Le.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:O.and(w.writable,Le.inlineSuggestionVisible,Le.cursorBeforeGhostText,As.negate())},menuOpts:[{menuId:q.InlineSuggestionToolbar,title:p(1231,"Accept Word"),group:"primary",order:2}]})}async run(e,t){await Gt.get(t)?.model.get()?.acceptNextWord()}},Sb=class extends A{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:I(1243,"Accept Next Line Of Inline Suggestion"),precondition:O.and(w.writable,Le.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:q.InlineSuggestionToolbar,title:p(1232,"Accept Line"),group:"secondary",order:2}]})}async run(e,t){await Gt.get(t)?.model.get()?.acceptNextLine()}},wb=class extends A{constructor(){super({id:Go,label:I(1244,"Accept Inline Suggestion"),precondition:O.or(Le.inlineSuggestionVisible,Le.inlineEditVisible),menuOpts:[{menuId:q.InlineSuggestionToolbar,title:p(1233,"Accept"),group:"primary",order:2},{menuId:q.InlineEditsActions,title:p(1234,"Accept"),group:"primary",order:2}],kbOpts:[{primary:2,weight:200,kbExpr:O.or(O.and(Le.inlineSuggestionVisible,w.tabMovesFocus.toNegated(),ie.Visible.toNegated(),w.hoverFocused.toNegated(),Le.hasSelection.toNegated(),Le.inlineSuggestionHasIndentationLessThanTabSize),O.and(Le.inlineEditVisible,w.tabMovesFocus.toNegated(),ie.Visible.toNegated(),w.hoverFocused.toNegated(),Le.tabShouldAcceptInlineEdit))}]})}async run(e,t){let i=Gt.getInFocusedEditorOrParent(e);i&&(i.model.get()?.accept(i.editor),i.editor.focus())}};Jt.registerKeybindingRule({id:Go,weight:202,primary:2,when:O.and(Le.inInlineEditsPreviewEditor)});var yb=class extends A{constructor(){super({id:da,label:I(1245,"Accept Inline Suggestion Alternative Action"),precondition:O.and(Le.inlineSuggestionAlternativeActionVisible,Le.inlineEditVisible),menuOpts:[],kbOpts:[{primary:1026,weight:203}]})}async run(e,t){let i=Gt.getInFocusedEditorOrParent(e);i&&(i.model.get()?.accept(i.editor,!0),i.editor.focus())}};Jt.registerKeybindingRule({id:da,weight:203,primary:1026,when:O.and(Le.inInlineEditsPreviewEditor)});var xb=class extends A{constructor(){super({id:zd,label:I(1246,"Jump to next inline edit"),precondition:Le.inlineEditVisible,menuOpts:[{menuId:q.InlineEditsActions,title:p(1235,"Jump"),group:"primary",order:1,when:Le.cursorAtInlineEdit.toNegated()}],kbOpts:{primary:2,weight:201,kbExpr:O.and(Le.inlineEditVisible,w.tabMovesFocus.toNegated(),ie.Visible.toNegated(),w.hoverFocused.toNegated(),Le.tabShouldJumpToInlineEdit)}})}async run(e,t){let i=Gt.get(t);i&&i.jump()}},Du=class s extends A{static{this.ID=kp}constructor(){super({id:s.ID,label:I(1247,"Hide Inline Suggestion"),precondition:O.or(Le.inlineSuggestionVisible,Le.inlineEditVisible),kbOpts:{kbExpr:w.editorTextFocus,weight:190,primary:9},menuOpts:[{menuId:q.InlineEditsActions,title:p(1236,"Reject"),group:"primary",order:3}]})}async run(e,t){let i=Gt.getInFocusedEditorOrParent(e);Ci(o=>{i?.model.get()?.stop("explicitCancel",o)}),i?.editor.focus()}},Ib=class s extends A{static{this.ID=eh}constructor(){super({id:s.ID,label:I(1248,"Toggle Inline Suggestions Show Collapsed"),precondition:O.true()})}async run(e,t){let i=e.get(re),o=i.getValue("editor.inlineSuggest.edits.showCollapsed");i.updateValue("editor.inlineSuggest.edits.showCollapsed",!o)}};Jt.registerKeybindingRule({id:Du.ID,weight:-1,primary:9,secondary:[1033],when:O.and(Le.inInlineEditsPreviewEditor)});var Lb=class s extends ht{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:s.ID,title:p(1237,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:q.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:O.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e){let t=e.get(re),o=t.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";t.updateValue("editor.inlineSuggest.showToolbar",o)}},Eb=class extends A{constructor(){super({id:"editor.action.inlineSuggest.dev.extractRepro",label:p(1238,"Developer: Extract Inline Suggest State"),alias:"Developer: Inline Suggest Extract Repro",precondition:O.or(Le.inlineEditVisible,Le.inlineSuggestionVisible)})}async run(e,t){let i=e.get(Rt),n=Gt.get(t)?.model.get();if(!n)return;let r=n.extractReproSample(),d=bi(JSON.stringify({inlineCompletion:r.inlineCompletion},null,4)).map(c=>"// "+c).join(`
|
|
55
|
+
`),l=`${r.documentValue}
|
|
56
|
+
|
|
57
|
+
// <json>
|
|
58
|
+
${d}
|
|
59
|
+
// </json>
|
|
60
|
+
`;return await i.writeText(l),{reproCase:l}}};var OW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Db=function(s,e){return function(t,i){e(t,i,s)}},ZI=class{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},kb=class{constructor(e,t,i,o,n){this._editor=e,this.accessibilityService=t,this._instantiationService=i,this._telemetryService=o,this._markdownRendererService=n,this.hoverOrdinal=4,this.hideCopyButton=!0}suggestHoverAnchor(e){let t=Gt.get(this._editor);if(!t)return null;let i=e.target;if(i.type===8){let o=i.detail;if(t.shouldShowHoverAtViewZone(o.viewZoneId))return new or(1e3,this,C.fromPositions(this._editor.getModel().validatePosition(o.positionBefore||o.position)),e.event.posx,e.event.posy,!1)}if(i.type===7&&t.shouldShowHoverAt(i.range))return new or(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range))return new or(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(i.type===9&&i.element){let o=rs.getWarningWidgetContext(i.element);if(o&&t.shouldShowHoverAt(o.range))return new or(1e3,this,o.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if(this._editor.getOption(71).showToolbar!=="onHover")return[];let i=Gt.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new ZI(this,e.range,i)]:[]}renderHoverParts(e,t){let i=new M,o=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(12)&&i.add(this.renderScreenReaderText(e,o));let n=o.controller.model.get(),r=document.createElement("div");e.fragment.appendChild(r),i.add(nn((d,l)=>{let c=l.add(this._instantiationService.createInstance(rr.hot.read(d),this._editor,!1,ue(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.activeCommands,n.warning,()=>{e.onContentsChanged()}));r.replaceChildren(c.getDomNode())})),n.triggerExplicitly();let a={hoverPart:o,hoverElement:r,dispose(){i.dispose()}};return new to([a])}getAccessibleContent(e){return p(1268,"There are inline completions here")}renderScreenReaderText(e,t){let i=new M,o=W,n=o("div.hover-row.markdown-hover"),r=U(n,o("div.hover-contents",{"aria-live":"assertive"})),a=d=>{let l=p(1269,"Suggestion:"),c=i.add(this._markdownRendererService.render(new dt().appendText(l).appendCodeblock("text",d),{context:this._editor,asyncRenderCallback:()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}}));r.replaceChildren(c.element)};return i.add(se(d=>{let l=t.controller.model.read(d)?.primaryGhostText.read(d);if(l){let c=this._editor.getModel().getLineContent(l.lineNumber);a(l.renderForScreenReader(c))}else Rs(r)})),e.fragment.appendChild(n),i}};kb=OW([Db(1,Zi),Db(2,j),Db(3,yi),Db(4,Li)],kb);var Rb=class{};$(Gt.ID,BM(Gt.hot),3);k(vb);k(_b);k(bb);k(Cb);k(Sb);k(wb);k(yb);k(Ib);k(Du);k(xb);pe(Lb);k(Eb);pe(bT);pe(vT);po.register(kb);wl.register(new Rb);var AW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},YI=function(s,e){return function(t,i){e(t,i,s)}},ku,jl=class{static{ku=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(e,t,i,o){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=o,this.toUnhook=new M,this.toUnhookForKeyboard=new M,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();let n=new Tn(e);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(n.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{ae(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(n.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(ku.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(t=>{t&&(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 i=e.target.position;this.startFindDefinition(i)}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 i=new tm(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=je(r=>this.findDefinition(e,r));let o;try{o=await this.previousPromise}catch(r){ae(r);return}if(!o||!o.length||!i.validate(this.editor)){this.removeLinkDecorations();return}let n=o[0].originSelectionRange?C.lift(o[0].originSelectionRange):new C(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(o.length>1){let r=n;for(let{originSelectionRange:a}of o)a&&(r=C.plusRange(r,a));this.addDecoration(r,new dt().appendText(p(1135,"Click to show {0} definitions.",o.length)))}else{let r=o[0];return r.uri?this.textModelResolverService.createModelReference(r.uri).then(a=>{if(!a.object||!a.object.textEditorModel){a.dispose();return}let{object:{textEditorModel:d}}=a,{startLineNumber:l}=r.range;if(l<1||l>d.getLineCount()){a.dispose();return}let c=this.getPreviewValue(d,l,r),h=this.languageService.guessLanguageIdByFilepathOrFirstLine(d.uri);this.addDecoration(n,c?new dt().appendCodeblock(h||"",c):void 0),a.dispose()}):void 0}}getPreviewValue(e,t,i){let o=i.range;return o.endLineNumber-o.startLineNumber>=ku.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(e,t)),o=e.validateRange(o),this.stripIndentationFromPreviewRange(e,t,o)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){let d=e.getLineFirstNonWhitespaceColumn(a);n=Math.min(n,d)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${n-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){let i=e.getLineFirstNonWhitespaceColumn(t),o=Math.min(e.getLineCount(),t+ku.MAX_SOURCE_PREVIEW_LINES),n=t+1;for(;n<o;n++){let r=e.getLineFirstNonWhitespaceColumn(n);if(i===r)break}return new C(t,1,n+1,1)}addDecoration(e,t){let i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}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 vd)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){let i=this.editor.getModel();return i?qr(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}async gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{let o=!t&&this.editor.getOption(101)&&!this.isInPeekEditor(i);return new ir({openToSide:t,openInPeek:o,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){let t=e.get(J);return qt.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};jl=ku=AW([YI(1,St),YI(2,si),YI(3,V)],jl);$(jl.ID,jl,2);var FW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},QN=function(s,e){return function(t,i){e(t,i,s)}},Tb=class extends D{static{this.ID="editor.contrib.markerSelectionStatus"}constructor(e,t,i){super(),this._editor=e,this._markerService=i,this._ctxHasDiagnostics=w.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(o=>{let n=this._editor.getModel();n&&o.some(r=>$i(r,n.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 o=this._markerService.read({resource:e.uri,severities:Et.Error|Et.Warning|Et.Info}).some(n=>C.areIntersecting({startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.endColumn},t));this._ctxHasDiagnostics.set(o)}};Tb=FW([QN(1,J),QN(2,js)],Tb);$(Tb.ID,Tb,1);var XI=class extends A{constructor(){super({id:"editor.action.debugEditorGpuRenderer",label:I(1159,"Developer: Debug Editor GPU Renderer"),precondition:O.true()})}async run(e,t){let i=e.get(j),n=await e.get(At).pick([{label:p(1156,"Log Texture Atlas Stats"),id:"logTextureAtlasStats"},{label:p(1157,"Save Texture Atlas"),id:"saveTextureAtlas"},{label:p(1158,"Draw Glyph"),id:"drawGlyph"}],{canPickMany:!1});if(n)switch(n.id){case"logTextureAtlasStats":i.invokeFunction(r=>{let a=r.get(gt),d=fd.atlas;if(!fd.atlas){a.error("No texture atlas found");return}let l=d.getStats();a.info(["Texture atlas stats",...l].join(`
|
|
61
|
+
|
|
62
|
+
`))});break;case"saveTextureAtlas":i.invokeFunction(async r=>{let a=r.get(Eo),d=r.get(Nx),l=a.getWorkspace().folders;if(l.length>0){let c=fd.atlas,h=[];for(let[u,g]of c.pages.entries())h.push(d.writeFile(ge.joinPath(l[0].uri,`textureAtlasPage${u}_actual.png`),qa.wrap(new Uint8Array(await(await g.source.convertToBlob()).arrayBuffer()))),d.writeFile(ge.joinPath(l[0].uri,`textureAtlasPage${u}_usage.png`),qa.wrap(new Uint8Array(await(await g.getUsagePreview()).arrayBuffer()))));await Promise.all(h)}});break;case"drawGlyph":i.invokeFunction(async r=>{let a=r.get(re),d=r.get(Nx),l=r.get(At),h=r.get(Eo).getWorkspace().folders;if(h.length===0)return;let u=fd.atlas,g=a.getValue("editor.fontFamily"),m=a.getValue("editor.fontSize"),f=new Qk(m,g,ks().devicePixelRatio,fd.decorationStyleCache),_=await l.input({prompt:"Enter a character to draw (prefix with 0x for code point))"});if(!_)return;let b=_.match(/0x(?<codePoint>[0-9a-f]+)/i)?.groups?.codePoint;b!==void 0&&(_=String.fromCodePoint(parseInt(b,16)));let v=0,L=u.getGlyph(f,_,v,0,0);if(!L)return;let E=u.pages[L.pageIndex].source.getContext("2d")?.getImageData(L.x,L.y,L.w,L.h);if(!E)return;let S=new OffscreenCanvas(E.width,E.height);Xk(S.getContext("2d")).putImageData(E,0,0);let T=await S.convertToBlob({type:"image/png"}),N=ge.joinPath(h[0].uri,`glyph_${_}_${v}_${m}px_${g.replaceAll(/[,\\\/\.'\s]/g,"_")}.png`);await d.writeFile(N,qa.wrap(new Uint8Array(await T.arrayBuffer())))});break}}};k(XI);var Jo;(function(s){s.NoAutoFocus="noAutoFocus",s.FocusIfVisible="focusIfVisible",s.AutoFocusImmediately="autoFocusImmediately"})(Jo||(Jo={}));var Mb=class extends A{constructor(){super({id:Lp,label:I(1165,"Show or Focus Hover"),metadata:{description:I(1166,"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:[Jo.NoAutoFocus,Jo.FocusIfVisible,Jo.AutoFocusImmediately],enumDescriptions:[p(1162,"The hover will not automatically take focus."),p(1163,"The hover will take focus only if it is already visible."),p(1164,"The hover will automatically take focus when it appears.")],default:Jo.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:Xe(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;let o=Ft.get(t);if(!o)return;let n=i?.focus,r=Jo.FocusIfVisible;Object.values(Jo).includes(n)?r=n:typeof n=="boolean"&&n&&(r=Jo.AutoFocusImmediately);let a=l=>{let c=t.getPosition(),h=new C(c.lineNumber,c.column,c.lineNumber,c.column);o.showContentHover(h,1,2,l)},d=t.getOption(2)===2;o.isHoverVisible?r!==Jo.NoAutoFocus?o.focus():a(d):a(d||r===Jo.AutoFocusImmediately)}},Nb=class extends A{constructor(){super({id:v1,label:I(1167,"Show Definition Preview Hover"),precondition:void 0,metadata:{description:I(1168,"Show the definition preview hover in the editor.")}})}run(e,t){let i=Ft.get(t);if(!i)return;let o=t.getPosition();if(!o)return;let n=new C(o.lineNumber,o.column,o.lineNumber,o.column),r=jl.get(t);if(!r)return;r.startFindDefinitionFromCursor(o).then(()=>{i.showContentHover(n,1,2,!0)})}},Pb=class extends A{constructor(){super({id:C1,label:I(1169,"Hide Hover"),alias:"Hide Content Hover",precondition:void 0})}run(e,t){Ft.get(t)?.hideContentHover()}},Ob=class extends A{constructor(){super({id:S1,label:I(1170,"Scroll Up Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:16,weight:100},metadata:{description:I(1171,"Scroll up the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.scrollUp()}},Ab=class extends A{constructor(){super({id:w1,label:I(1172,"Scroll Down Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:18,weight:100},metadata:{description:I(1173,"Scroll down the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.scrollDown()}},Fb=class extends A{constructor(){super({id:y1,label:I(1174,"Scroll Left Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:15,weight:100},metadata:{description:I(1175,"Scroll left the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.scrollLeft()}},Hb=class extends A{constructor(){super({id:x1,label:I(1176,"Scroll Right Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:17,weight:100},metadata:{description:I(1177,"Scroll right the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.scrollRight()}},Wb=class extends A{constructor(){super({id:I1,label:I(1178,"Page Up Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:I(1179,"Page up the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.pageUp()}},Bb=class extends A{constructor(){super({id:L1,label:I(1180,"Page Down Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:I(1181,"Page down the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.pageDown()}},Vb=class extends A{constructor(){super({id:E1,label:I(1182,"Go To Top Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:I(1183,"Go to the top of the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.goToTop()}},zb=class extends A{constructor(){super({id:D1,label:I(1184,"Go To Bottom Hover"),precondition:w.hoverFocused,kbOpts:{kbExpr:w.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:I(1185,"Go to the bottom of the editor hover.")}})}run(e,t){let i=Ft.get(t);i&&i.goToBottom()}},Ub=class extends A{constructor(){super({id:sa,label:k1,alias:"Increase Hover Verbosity Level",precondition:w.hoverVisible})}run(e,t,i){let o=Ft.get(t);if(!o)return;let n=i?.index!==void 0?i.index:o.focusedHoverPartIndex();o.updateHoverVerbosityLevel(Fi.Increase,n,i?.focus)}},jb=class extends A{constructor(){super({id:aa,label:R1,alias:"Decrease Hover Verbosity Level",precondition:w.hoverVisible})}run(e,t,i){let o=Ft.get(t);if(!o)return;let n=i?.index!==void 0?i.index:o.focusedHoverPartIndex();Ft.get(t)?.updateHoverVerbosityLevel(Fi.Decrease,n,i?.focus)}};var HW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ru=function(s,e){return function(t,i){e(t,i,s)}},Oo=W,QI=class{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},JN={type:1,filter:{include:Ve.QuickFix},triggerAction:Kt.QuickFixHover},Kb=class{constructor(e,t,i,o,n,r){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=o,this._menuService=n,this._contextKeyService=r,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];let i=this._editor.getModel(),o=e.range;if(!i.isValidRange(e.range))return[];let n=o.startLineNumber,r=i.getLineMaxColumn(n),a=[];for(let d of t){let l=d.range.startLineNumber===n?d.range.startColumn:1,c=d.range.endLineNumber===n?d.range.endColumn:r,h=this._markerDecorationsService.getMarker(i.uri,d);if(!h)continue;let u=new C(e.range.startLineNumber,l,e.range.startLineNumber,c);a.push(new QI(this,u,h))}return a}renderHoverParts(e,t){if(!t.length)return new to([]);let i=[];t.forEach(r=>{let a=this._renderMarkerHover(r);e.fragment.appendChild(a.hoverElement),i.push(a)});let o=t.length===1?t[0]:t.sort((r,a)=>Et.compare(r.marker.severity,a.marker.severity))[0],n=this._renderMarkerStatusbar(e,o);return new to(i,n)}getAccessibleContent(e){let{marker:t}=e,i=wt(t.relatedInformation)?t.relatedInformation.map(o=>`${ei(o.resource)}(${o.startLineNumber}, ${o.startColumn}): ${o.message}`).join(`
|
|
63
|
+
`):void 0;return[t.message,i].filter(o=>!!o).join(`
|
|
64
|
+
`)}_renderMarkerHover(e){let t=new M,i=Oo("div.hover-row"),o=U(i,Oo("div.marker.hover-contents")),{source:n,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(o);let l=U(o,Oo("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=r,n||a)if(a&&typeof a!="string"){let h=Oo("span");if(n){let f=U(h,Oo("span"));f.innerText=n}let u=U(h,Oo("a.code-link"));u.setAttribute("href",a.target.toString(!0)),t.add(Z(u,"click",f=>{this._openerService.open(a.target),f.preventDefault(),f.stopPropagation()}));let g=U(u,Oo("span"));g.innerText=a.value;let m=U(o,h);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{let h=U(o,Oo("span"));h.style.opacity="0.6",h.style.paddingLeft="6px",h.innerText=n&&a?`${n}(${a})`:n||`(${a})`}if(wt(d))for(let{message:h,resource:u,startLineNumber:g,startColumn:m}of d){let f=U(o,Oo("div"));f.style.marginTop="8px";let _=U(f,Oo("a"));_.innerText=`${ei(u)}(${g}, ${m}): `,_.style.cursor="pointer",t.add(Z(_,"click",v=>{if(v.stopPropagation(),v.preventDefault(),this._openerService){let y={selection:{startLineNumber:g,startColumn:m}};this._openerService.open(u,{fromUserGesture:!0,editorOptions:y}).catch(ae)}}));let b=U(f,Oo("span"));b.innerText=h,this._editor.applyFontInfo(b)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}_renderMarkerStatusbar(e,t){let i=new M;if(t.marker.severity===Et.Error||t.marker.severity===Et.Warning||t.marker.severity===Et.Info){let r=Jr.get(this._editor);r&&e.statusBar.addAction({label:p(1195,"View Problem"),commandId:ba.ID,run:()=>{e.hide(),r.showAtMarker(t.marker),this._editor.focus()}})}let o=[];for(let[,r]of this._menuService.getMenuActions(q.MarkerHoverStatusBar,this._contextKeyService))for(let a of r)a instanceof xo&&a.enabled&&o.push(a);let n=()=>{for(let r of o)e.statusBar.addAction({label:r.label,commandId:r.id,iconClass:r.class,run:()=>{e.hide(),this._editor.setSelection(C.lift(t.range)),r.run()}})};if(this._editor.getOption(104))n();else{let r=e.statusBar.append(Oo("div"));this.recentMarkerCodeActionsInfo&&(KC.makeKey(this.recentMarkerCodeActionsInfo.marker)===KC.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||o.length===0&&(r.textContent=p(1196,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);let a=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?D.None:Zt(()=>r.textContent=p(1197,"Checking for quick fixes..."),200,i);r.textContent||(r.textContent="\xA0");let d=this.getCodeActions(t.marker);i.add(ce(()=>d.cancel())),d.then(l=>{if(a.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:l.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){l.dispose(),o.length===0?r.textContent=p(1198,"No quick fixes available"):r.style.display="none",n();return}r.style.display="none";let c=!1;i.add(ce(()=>{c||l.dispose()})),e.statusBar.addAction({label:p(1199,"Quick Fix..."),commandId:Ur,run:u=>{c=!0;let g=wn.get(this._editor),m=tt(u);g?.showCodeActions(JN,l,{x:m.left,y:m.top,width:m.width,height:m.height})}});let h=l.validActions.find(u=>u.action.isAI);h?e.statusBar.addAction({label:h.action.title,commandId:h.action.command?.id??"",iconClass:ne.asClassName(B.sparkle),run:()=>{wn.get(this._editor)?.applyCodeAction(h,!1,!1,Sn.FromProblemsHover)}}):n(),e.onContentsChanged()},ae)}return i}getCodeActions(e){return je(t=>jr(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new C(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),JN,go.None,t))}};Kb=HW([Ru(1,hk),Ru(2,mo),Ru(3,V),Ru(4,Gi),Ru(5,J)],Kb);var qb=class{constructor(e){this._editor=e}computeSync(e){let t=r=>({value:r}),i=this._editor.getLineDecorations(e.lineNumber),o=[],n=e.laneOrLine==="lineNo";if(!i)return o;for(let r of i){let a=r.options.glyphMargin?.position??gc.Center;if(!n&&a!==e.laneOrLine)continue;let d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Nr(d)||o.push(...dg(d).map(t))}return o}};var WW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},BW=function(s,e){return function(t,i){e(t,i,s)}},JI,eP=W,Gb=class extends D{static{JI=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(e,t){super(),this._markdownRendererService=t,this.allowEditorOverflow=!0,this._renderDisposeables=this._register(new M),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new om(!0)),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._hoverOperation=this._register(new Ud(this._editor,new qb(this._editor))),this._register(this._hoverOperation.onResult(i=>this._withResult(i))),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(59)&&this._updateFont()})),this._register(Xt(this._hover.containerDomNode,"mouseleave",i=>{this._onMouseLeave(i)})),this._editor.addOverlayWidget(this)}dispose(){this._hoverComputerOptions=void 0,this._editor.removeOverlayWidget(this),super.dispose()}getId(){return JI.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_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):!1}_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,i){this._renderDisposeables.clear();let o=document.createDocumentFragment();for(let n of i){let r=eP("div.hover-row.markdown-hover"),a=U(r,eP("div.hover-contents")),d=this._renderDisposeables.add(this._markdownRendererService.render(n.value,{context:this._editor}));a.appendChild(d.element),o.appendChild(r)}this._updateContents(o),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 i=this._editor.getLayoutInfo(),o=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),r=this._editor.getOption(75),a=this._hover.containerDomNode.clientHeight,d=o-n-(a-r)/2,l=i.glyphMarginLeft+i.glyphMarginWidth+(t==="lineNo"?i.lineNumbersWidth:0),h=i.height-a,u=Math.max(0,Math.min(Math.round(d),h));if(this._editor.getOption(51)){let m=this._editor.getDomNode();if(m){let f=tt(m);this._hover.containerDomNode.style.position="fixed",this._hover.containerDomNode.style.left=`${f.left+l}px`,this._hover.containerDomNode.style.top=`${f.top+u}px`}}else this._hover.containerDomNode.style.position="absolute",this._hover.containerDomNode.style.left=`${l}px`,this._hover.containerDomNode.style.top=`${u}px`;this._hover.containerDomNode.style.zIndex="11"}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Gr(t,e.x,e.y))&&this.hide()}};Gb=JI=WW([BW(1,Li)],Gb);var VW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zW=function(s,e){return function(t,i){e(t,i,s)}},Tu=class extends D{static{this.ID="editor.contrib.marginHover"}constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new M,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Ae(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.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.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this.hideGlyphHover()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_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?Gr(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,i=this._isMouseOnGlyphHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){if(!e)return;if(!Mp(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"&&th(this._editor.getOption(86),e)&&this._mouseMoveEvent){this._tryShowHoverWidget(this._mouseMoveEvent);return}eg(e.keyCode)||this.hideGlyphHover()}}hideGlyphHover(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(Gb,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};Tu=VW([zW(1,j)],Tu);var $b=class{},Zb=class{},Yb=class{};$(Ft.ID,Ft,2);$(Tu.ID,Tu,2);k(Mb);k(Nb);k(Pb);k(Ob);k(Ab);k(Fb);k(Hb);k(Wb);k(Bb);k(Vb);k(zb);k(Ub);k(jb);po.register(Zr);po.register(Kb);ve.registerCommand(Jc,s=>{s.get(re).updateValue("editor.hover.showLongLineWarning",!1)});gn((s,e)=>{let t=s.getColor(ud);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});wl.register(new $b);wl.register(new Zb);wl.register(new Yb);function eL(s,e,t,i){if(s.getLineCount()===1&&s.getLineMaxColumn(1)===1)return[];let o=e.getLanguageConfiguration(s.getLanguageId()).indentRulesSupport;if(!o)return[];let n=new G0(s,o,e);for(i=Math.min(i,s.getLineCount());t<=i&&n.shouldIgnore(t);)t++;if(t>i-1)return[];let{tabSize:r,indentSize:a,insertSpaces:d}=s.getOptions(),l=(f,_)=>(_=_||1,qn.shiftIndent(f,f.length+_,r,a,d)),c=(f,_)=>(_=_||1,qn.unshiftIndent(f,f.length+_,r,a,d)),h=[],u=s.getLineContent(t),g=vt(u),m=g;n.shouldIncrease(t)?(m=l(m),g=l(g)):n.shouldIndentNextLine(t)&&(m=l(m)),t++;for(let f=t;f<=i;f++){if(UW(s,f))continue;let _=s.getLineContent(f),b=vt(_),v=m;n.shouldDecrease(f,v)&&(m=c(m),g=c(g)),b!==m&&h.push(Ge.replaceMove(new Q(f,1,f,b.length+1),W0(m,a,d))),!n.shouldIgnore(f)&&(n.shouldIncrease(f,v)?(g=l(g),m=g):n.shouldIndentNextLine(f,v)?m=l(m):m=g)}return h}function UW(s,e){return s.tokenization.isCheapToTokenize(e)?s.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var jW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},KW=function(s,e){return function(t,i){e(t,i,s)}},tL=class s extends A{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:s.ID,label:I(1204,"Convert Indentation to Spaces"),precondition:w.writable,metadata:{description:I(1205,"Convert the tab indentation to spaces.")}})}run(e,t){let i=t.getModel();if(!i)return;let o=i.getOptions(),n=t.getSelection();if(!n)return;let r=new cL(n,o.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}},iL=class s extends A{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:s.ID,label:I(1206,"Convert Indentation to Tabs"),precondition:w.writable,metadata:{description:I(1207,"Convert the spaces indentation to tabs.")}})}run(e,t){let i=t.getModel();if(!i)return;let o=i.getOptions(),n=t.getSelection();if(!n)return;let r=new hL(n,o.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}},Mu=class extends A{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){let i=e.get(At),o=e.get(Ct),n=t.getModel();if(!n)return;let r=o.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),a=n.getOptions(),d=[1,2,3,4,5,6,7,8].map(c=>({id:c.toString(),label:c.toString(),description:c===r.tabSize&&c===a.tabSize?p(1200,"Configured Tab Size"):c===r.tabSize?p(1201,"Default Tab Size"):c===a.tabSize?p(1202,"Current Tab Size"):void 0})),l=Math.min(n.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:p(1203,"Select Tab Size for Current File"),activeItem:d[l]}).then(c=>{if(c&&n&&!n.isDisposed()){let h=parseInt(c.label,10);this.displaySizeOnly?n.updateOptions({tabSize:h}):n.updateOptions({tabSize:h,indentSize:h,insertSpaces:this.insertSpaces})}})},50)}},oL=class s extends Mu{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:s.ID,label:I(1208,"Indent Using Tabs"),precondition:void 0,metadata:{description:I(1209,"Use indentation with tabs.")}})}},nL=class s extends Mu{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:s.ID,label:I(1210,"Indent Using Spaces"),precondition:void 0,metadata:{description:I(1211,"Use indentation with spaces.")}})}},rL=class s extends Mu{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:s.ID,label:I(1212,"Change Tab Display Size"),precondition:void 0,metadata:{description:I(1213,"Change the space size equivalent of the tab.")}})}},sL=class s extends A{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:s.ID,label:I(1214,"Detect Indentation from Content"),precondition:void 0,metadata:{description:I(1215,"Detect the indentation from content.")}})}run(e,t){let i=e.get(Ct),o=t.getModel();if(!o)return;let n=i.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget);o.detectIndentation(n.insertSpaces,n.tabSize)}},aL=class extends A{constructor(){super({id:"editor.action.reindentlines",label:I(1216,"Reindent Lines"),precondition:w.writable,metadata:{description:I(1217,"Reindent the lines of the editor.")},canTriggerInlineEdits:!0})}run(e,t){let i=e.get(We),o=t.getModel();if(!o)return;let n=eL(o,i,1,o.getLineCount());n.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,n),t.pushUndoStop())}},dL=class extends A{constructor(){super({id:"editor.action.reindentselectedlines",label:I(1218,"Reindent Selected Lines"),precondition:w.writable,metadata:{description:I(1219,"Reindent the selected lines of the editor.")},canTriggerInlineEdits:!0})}run(e,t){let i=e.get(We),o=t.getModel();if(!o)return;let n=t.getSelections();if(n===null)return;let r=[];for(let a of n){let d=a.startLineNumber,l=a.endLineNumber;if(d!==l&&a.endColumn===1&&l--,d===1){if(d===l)continue}else d--;let c=eL(o,i,d,l);r.push(...c)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}},lL=class{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(let i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(let o of this._edits)t.addEditOperation(C.lift(o.range),o.text);let i=!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?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}},Xb=class{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new M,this.callOnModel=new M,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 i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||!this.editor.getOption(18)&&qW(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;let n=this.editor.getOption(16),{tabSize:r,indentSize:a,insertSpaces:d}=i.getOptions(),l=[],c={shiftIndent:m=>qn.shiftIndent(m,m.length+1,r,a,d),unshiftIndent:m=>qn.unshiftIndent(m,m.length+1,r,a,d)},h=e.startLineNumber,u=i.getLineContent(h);if(!/\S/.test(u.substring(0,e.startColumn-1))){let m=Ms(n,i,i.getLanguageId(),h,c,this._languageConfigurationService);if(m!==null){let f=vt(u),_=mi(m,r),b=mi(f,r);if(_!==b){let v=va(_,r,d);l.push({range:new C(h,1,h,f.length+1),text:v}),u=v+u.substring(f.length)}else{let v=_g(i,h,this._languageConfigurationService);if(v===0||v===8)return}}}let g=h;for(;h<e.endLineNumber;){if(!/\S/.test(i.getLineContent(h+1))){h++;continue}break}if(h!==e.endLineNumber){let f=Ms(n,{tokenization:{getLineTokens:_=>i.tokenization.getLineTokens(_),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(_,b)=>i.getLanguageIdAtPosition(_,b)},getLineContent:_=>_===g?u:i.getLineContent(_)},i.getLanguageId(),h+1,c,this._languageConfigurationService);if(f!==null){let _=mi(f,r),b=mi(vt(i.getLineContent(h+1)),r);if(_!==b){let v=_-b;for(let y=h+1;y<=e.endLineNumber;y++){let L=i.getLineContent(y),E=vt(L),x=mi(E,r)+v,T=va(x,r,d);T!==E&&l.push({range:new C(y,1,y,E.length+1),text:T})}}}}if(l.length>0){this.editor.pushUndoStop();let m=new lL(l,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",m),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){let i=n=>n.trim().length===0,o=!0;if(t.startLineNumber===t.endLineNumber){let r=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);o=i(r)}else for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let r=e.getLineContent(n);if(n===t.startLineNumber){let a=r.substring(t.startColumn-1);o=i(a)}else if(n===t.endLineNumber){let a=r.substring(0,t.endColumn-1);o=i(a)}else o=e.getLineFirstNonWhitespaceColumn(n)===0;if(!o)break}return o}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};Xb=jW([KW(1,We)],Xb);function qW(s,e){let t=i=>q0(s,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function tP(s,e,t,i){if(s.getLineCount()===1&&s.getLineMaxColumn(1)===1)return;let o="";for(let r=0;r<t;r++)o+=" ";let n=new RegExp(o,"gi");for(let r=1,a=s.getLineCount();r<=a;r++){let d=s.getLineFirstNonWhitespaceColumn(r);if(d===0&&(d=s.getLineMaxColumn(r)),d===1)continue;let l=new C(r,1,r,d),c=s.getValueInRange(l),h=i?c.replace(/\t/ig,o):c.replace(n," ");e.addEditOperation(l,h)}}var cL=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),tP(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}},hL=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),tP(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}};$(Xb.ID,Xb,2);k(tL);k(iL);k(oL);k(nL);k(rL);k(sL);k(aL);k(dL);$(ha.ID,ha,1);po.register(ol);var Qb=class{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){let o=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Q(o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn),o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn)):new Q(o.endLineNumber,o.endColumn-this._text.length,o.endLineNumber,o.endColumn)}};var GW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},$W=function(s,e){return function(t,i){e(t,i,s)}},Jb,Kl=class{static{Jb=this}static{this.ID="editor.contrib.inPlaceReplaceController"}static get(e){return e.getContribution(Jb.ID)}static{this.DECORATION=ee.register({description:"in-place-replace",className:"valueSetReplacement"})}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){this.currentRequest?.cancel();let i=this.editor.getSelection(),o=this.editor.getModel();if(!o||!i)return;let n=i;if(n.startLineNumber!==n.endLineNumber)return;let r=new tm(this.editor,5),a=o.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=je(d=>this.editorWorkerService.navigateValueSet(a,n,t)),this.currentRequest.then(d=>{if(!d||!d.range||!d.value||!r.validate(this.editor))return;let l=C.lift(d.range),c=d.range,h=d.value.length-(n.endColumn-n.startColumn);c={startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.startColumn+d.value.length},h>1&&(n=new Q(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn+h-1));let u=new Qb(l,n,d.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,u),this.editor.pushUndoStop(),this.decorations.set([{range:c,options:Jb.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=yr(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(ae)}).catch(ae)):Promise.resolve(void 0)}};Kl=Jb=GW([$W(1,xi)],Kl);var uL=class extends A{constructor(){super({id:"editor.action.inPlaceReplace.up",label:I(1306,"Replace with Previous Value"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:3159,weight:100}})}run(e,t){let i=Kl.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}},gL=class extends A{constructor(){super({id:"editor.action.inPlaceReplace.down",label:I(1307,"Replace with Next Value"),precondition:w.writable,kbOpts:{kbExpr:w.editorTextFocus,primary:3161,weight:100}})}run(e,t){let i=Kl.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}};$(Kl.ID,Kl,4);k(uL);k(gL);var ev=class{constructor(e){this._selection=e,this._selectionId=null}getEditOperations(e,t){let i=ZW(e);i&&t.addEditOperation(i.range,i.text),this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function ZW(s){let e=s.getLineCount();return Ge.insert(new H(e,s.getLineMaxColumn(e)),s.getEOL())}var mL=class s extends A{static{this.ID="editor.action.insertFinalNewLine"}constructor(){super({id:s.ID,label:I(1308,"Insert Final New Line"),precondition:w.writable})}run(e,t,i){let o=t.getSelection();if(o===null)return;let n=new ev(o);t.pushUndoStop(),t.executeCommands(this.id,[n]),t.pushUndoStop()}};k(mL);var pL=class extends A{constructor(){super({id:"expandLineSelection",label:I(1309,"Expand Line Selection"),precondition:void 0,kbOpts:{weight:0,kbExpr:w.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;let o=t._getViewModel();o.model.pushStackElement(),o.setCursorStates(i.source,3,mc.expandLineSelection(o,o.getCursorStates())),o.revealAllCursors(i.source,!0)}};k(pL);var YW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},tv=function(s,e){return function(t,i){e(t,i,s)}},iv,iP=new te("LinkedEditingInputVisible",!1),XW="linked-editing-decoration",ql=class extends D{static{iv=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=ee.register({description:"linked-editing",stickiness:0,className:XW})}static get(e){return e.getContribution(iv.ID)}constructor(e,t,i,o,n){super(),this.languageConfigurationService=o,this._syncRangesToken=0,this._localToDispose=this._register(new M),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=iP.bindTo(t),this._debounceInformation=n.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 M),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(r=>{(r.hasChanged(78)||r.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(),i=t!==null&&(this._editor.getOption(78)||this._editor.getOption(106))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(De.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));let o=new Mi(this._debounceInformation.get(t)),n=()=>{this._rangeUpdateTriggerPromise=o.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Mi(0),a=d=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(d))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{n()})),this._localToDispose.add(this._editor.onDidChangeModelContent(d=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){let l=this._currentDecorations.getRange(0);if(l&&d.changes.every(c=>l.intersectRanges(c.range))){a(this._syncRangesToken);return}}n()})),this._localToDispose.add({dispose:()=>{o.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;let t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();let o=t.getValueInRange(i);if(this._currentWordPattern){let r=o.match(this._currentWordPattern);if((r?r[0].length:0)!==o.length)return this.clearRanges()}let n=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){let d=this._currentDecorations.getRange(r);if(d)if(d.startLineNumber!==d.endLineNumber)n.push({range:d,text:o});else{let l=t.getValueInRange(d),c=o,h=d.startColumn,u=d.endColumn,g=Fo(l,c);h+=g,l=l.substr(g),c=c.substr(g);let m=nc(l,c);u-=m,l=l.substr(0,l.length-m),c=c.substr(0,c.length-m),(h!==u||c.length!==0)&&n.push({range:new C(d.startLineNumber,h,d.endLineNumber,u),text:c})}}if(n.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;let r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",n),this._editor._getViewModel().setPrevEditOperationType(r)}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 i=this._editor.getModel(),o=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===o){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){let r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this._currentRequestPosition?.equals(t)||this._currentDecorations.getRange(0)?.containsPosition(t)||this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=o;let n=this._currentRequestCts=new Oe;try{let r=new kt(!1),a=await oP(this._providers,i,t,n.token);if(this._debounceInformation.update(i,r.elapsed()),n!==this._currentRequestCts||(this._currentRequestCts=null,o!==i.getVersionId()))return;let d=[];a?.ranges&&(d=a.ranges),this._currentWordPattern=a?.wordPattern||this._languageWordPattern;let l=!1;for(let h=0,u=d.length;h<u;h++)if(C.containsPosition(d[h],t)){if(l=!0,h!==0){let g=d[h];d.splice(h,1),d.unshift(g)}break}if(!l){this.clearRanges();return}let c=d.map(h=>({range:h,options:iv.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(c),this._syncRangesToken++}catch(r){oi(r)||ae(r),(this._currentRequestCts===n||!this._currentRequestCts)&&this.clearRanges()}}};ql=iv=YW([tv(1,J),tv(2,V),tv(3,We),tv(4,Mt)],ql);var fL=class extends A{constructor(){super({id:"editor.action.linkedEditing",label:I(1342,"Start Linked Editing"),precondition:O.and(w.writable,w.hasRenameProvider),kbOpts:{kbExpr:w.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){let i=e.get(Re),[o,n]=Array.isArray(t)&&t||[void 0,void 0];return ge.isUri(o)&&H.isIPosition(n)?i.openCodeEditor({resource:o},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(n),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},ae):super.runCommand(e,t)}run(e,t){let i=ql.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}},QW=at.bindToContribution(ql.get);X(new QW({id:"cancelLinkedEditingInput",precondition:iP,handler:s=>s.clearRanges(),kbOpts:{kbExpr:w.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function oP(s,e,t,i){let o=s.ordered(e);return ic(o.map(n=>async()=>{try{return await n.provideLinkedEditingRanges(e,t,i)}catch(r){Te(r);return}}),n=>!!n&&wt(n?.ranges))}K("editor.linkedEditingBackground",{dark:fe.fromHex("#f00").transparent(.3),light:fe.fromHex("#f00").transparent(.3),hcDark:fe.fromHex("#f00").transparent(.3),hcLight:fe.white},p(1341,"Background color when the editor auto renames on type."));Wt("_executeLinkedEditingProvider",(s,e,t)=>{let{linkedEditingRangeProvider:i}=s.get(V);return oP(i,e,t,oe.None)});$(ql.ID,ql,1);k(fL);var _L=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(new Error("missing")))):Promise.reject(new Error("missing"))}},ov=class s{static{this.Empty=new s([])}constructor(e){this._disposables=new M;let t=[];for(let[i,o]of e){let n=i.links.map(r=>new _L(r,o));t=s._union(t,n),Va(i)&&(this._disposables??=new M,this._disposables.add(i))}this.links=t}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(e,t){let i=[],o,n,r,a;for(o=0,r=0,n=e.length,a=t.length;o<n&&r<a;){let d=e[o],l=t[r];if(C.areIntersectingOrTouching(d.range,l.range)){o++;continue}C.compareRangesUsingStarts(d.range,l.range)<0?(i.push(d),o++):(i.push(l),r++)}for(;o<n;o++)i.push(e[o]);for(;r<a;r++)i.push(t[r]);return i}};async function bL(s,e,t){let i=[],o=s.ordered(e).reverse().map(async(r,a)=>{try{let d=await r.provideLinks(e,t);d&&(i[a]=[d,r])}catch(d){Te(d)}});await Promise.all(o);let n=new ov(vi(i));return t.isCancellationRequested&&(n.dispose(),n=ov.Empty),n}ve.registerCommand("_executeLinkProvider",async(s,...e)=>{let[t,i]=e;_e(t instanceof ge),typeof i!="number"&&(i=0);let{linkProvider:o}=s.get(V),n=s.get(Ct).getModel(t);if(!n)return[];let r=await bL(o,n,oe.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(oe.None);let a=r.links.slice(0);return r.dispose(),a});var JW=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},nv=function(s,e){return function(t,i){e(t,i,s)}},vL,Nu=class extends D{static{vL=this}static{this.ID="editor.linkDetector"}static get(e){return e.getContribution(vL.ID)}constructor(e,t,i,o,n){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=o,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=n.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new Ae(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let r=this._register(new Tn(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,d])=>{this._onEditorMouseMove(a,d)})),this._register(r.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(r.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(79)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{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(),this.activeLinksList=null),this.computePromise=je(t=>bL(this.providers,e,t));try{let t=new kt(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){ae(t)}finally{this.computePromise=null}}}updateDecorations(e){let t=this.editor.getOption(86)==="altKey",i=[],o=Object.keys(this.currentOccurrences);for(let r of o){let a=this.currentOccurrences[r];i.push(a.decorationId)}let n=[];if(e)for(let r of e)n.push(rv.decoration(r,t));this.editor.changeDecorations(r=>{let a=r.deltaDecorations(i,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let d=0,l=a.length;d<l;d++){let c=new rv(e[d],a[d]);this.currentOccurrences[c.decorationId]=c}})}_onEditorMouseMove(e,t){let i=this.editor.getOption(86)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();let o=this.getLinkOccurrence(e.target.position);o&&this.editor.changeDecorations(n=>{o.activate(n,i),this.activeLinkDecorationId=o.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(i=>{t.deactivate(i,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,i=!1){if(!this.openerService)return;let{link:o}=e;o.resolve(oe.None).then(n=>{if(typeof n=="string"&&this.editor.hasModel()){let r=this.editor.getModel().uri;if(r.scheme===_t.file&&n.startsWith(`${_t.file}:`)){let a=ge.parse(n);if(a.scheme===_t.file){let d=k0(a),l=null;d.startsWith("/./")||d.startsWith("\\.\\")?l=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(l=`.${d.substr(2)}`),l&&(n=M0(r,l))}}}return this.openerService.open(n,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},n=>{let r=n instanceof Error?n.message:n;r==="invalid"?this.notificationService.warn(p(1343,"Failed to open this link because it is not well-formed: {0}",o.url.toString())):r==="missing"?this.notificationService.warn(p(1344,"Failed to open this link because its target is missing.")):ae(n)})}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 i of t){let o=this.currentOccurrences[i.id];if(o)return o}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(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};Nu=vL=JW([nv(1,mo),nv(2,Je),nv(3,V),nv(4,Mt)],Nu);var nP={general:ee.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:ee.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})},rv=class s{static decoration(e,t){return{range:e.range,options:s._getOptions(e,t,!1)}}static _getOptions(e,t,i){let o={...i?nP.active:nP.general};return o.hoverMessage=e2(e,t),o}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,s._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,s._getOptions(this.link,t,!1))}};function e2(s,e){let t=s.url&&/^command:/i.test(s.url.toString()),i=s.tooltip?s.tooltip:t?p(1345,"Execute command"):p(1346,"Follow link"),o=e?Ki?p(1347,"cmd + click"):p(1348,"ctrl + click"):Ki?p(1349,"option + click"):p(1350,"alt + click");if(s.url){let n="";if(/^command:/i.test(s.url.toString())){let a=s.url.toString().match(/^command:([^?#]+)/);if(a){let d=a[1];n=p(1351,"Execute command {0}",d)}}return new dt("",!0).appendLink(s.url.toString(!0).replace(/ /g,"%20"),i,n).appendMarkdown(` (${o})`)}else return new dt().appendText(`${i} (${o})`)}var CL=class extends A{constructor(){super({id:"editor.action.openLink",label:I(1352,"Open Link"),precondition:void 0})}run(e,t){let i=Nu.get(t);if(!i||!t.hasModel())return;let o=t.getSelections();for(let n of o){let r=i.getLinkOccurrence(n.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}};$(Nu.ID,Nu,1);k(CL);var sv=class extends D{static{this.ID="editor.contrib.longLinesHelper"}constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{let i=this._editor.getOption(133);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};$(sv.ID,sv,2);var Pu=class extends D{static{this.ID="editor.contrib.middleScroll"}constructor(e){super(),this._editor=e;let t=ke(this._editor),i=t.getOption(172);this._register(se(o=>{if(!i.read(o))return;let n=t.domNode.read(o);if(!n)return;let r=o.store.add(i0("scrollingSession",void 0));o.store.add(this._editor.onMouseDown(d=>{if(r.read(void 0)){r.set(void 0,void 0);return}if(!d.event.middleButton)return;d.event.stopPropagation(),d.event.preventDefault();let c=new M,h=new Ii(d.event.posx,d.event.posy),g=t2(bt(n),h,c).map(_=>_.subtract(h).withThreshold(5)),m=n.getBoundingClientRect(),f=new Ii(h.x-m.left,h.y-m.top);r.set({mouseDeltaAfterThreshold:g,initialMousePosInEditor:f,didScroll:!1,dispose:()=>c.dispose()},void 0),c.add(this._editor.onMouseUp(_=>{let b=r.read(void 0);b&&b.didScroll&&r.set(void 0,void 0)})),c.add(this._editor.onKeyDown(_=>{r.set(void 0,void 0)}))})),o.store.add(se(d=>{let l=r.read(d);if(!l)return;let c=Date.now();d.store.add(se(u=>{Il.instance.invalidateOnNextAnimationFrame(u);let g=Date.now(),m=g-c;c=g;let f=l.mouseDeltaAfterThreshold.read(void 0),_=m/32,b=f.scale(_),v=new Ii(this._editor.getScrollLeft(),this._editor.getScrollTop());this._editor.setScrollPosition(i2(v.add(b))),b.isZero()||(l.didScroll=!0)}));let h=R(u=>{let g=l.mouseDeltaAfterThreshold.read(u),m="";return m+=g.y<0?"n":g.y>0?"s":"",m+=g.x<0?"w":g.x>0?"e":"",m});d.store.add(se(u=>{n.setAttribute("data-scroll-direction",h.read(u))}))}));let a=o.store.add(G.div({class:["scroll-editor-on-middle-click-dot",r.map(d=>d?"":"hidden")],style:{left:r.map(d=>d?d.initialMousePosInEditor.x:0),top:r.map(d=>d?d.initialMousePosInEditor.y:0)}}).toDisposableLiveElement());o.store.add(LR(n,a.element)),o.store.add(se(d=>{let l=r.read(d);n.classList.toggle("scroll-editor-on-middle-click-editor",!!l)}))}))}};function t2(s,e,t){let i=be("pos",e);return t.add(Z(s,"mousemove",o=>{i.set(new Ii(o.pageX,o.pageY),void 0)})),i}function i2(s){return{scrollLeft:s.x,scrollTop:s.y}}$(Pu.ID,Pu,2);var o2=K("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},p(1637,"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);K("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},p(1638,"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);K("editor.wordHighlightTextBackground",o2,p(1639,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);var n2=K("editor.wordHighlightBorder",{light:null,dark:null,hcDark:un,hcLight:un},p(1640,"Border color of a symbol during read-access, like reading a variable."));K("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:un,hcLight:un},p(1641,"Border color of a symbol during write-access, like writing to a variable."));K("editor.wordHighlightTextBorder",n2,p(1642,"Border color of a textual occurrence for a symbol."));var r2=K("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",p(1643,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),s2=K("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",p(1644,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),a2=K("editorOverviewRuler.wordHighlightTextForeground",yC,p(1645,"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),d2=ee.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ot(s2),position:Ai.Center},minimap:{color:ot(yc),position:1}}),l2=ee.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ot(a2),position:Ai.Center},minimap:{color:ot(yc),position:1}}),c2=ee.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ot(yC),position:Ai.Center},minimap:{color:ot(yc),position:1}}),h2=ee.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),u2=ee.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ot(r2),position:Ai.Center},minimap:{color:ot(yc),position:1}});function rP(s){return s===od.Write?d2:s===od.Text?l2:u2}function sP(s){return s?h2:c2}gn((s,e)=>{let t=s.getColor(xk);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var g2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},m2=function(s,e){return function(t,i){e(t,i,s)}},SL;function ps(s,e){let t=e.filter(i=>!s.find(o=>o.equals(i)));if(t.length>=1){let i=t.map(n=>`line ${n.viewState.position.lineNumber} column ${n.viewState.position.column}`).join(", "),o=t.length===1?p(1354,"Cursor added: {0}",i):p(1355,"Cursors added: {0}",i);Oi(o)}}var wL=class extends A{constructor(){super({id:"editor.action.insertCursorAbove",label:I(1364,"Add Cursor Above"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"3_multi",title:p(1356,"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let o=!0;i&&i.logicalLine===!1&&(o=!1);let n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();let r=n.getCursorStates();n.setCursorStates(i.source,3,mc.addCursorUp(n,r,o)),n.revealTopMostCursor(i.source),ps(r,n.getCursorStates())}},yL=class extends A{constructor(){super({id:"editor.action.insertCursorBelow",label:I(1365,"Add Cursor Below"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"3_multi",title:p(1357,"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let o=!0;i&&i.logicalLine===!1&&(o=!1);let n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();let r=n.getCursorStates();n.setCursorStates(i.source,3,mc.addCursorDown(n,r,o)),n.revealBottomMostCursor(i.source),ps(r,n.getCursorStates())}},xL=class extends A{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:I(1366,"Add Cursors to Line Ends"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"3_multi",title:p(1358,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let o=e.startLineNumber;o<e.endLineNumber;o++){let n=t.getLineMaxColumn(o);i.push(new Q(o,n,o,n))}e.endColumn>1&&i.push(new Q(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;let i=t.getModel(),o=t.getSelections(),n=t._getViewModel(),r=n.getCursorStates(),a=[];o.forEach(d=>this.getCursorsForSelection(d,i,a)),a.length>0&&t.setSelections(a),ps(r,n.getCursorStates())}},IL=class extends A{constructor(){super({id:"editor.action.addCursorsToBottom",label:I(1367,"Add Cursors to Bottom"),precondition:void 0})}run(e,t){if(!t.hasModel())return;let i=t.getSelections(),o=t.getModel().getLineCount(),n=[];for(let d=i[0].startLineNumber;d<=o;d++)n.push(new Q(d,i[0].startColumn,d,i[0].endColumn));let r=t._getViewModel(),a=r.getCursorStates();n.length>0&&t.setSelections(n),ps(a,r.getCursorStates())}},LL=class extends A{constructor(){super({id:"editor.action.addCursorsToTop",label:I(1368,"Add Cursors to Top"),precondition:void 0})}run(e,t){if(!t.hasModel())return;let i=t.getSelections(),o=[];for(let a=i[0].startLineNumber;a>=1;a--)o.push(new Q(a,i[0].startColumn,a,i[0].endColumn));let n=t._getViewModel(),r=n.getCursorStates();o.length>0&&t.setSelections(o),ps(r,n.getCursorStates())}},Gl=class{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}},av=class s{static create(e,t){if(!e.hasModel())return null;let i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new s(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let o=!1,n,r,a=e.getSelections();a.length===1&&a[0].isEmpty()?(o=!0,n=!0,r=!0):(n=i.wholeWord,r=i.matchCase);let d=e.getSelection(),l,c=null;if(d.isEmpty()){let h=e.getConfiguredWordAtPosition(d.getStartPosition());if(!h)return null;l=h.word,c=new Q(d.startLineNumber,h.startColumn,d.startLineNumber,h.endColumn)}else l=e.getModel().getValueInRange(d).replace(/\r\n/g,`
|
|
65
|
+
`);return new s(e,t,o,l,n,r,c)}constructor(e,t,i,o,n,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=o,this.wholeWord=n,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();if(!e)return null;let t=this._editor.getSelections();return new Gl(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();if(!e)return null;let t=this._editor.getSelections();return new Gl(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let o=this.currentMatch;return this.currentMatch=null,o}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return i?new Q(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();if(!e)return null;let t=this._editor.getSelections();return new Gl(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();if(!e)return null;let t=this._editor.getSelections();return new Gl(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let o=this.currentMatch;return this.currentMatch=null,o}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return i?new Q(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.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)}},$l=class s extends D{static{this.ID="editor.contrib.multiCursorController"}static get(e){return e.getContribution(s.ID)}constructor(e){super(),this._sessionDispose=this._register(new M),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){let t=av.create(this._editor,e);if(!t)return;this._session=t;let i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(o=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(o=>{(o.matchCase||o.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){let e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!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 i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Q(t.startLineNumber,i.startColumn,t.startLineNumber,i.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 o=e.getState().matchCase;if(!dP(this._editor.getModel(),t,o)){let r=this._editor.getModel(),a=[];for(let d=0,l=t.length;d<l;d++)a[d]=this._expandEmptyToWord(r,t[d]);this._editor.setSelections(a);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,i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){let o=this._editor.getModel();i.searchScope?t=o.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(148):null,!1,1073741824):t=o.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){let o=this._editor.getSelection();for(let n=0,r=t.length;n<r;n++){let a=t[n];if(a.range.intersectRanges(o)){t[n]=t[0],t[0]=a;break}}this._setSelections(t.map(n=>new Q(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn)))}}},ms=class extends A{run(e,t){let i=$l.get(t);if(!i)return;let o=t._getViewModel();if(o){let n=o.getCursorStates(),r=gi.get(t);if(r)this._run(i,r);else{let a=e.get(j).createInstance(gi,t);this._run(i,a),a.dispose()}ps(n,o.getCursorStates())}}},EL=class extends ms{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:I(1369,"Add Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:2082,weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"3_multi",title:p(1359,"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}},DL=class extends ms{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:I(1370,"Add Selection to Previous Find Match"),precondition:void 0,menuOpts:{menuId:q.MenubarSelectionMenu,group:"3_multi",title:p(1360,"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}},kL=class extends ms{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:I(1371,"Move Last Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:Xe(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}},RL=class extends ms{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:I(1372,"Move Last Selection to Previous Find Match"),precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}},TL=class extends ms{constructor(){super({id:"editor.action.selectHighlights",label:I(1373,"Select All Occurrences of Find Match"),precondition:void 0,kbOpts:{kbExpr:w.focus,primary:3114,weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"3_multi",title:p(1361,"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}},ML=class extends ms{constructor(){super({id:"editor.action.changeAll",label:I(1374,"Change All Occurrences"),precondition:O.and(w.writable,w.editorTextFocus),kbOpts:{kbExpr:w.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}},NL=class{constructor(e,t,i,o,n){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=o,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._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(C.compareRangesUsingStarts)),this._cachedFindMatches}},dv=class extends D{static{SL=this}static{this.ID="editor.contrib.selectionHighlighter"}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 Ae(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(o=>{this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123)})),this._register(e.onDidChangeCursorSelection(o=>{this._isEnabled&&(o.selection.isEmpty()?o.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(o=>{this._setState(null)})),this._register(e.onDidChangeModelContent(o=>{this._isEnabled&&this.updateSoon.schedule()}));let i=gi.get(e);i&&this._register(i.getState().onFindReplaceStateChange(o=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(SL._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(e,t,i,o,n){if(!t||!n.hasModel())return null;if(!i){let h=n.getSelection();if(h.startLineNumber!==h.endLineNumber)return null}let r=$l.get(n);if(!r)return null;let a=gi.get(n);if(!a)return null;let d=r.getSession(a);if(!d){let h=n.getSelections();if(h.length>1){let g=a.getState().matchCase;if(!dP(n.getModel(),h,g))return null}d=av.create(n,a)}if(!d||d.currentMatch||/^[ \t]+$/.test(d.searchText)||o>0&&d.searchText.length>o)return null;let l=a.getState(),c=l.matchCase;if(l.isRevealed){let h=l.searchString;c||(h=h.toLowerCase());let u=d.searchText;if(c||(u=u.toLowerCase()),h===u&&d.matchCase===l.matchCase&&d.wholeWord===l.wholeWord&&!l.isRegex)return null}return new NL(n.getModel(),d.searchText,d.matchCase,d.wholeWord?n.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 i=this.state.findMatches(),o=this.editor.getSelections();o.sort(C.compareRangesUsingStarts);let n=[];for(let l=0,c=0,h=i.length,u=o.length;l<h;){let g=i[l];if(c>=u)n.push(g),l++;else{let m=C.compareRangesUsingStarts(g,o[c]);m<0?((o[c].isEmpty()||!C.areIntersecting(g,o[c]))&&n.push(g),l++):(m>0||l++,c++)}}let r=this.editor.getOption(90)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=n.map(l=>({range:l,options:sP(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}};dv=SL=g2([m2(1,V)],dv);function dP(s,e,t){let i=aP(s,e[0],!t);for(let o=1,n=e.length;o<n;o++){let r=e[o];if(r.isEmpty())return!1;let a=aP(s,r,!t);if(i!==a)return!1}return!0}function aP(s,e,t){let i=s.getValueInRange(e);return t?i.toLowerCase():i}var PL=class extends A{constructor(){super({id:"editor.action.focusNextCursor",label:I(1375,"Focus Next Cursor"),metadata:{description:p(1362,"Focuses the next cursor"),args:[]},precondition:void 0})}run(e,t,i){if(!t.hasModel())return;let o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();let n=Array.from(o.getCursorStates()),r=n.shift();r&&(n.push(r),o.setCursorStates(i.source,3,n),o.revealPrimaryCursor(i.source,!0),ps(n,o.getCursorStates()))}},OL=class extends A{constructor(){super({id:"editor.action.focusPreviousCursor",label:I(1376,"Focus Previous Cursor"),metadata:{description:p(1363,"Focuses the previous cursor"),args:[]},precondition:void 0})}run(e,t,i){if(!t.hasModel())return;let o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();let n=Array.from(o.getCursorStates()),r=n.pop();r&&(n.unshift(r),o.setCursorStates(i.source,3,n),o.revealPrimaryCursor(i.source,!0),ps(n,o.getCursorStates()))}};$($l.ID,$l,4);$(dv.ID,dv,1);k(wL);k(yL);k(xL);k(EL);k(DL);k(kL);k(RL);k(TL);k(ML);k(IL);k(LL);k(PL);k(OL);var br={Visible:new te("parameterHintsVisible",!1),MultipleSignatures:new te("parameterHintsMultipleSignatures",!1)};async function AL(s,e,t,i,o){let n=s.ordered(e);for(let r of n)try{let a=await r.provideSignatureHelp(e,t,o,i);if(a)return a}catch(a){Te(a)}}ve.registerCommand("_executeSignatureHelpProvider",async(s,...e)=>{let[t,i,o]=e;_e(ge.isUri(t)),_e(H.isIPosition(i)),_e(typeof o=="string"||!o);let n=s.get(V),r=await s.get(St).createModelReference(t);try{let a=await AL(n.signatureHelpProvider,r.object.textEditorModel,H.lift(i),{triggerKind:Wo.Invoke,isRetrigger:!1,triggerCharacter:o},oe.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var fs;(function(s){s.Default={type:0};class e{constructor(o,n){this.request=o,this.previouslyActiveHints=n,this.type=2}}s.Pending=e;class t{constructor(o){this.hints=o,this.type=1}}s.Active=t})(fs||(fs={}));var lv=class s extends D{static{this.DEFAULT_DELAY=120}constructor(e,t,i=s.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new z),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=fs.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new xe),this.triggerChars=new Ts,this.retriggerChars=new Ts,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=this._register(new Mi(i)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(o=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(o=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(o=>this.onCursorChange(o))),this._register(this.editor.onDidChangeModelContent(o=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(o=>this.onDidType(o))),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=fs.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){let i=this.editor.getModel();if(!i||!this.providers.has(i))return;let o=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(o),t).catch(ae)}next(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,o=this.editor.getOption(98).cycle;if((e<2||i)&&!o){this.cancel();return}this.updateActiveSignature(i&&o?0:t+1)}previous(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,o=this.editor.getOption(98).cycle;if((e<2||i)&&!o){this.cancel();return}this.updateActiveSignature(i&&o?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new fs.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,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;let o=this._pendingTriggers.reduce(p2);this._pendingTriggers=[];let n={triggerKind:o.triggerKind,triggerCharacter:o.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;let r=this.editor.getModel(),a=this.editor.getPosition();this.state=new fs.Pending(je(d=>AL(this.providers,r,a,n,d)),i);try{let d=await this.state.request;return e!==this.triggerId?(d?.dispose(),!1):!d||!d.value.signatures||d.value.signatures.length===0?(d?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new fs.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=fs.Default),ae(d),!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 i of t.signatureHelpTriggerCharacters||[])if(i.length){let o=i.charCodeAt(0);this.triggerChars.add(o),this.retriggerChars.add(o)}for(let i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;let t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:Wo.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:Wo.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Wo.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(98).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};function p2(s,e){switch(e.triggerKind){case Wo.Invoke:return e;case Wo.ContentChange:return s;case Wo.TriggerCharacter:default:return e}}var f2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},lP=function(s,e){return function(t,i){e(t,i,s)}},FL,ao=W,_2=qe("parameter-hints-next",B.chevronDown,p(1378,"Icon for show next parameter hint.")),b2=qe("parameter-hints-previous",B.chevronUp,p(1379,"Icon for show previous parameter hint.")),cv=class extends D{static{FL=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(e,t,i,o){super(),this.editor=e,this.model=t,this.markdownRendererService=o,this.renderDisposeables=this._register(new M),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=br.Visible.bindTo(i),this.keyMultipleSignatures=br.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){let e=ao(".editor-widget.parameter-hints-widget"),t=U(e,ao(".phwrapper"));t.tabIndex=-1;let i=U(t,ao(".controls")),o=U(i,ao(".button"+ne.asCSSSelector(b2))),n=U(i,ao(".overloads")),r=U(i,ao(".button"+ne.asCSSSelector(_2)));this._register(Z(o,"click",u=>{yt.stop(u),this.previous()})),this._register(Z(r,"click",u=>{yt.stop(u),this.next()}));let a=ao(".body"),d=new md(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());let l=U(a,ao(".signature")),c=U(a,ao(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:l,overloads:n,docs:c,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(u=>{this.visible&&this.editor.layoutContentWidget(this)}));let h=()=>{if(!this.domNodes)return;let u=this.editor.getOption(59),g=this.domNodes.element;g.style.fontSize=`${u.fontSize}px`,g.style.lineHeight=`${u.lineHeight/u.fontSize}`,g.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",u.fontFamily),g.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",dd.fontFamily)};h(),this._register(De.chain(this.editor.onDidChangeConfiguration.bind(this.editor),u=>u.filter(g=>g.hasChanged(59)))(h)),this._register(this.editor.onDidLayoutChange(u=>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 i=e.signatures[e.activeSignature];if(!i)return;let o=U(this.domNodes.signature,ao(".code")),n=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(n)this.renderParameters(o,i,r);else{let l=U(o,ao("span"));l.textContent=i.label}let a=i.parameters[r];if(a?.documentation){let l=ao("span.documentation");if(typeof a.documentation=="string")l.textContent=a.documentation;else{let c=this.renderMarkdownDocs(a.documentation);l.appendChild(c.element)}U(this.domNodes.docs,ao("p",{},l))}if(i.documentation!==void 0)if(typeof i.documentation=="string")U(this.domNodes.docs,ao("p",{},i.documentation));else{let l=this.renderMarkdownDocs(i.documentation);U(this.domNodes.docs,l.element)}let d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let l="",c=i.parameters[r];Array.isArray(c.label)?l=i.label.substring(c.label[0],c.label[1]):l=c.label,c.documentation&&(l+=typeof c.documentation=="string"?`, ${c.documentation}`:`, ${c.documentation.value}`),i.documentation&&(l+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==l&&(xt(p(1380,"{0}, hint",l)),this.announcedLabel=l)}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"&&Sr(t.documentation).length>0||t&&typeof t.documentation=="object"&&Sr(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&Sr(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&Sr(e.documentation.value).length>0)}renderParameters(e,t,i){let[o,n]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,o);let a=document.createElement("span");a.textContent=t.label.substring(o,n),a.className="parameter active";let d=document.createElement("span");d.textContent=t.label.substring(n),U(e,r,a,d)}getParameterLabelOffsets(e,t){let i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){let o=new RegExp(`(\\W|^)${zn(i.label)}(?=\\W|$)`,"g");o.test(e.label);let n=o.lastIndex-i.label.length;return n>=0?[n,o.lastIndex]:[0,0]}else return[0,0]}else 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 FL.ID}updateMaxHeight(){if(!this.domNodes)return;let t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;let i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};cv=FL=f2([lP(2,J),lP(3,Li)],cv);K("editorHoverWidget.highlightForeground",Tg,p(1381,"Foreground color of the active item in the parameter hint."));var v2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},cP=function(s,e){return function(t,i){e(t,i,s)}},HL,Zl=class extends D{static{HL=this}static{this.ID="editor.controller.parameterHints"}static get(e){return e.getContribution(HL.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new lv(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(o=>{o?(this.widget.value.show(),this.widget.value.render(o)):this.widget.rawValue?.hide()})),this.widget=new Ua(()=>this._register(t.createInstance(cv,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)}};Zl=HL=v2([cP(1,j),cP(2,V)],Zl);var WL=class extends A{constructor(){super({id:"editor.action.triggerParameterHints",label:I(1377,"Trigger Parameter Hints"),precondition:w.hasSignatureHelpProvider,kbOpts:{kbExpr:w.editorTextFocus,primary:3082,weight:100}})}run(e,t){Zl.get(t)?.trigger({triggerKind:Wo.Invoke})}};$(Zl.ID,Zl,2);k(WL);var BL=175,VL=at.bindToContribution(Zl.get);X(new VL({id:"closeParameterHints",precondition:br.Visible,handler:s=>s.cancel(),kbOpts:{weight:BL,kbExpr:w.focus,primary:9,secondary:[1033]}}));X(new VL({id:"showPrevParameterHint",precondition:O.and(br.Visible,br.MultipleSignatures),handler:s=>s.previous(),kbOpts:{weight:BL,kbExpr:w.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));X(new VL({id:"showNextParameterHint",precondition:O.and(br.Visible,br.MultipleSignatures),handler:s=>s.next(),kbOpts:{weight:BL,kbExpr:w.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Ou=class extends D{static{this.ID="editor.contrib.placeholderText"}constructor(e){super(),this._editor=e,this._editorObs=ke(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=Ni({owner:this,equalsFn:$D},t=>{let i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=C2(this,t=>this._state.read(t)?.placeholder!==void 0),this._view=R(t=>{if(!this._shouldViewBeAlive.read(t))return;let i=Ir("div.editorPlaceholder");t.store.add(se(o=>{let n=this._state.read(o),r=n?.placeholder!==void 0;i.root.style.display=r?"block":"none",i.root.innerText=n?.placeholder??""})),t.store.add(se(o=>{let n=this._editorObs.layoutInfo.read(o);i.root.style.left=`${n.contentLeft}px`,i.root.style.width=n.contentWidth-n.verticalScrollbarWidth+"px",i.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),t.store.add(se(o=>{i.root.style.fontFamily=this._editorObs.getOption(58).read(o),i.root.style.fontSize=this._editorObs.getOption(61).read(o)+"px",i.root.style.lineHeight=this._editorObs.getOption(75).read(o)+"px"})),t.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:ue(0),position:ue(null),domNode:i.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};function C2(s,e){return Si(s,(t,i)=>i===!0?!0:e(t))}var S2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},w2=function(s,e){return function(t,i){e(t,i,s)}},zL=class{constructor(e){this.instantiationService=e}init(...e){}};function uP(s){return s()}var hP=class extends zL{constructor(e,t){super(t),this.init(e)}};hP=S2([w2(1,j)],hP);$(Ou.ID,uP(()=>Ou),0);K("editor.placeholder.foreground",Yk,p(1400,"Foreground color of the placeholder text in the editor."));var y2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},gP=function(s,e){return function(t,i){e(t,i,s)}},hv=class extends D{static{this.ID="editor.sectionHeaderDetector"}constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(81)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(o=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(o=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(o=>{let n=this.editor.getModel()?.getLanguageId();n&&o.affects(n)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(o=>{this.options&&!o.hasChanged(81)||(this.options=this.createOptions(e.getOption(81)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(o=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(o=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Ae(()=>{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 i=this.languageConfigurationService.getLanguageConfiguration(t).comments,o=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!o?.markers))return{foldingRules:o,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(i=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(i)})}updateDecorations(e){let t=this.editor.getModel();t&&(e=e.filter(n=>{if(!n.shouldBeInComments)return!0;let r=t.validateRange(n.range),a=t.tokenization.getLineTokens(r.startLineNumber),d=a.findTokenIndexAtOffset(r.startColumn-1),l=a.getStandardTokenType(d),c=t.getLanguageIdAtPosition(r.startLineNumber,r.startColumn);return a.getLanguageId(d)===c&&l===1}));let i=Object.values(this.currentOccurrences).map(n=>n.decorationId),o=e.map(n=>x2(n));this.editor.changeDecorations(n=>{let r=n.deltaDecorations(i,o);this.currentOccurrences={};for(let a=0,d=r.length;a<d;a++){let l={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[l.decorationId]=l}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}};hv=y2([gP(1,We),gP(2,xi)],hv);function x2(s){return{range:s.range,options:ee.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:s.hasSeparatorLine?2:1,sectionHeaderText:s.text}})}}$(hv.ID,hv,1);function I2(s){for(let e=0,t=s.length;e<t;e+=4){let i=s[e+0],o=s[e+1],n=s[e+2],r=s[e+3];s[e+0]=r,s[e+1]=n,s[e+2]=o,s[e+3]=i}}function L2(s){let e=new Uint8Array(s.buffer,s.byteOffset,s.length*4);return xD()||I2(e),qa.wrap(e)}function UL(s){let e=new Uint32Array(E2(s)),t=0;if(e[t++]=s.id,s.type==="full")e[t++]=1,e[t++]=s.data.length,e.set(s.data,t),t+=s.data.length;else{e[t++]=2,e[t++]=s.deltas.length;for(let i of s.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return L2(e)}function E2(s){let e=0;if(e+=2,s.type==="full")e+=1+s.data.length;else{e+=1,e+=3*s.deltas.length;for(let t of s.deltas)t.data&&(e+=t.data.length)}return e}function Au(s){return s&&!!s.data}function qL(s){return s&&Array.isArray(s.edits)}var jL=class{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}};function GL(s,e){return s.has(e)}function D2(s,e){let t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function $L(s,e,t,i,o){let n=D2(s,e),r=await Promise.all(n.map(async a=>{let d,l=null;try{d=await a.provideDocumentSemanticTokens(e,a===t?i:null,o)}catch(c){l=c,d=null}return(!d||!Au(d)&&!qL(d))&&(d=null),new jL(a,d,l)}));for(let a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function k2(s,e){let t=s.orderedGroups(e);return t.length>0?t[0]:null}var KL=class{constructor(e,t){this.provider=e,this.tokens=t}};function mP(s,e){return s.has(e)}function pP(s,e){let t=s.orderedGroups(e);return t.length>0?t[0]:[]}async function uv(s,e,t,i){let o=pP(s,e),n=await Promise.all(o.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){Te(d),a=null}return(!a||!Au(a))&&(a=null),new KL(r,a)}));for(let r of n)if(r.tokens)return r;return n.length>0?n[0]:null}ve.registerCommand("_provideDocumentSemanticTokensLegend",async(s,...e)=>{let[t]=e;_e(t instanceof ge);let i=s.get(Ct).getModel(t);if(!i)return;let{documentSemanticTokensProvider:o}=s.get(V),n=k2(o,i);return n?n[0].getLegend():s.get(Fe).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});ve.registerCommand("_provideDocumentSemanticTokens",async(s,...e)=>{let[t]=e;_e(t instanceof ge);let i=s.get(Ct).getModel(t);if(!i)return;let{documentSemanticTokensProvider:o}=s.get(V);if(!GL(o,i))return s.get(Fe).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());let n=await $L(o,i,null,null,oe.None);if(!n)return;let{provider:r,tokens:a}=n;if(!a||!Au(a))return;let d=UL({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});ve.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(s,...e)=>{let[t,i]=e;_e(t instanceof ge);let o=s.get(Ct).getModel(t);if(!o)return;let{documentRangeSemanticTokensProvider:n}=s.get(V),r=pP(n,o);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!C.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();let a=await uv(n,o,C.lift(i),oe.None);if(a)return a.provider.getLegend()});ve.registerCommand("_provideDocumentRangeSemanticTokens",async(s,...e)=>{let[t,i]=e;_e(t instanceof ge),_e(C.isIRange(i));let o=s.get(Ct).getModel(t);if(!o)return;let{documentRangeSemanticTokensProvider:n}=s.get(V),r=await uv(n,o,C.lift(i),oe.None);if(!(!r||!r.tokens))return UL({id:0,type:"full",data:r.tokens.data})});var Fu="editor.semanticHighlighting";function Yl(s,e,t){let i=t.getValue(Fu,{overrideIdentifier:s.getLanguageId(),resource:s.uri})?.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var fP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Hn=function(s,e){return function(t,i){e(t,i,s)}},_s,ZL=class extends D{constructor(e,t,i,o,n,r){super(),this._watchers=new co,this._providerChangeListeners=this._register(new M);let a=r.documentSemanticTokensProvider,d=u=>{this._watchers.get(u.uri)?.dispose(),this._watchers.set(u.uri,new YL(u,e,i,n,r))},l=(u,g)=>{g.dispose(),this._watchers.delete(u.uri)},c=()=>{for(let u of t.getModels()){let g=this._watchers.get(u.uri);Yl(u,i,o)?g||d(u):g&&l(u,g)}},h=()=>{this._providerChangeListeners.clear();for(let u of a.allNoModel())typeof u.onDidChange=="function"&&this._providerChangeListeners.add(u.onDidChange(()=>{for(let g of this._watchers.values())g.handleProviderDidChange(u)}))};t.getModels().forEach(u=>{Yl(u,i,o)&&d(u)}),this._register(t.onModelAdded(u=>{Yl(u,i,o)&&d(u)})),this._register(t.onModelRemoved(u=>{let g=this._watchers.get(u.uri);g&&l(u,g)})),this._register(o.onDidChangeConfiguration(u=>{u.affectsConfiguration(Fu)&&c()})),this._register(i.onDidColorThemeChange(c)),h(),this._register(a.onDidChange(()=>{h();for(let u of this._watchers.values())u.handleRegistryChange()}))}dispose(){ft(this._watchers.values()),this._watchers.clear(),super.dispose()}};ZL=fP([Hn(0,Nc),Hn(1,Ct),Hn(2,Ke),Hn(3,re),Hn(4,Mt),Hn(5,V)],ZL);var YL=class extends D{static{_s=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2e3}constructor(e,t,i,o,n){super(),this._semanticTokensStylingService=t,this._relevantProviders=new Set,this._isDisposed=!1,this._model=e,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentSemanticTokens",{min:_s.REQUEST_MIN_DELAY,max:_s.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Ae(()=>this._fetchDocumentSemanticTokensNow(),_s.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(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(0)})),this._register(i.onDidColorThemeChange(r=>{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(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!GL(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;let e=new Oe,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,o=$L(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;let n=[],r=this._model.onDidChangeContent(d=>{n.push(d)}),a=new kt(!1);o.then(d=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!d)this._setDocumentSemanticTokens(null,null,null,n);else{let{provider:l,tokens:c}=d,h=this._semanticTokensStylingService.getStyling(l);this._setDocumentSemanticTokens(l,c||null,h,n)}},d=>{d&&(oi(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||ae(d),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(n.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,o,n){n=Math.min(n,i.length-o,e.length-t);for(let r=0;r<n;r++)i[o+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,o){let n=this._currentDocumentResponse,r=()=>{(o.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(qL(t)){let a=t.resultId,d=l=>{e.releaseDocumentSemanticTokens(a),this._model.tokenization.setSemanticTokens(null,!0),l&&this._fetchDocumentSemanticTokens.schedule(0)};if(!n){d(!1);return}if(t.edits.length===0)t={resultId:t.resultId,data:n.data};else{let l=0;for(let f of t.edits)l+=(f.data?f.data.length:0)-f.deleteCount;let c=n.data,h=c.length+l;if(h<0){i.warnInvalidEditDeleteCount(n.resultId,a,c.length,l),d(!0);return}let u=new Uint32Array(h),g=c.length,m=u.length;for(let f=t.edits.length-1;f>=0;f--){let _=t.edits[f];if(_.start>c.length){i.warnInvalidEditStart(n.resultId,a,f,_.start,c.length),d(!0);return}let b=g-(_.start+_.deleteCount);b>0&&(_s._copy(c,g-b,u,m-b,b),m-=b),_.data&&(_s._copy(_.data,0,u,m-_.data.length,_.data.length),m-=_.data.length),g=_.start}g>0&&_s._copy(c,0,u,0,g),t={resultId:t.resultId,data:u}}}if(Au(t)){this._currentDocumentResponse=new XL(e,t.resultId,t.data);let a=um(t,i,this._model.getLanguageId());if(o.length>0)for(let d of o)for(let l of a)for(let c of d.changes)l.applyEdit(c.range,c.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}};YL=_s=fP([Hn(1,Nc),Hn(2,Ke),Hn(3,Mt),Hn(4,V)],YL);var XL=class{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}};Do(ZL);var R2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Hu=function(s,e){return function(t,i){e(t,i,s)}},gv=class extends D{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(e,t,i,o,n,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=o,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new Ae(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[],this._rangeProvidersChangeListeners=[];let a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))},d=()=>{if(this._cleanupProviderListeners(),this._editor.hasModel()){let l=this._editor.getModel();for(let c of this._provider.all(l)){let h=c.onDidChange?.(()=>{this._cancelAll(),a()});h&&this._rangeProvidersChangeListeners.push(h)}}};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{d(),this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelLanguage(()=>{d(),this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(l=>{this._cancelAll(),a()})),d(),this._register(this._provider.onDidChange(()=>{d(),this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(l=>{l.affectsConfiguration(Fu)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}dispose(){this._cleanupProviderListeners(),super.dispose()}_cleanupProviderListeners(){ft(this._rangeProvidersChangeListeners),this._rangeProvidersChangeListeners=[]}_cancelAll(){for(let e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;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(!Yl(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!mP(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}let t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){let i=e.getVersionId(),o=je(r=>Promise.resolve(uv(this._provider,e,t,r))),n=new kt(!1);return o.then(r=>{if(this._debounceInformation.update(e,n.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;let{provider:a,tokens:d}=r,l=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,um(d,l,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(o),()=>this._removeOutstandingRequest(o)),o}};gv=R2([Hu(1,Nc),Hu(2,Ke),Hu(3,re),Hu(4,Mt),Hu(5,V)],gv);$(gv.ID,gv,1);var mv=class{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){let i=[];for(let o of t){let n=[];i.push(n),this.selectSubwords&&this._addInWordRanges(n,e,o),this._addWordRanges(n,e,o),this._addWhitespaceLine(n,e,o),n.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){let o=t.getWordAtPosition(i);if(!o)return;let{word:n,startColumn:r}=o,a=i.column-r,d=a,l=a,c=0;for(;d>=0;d--){let h=n.charCodeAt(d);if(d!==a&&(h===95||h===45))break;if(tC(h)&&iC(c))break;c=h}for(d+=1;l<n.length;l++){let h=n.charCodeAt(l);if(iC(h)&&tC(c))break;if(h===95||h===45)break;c=h}d<l&&e.push({range:new C(i.lineNumber,r+d,i.lineNumber,r+l)})}_addWordRanges(e,t,i){let o=t.getWordAtPosition(i);o&&e.push({range:new C(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new C(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}};var T2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},M2=function(s,e){return function(t,i){e(t,i,s)}},QL,JL=class s{constructor(e,t){this.index=e,this.ranges=t}mov(e){let t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;let i=new s(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}},Wu=class{static{QL=this}static{this.ID="editor.contrib.smartSelectController"}static get(e){return e.getContribution(QL.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(),i=this._editor.getModel();if(this._state||await _P(this._languageFeaturesService.selectionRangeProvider,i,t.map(n=>n.getPosition()),this._editor.getOption(129),oe.None).then(n=>{if(!(!wt(n)||n.length!==t.length)&&!(!this._editor.hasModel()||!Yt(this._editor.getSelections(),t,(r,a)=>r.equalsSelection(a)))){for(let r=0;r<n.length;r++)n[r]=n[r].filter(a=>a.containsPosition(t[r].getStartPosition())&&a.containsPosition(t[r].getEndPosition())),n[r].unshift(t[r]);this._state=n.map(r=>new JL(0,r)),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(n=>n.mov(e));let o=this._state.map(n=>Q.fromPositions(n.ranges[n.index].getStartPosition(),n.ranges[n.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(o)}finally{this._ignoreSelection=!1}}};Wu=QL=T2([M2(1,V)],Wu);var pv=class extends A{constructor(e,t){super(t),this._forward=e}async run(e,t){let i=Wu.get(t);i&&await i.run(this._forward)}},eE=class extends pv{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:I(1469,"Expand Selection"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"1_basic",title:p(1467,"&&Expand Selection"),order:2}})}};ve.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");var tE=class extends pv{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:I(1470,"Shrink Selection"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:q.MenubarSelectionMenu,group:"1_basic",title:p(1468,"&&Shrink Selection"),order:3}})}};$(Wu.ID,Wu,4);k(eE);k(tE);async function _P(s,e,t,i,o){let n=s.all(e).concat(new mv(i.selectSubwords));n.length===1&&n.unshift(new _l);let r=[],a=[];for(let d of n)r.push(Promise.resolve(d.provideSelectionRanges(e,t,o)).then(l=>{if(wt(l)&&l.length===t.length)for(let c=0;c<t.length;c++){a[c]||(a[c]=[]);for(let h of l[c])C.isIRange(h.range)&&C.containsPosition(h.range,t[c])&&a[c].push(C.lift(h.range))}},Te));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((u,g)=>H.isBefore(u.getStartPosition(),g.getStartPosition())?1:H.isBefore(g.getStartPosition(),u.getStartPosition())||H.isBefore(u.getEndPosition(),g.getEndPosition())?-1:H.isBefore(g.getEndPosition(),u.getEndPosition())?1:0);let l=[],c;for(let u of d)(!c||C.containsRange(u,c)&&!C.equalsRange(u,c))&&(l.push(u),c=u);if(!i.selectLeadingAndTrailingWhitespace)return l;let h=[l[0]];for(let u=1;u<l.length;u++){let g=l[u-1],m=l[u];if(m.startLineNumber!==g.startLineNumber||m.endLineNumber!==g.endLineNumber){let f=new C(g.startLineNumber,e.getLineFirstNonWhitespaceColumn(g.startLineNumber),g.endLineNumber,e.getLineLastNonWhitespaceColumn(g.endLineNumber));f.containsRange(g)&&!f.equalsRange(g)&&m.containsRange(f)&&!m.equalsRange(f)&&h.push(f);let _=new C(g.startLineNumber,1,g.endLineNumber,e.getLineMaxColumn(g.endLineNumber));_.containsRange(g)&&!_.equalsRange(f)&&m.containsRange(_)&&!m.equalsRange(_)&&h.push(_)}h.push(m)}return h})}ve.registerCommand("_executeSelectionRangeProvider",async function(s,...e){let[t,i]=e;_e(ge.isUri(t)),_e(bD(i,r=>H.isIPosition(r)));let o=s.get(V).selectionRangeProvider,n=await s.get(St).createModelReference(t);try{return _P(o,n.object.textEditorModel,i.map(H.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},oe.None)}finally{n.dispose()}});var Bu=Object.freeze({View:I(1718,"View"),Help:I(1719,"Help"),Test:I(1720,"Test"),File:I(1721,"File"),Preferences:I(1722,"Preferences"),Developer:I(1723,"Developer")});var fv=class extends ri{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...I(1518,"Toggle Editor Sticky Scroll"),mnemonicTitle:p(1514,"&&Toggle Editor Sticky Scroll")},metadata:{description:I(1519,"Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:Bu.View,toggled:{condition:O.equals("config.editor.stickyScroll.enabled",!0),title:p(1515,"Sticky Scroll"),mnemonicTitle:p(1516,"&&Sticky Scroll")},menu:[{id:q.CommandPalette},{id:q.MenubarAppearanceMenu,group:"4_editor",order:3},{id:q.StickyScrollContext}]})}async runEditorCommand(e,t){let i=e.get(re),o=!i.getValue("editor.stickyScroll.enabled"),n=Ri.get(t)?.isFocused();i.updateValue("editor.stickyScroll.enabled",o),n&&t.focus()}},wv=100,_v=class extends ri{constructor(){super({id:"editor.action.focusStickyScroll",title:{...I(1520,"Focus Editor Sticky Scroll"),mnemonicTitle:p(1517,"&&Focus Editor Sticky Scroll")},precondition:O.and(O.has("config.editor.stickyScroll.enabled"),w.stickyScrollVisible),menu:[{id:q.CommandPalette}]})}runEditorCommand(e,t){Ri.get(t)?.focus()}},bv=class extends ri{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:I(1521,"Select the next editor sticky scroll line"),precondition:w.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:wv,primary:18}})}runEditorCommand(e,t){Ri.get(t)?.focusNext()}},vv=class extends ri{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:I(1522,"Select the previous sticky scroll line"),precondition:w.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:wv,primary:16}})}runEditorCommand(e,t){Ri.get(t)?.focusPrevious()}},Cv=class extends ri{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:I(1523,"Go to the focused sticky scroll line"),precondition:w.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:wv,primary:3}})}runEditorCommand(e,t){Ri.get(t)?.goToFocused()}},Sv=class extends ri{constructor(){super({id:"editor.action.selectEditor",title:I(1524,"Select Editor"),precondition:w.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:wv,primary:9}})}runEditorCommand(e,t){Ri.get(t)?.selectEditor()}};$(Ri.ID,Ri,1);pe(fv);pe(_v);pe(vv);pe(bv);pe(Cv);pe(Sv);var bP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Vu=function(s,e){return function(t,i){e(t,i,s)}},iE=class{constructor(e,t,i,o,n,r,a){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=o,this.command=n,this.gutterMenuLinkAction=r,this.completion=a,this.doNotLog=!0}},oE=class extends ID{constructor(e,t,i,o,n,r){super(n.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=o,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){let e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),o=Co.slice(t,i),n=Co.slice(t,0,i),r=5;for(let a of Co.concat(o,n)){if(a.score===Yn.Default)continue;let d=new C(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),l=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new iE(d,l,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a.completion.action,a)),r-->=0&&a.resolve(oe.None)}return e}};oE=bP([Vu(5,pl)],oE);var nE=class extends D{constructor(e,t,i,o){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=o,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,o){if(i.selectedSuggestionInfo)return;let n;for(let g of this._editorService.listCodeEditors())if(g.getModel()===e){n=g;break}if(!n)return;let r=n.getOption(102);if(Nn.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);let a=e.tokenization.getLineTokens(t.lineNumber),d=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Nn.valueFor(r,d)!=="inline")return;let l=e.getWordAtPosition(t),c;if(l?.word||(c=this._getTriggerCharacterInfo(e,t)),!l?.word&&!c||(l||(l=e.getWordUntilPosition(t)),l.endColumn!==t.column))return;let h,u=e.getValueInRange(new C(t.lineNumber,1,t.lineNumber,t.column));if(!c&&this._lastResult?.canBeReused(e,t.lineNumber,l)){let g=new nu(u,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=g,this._lastResult.acquire(),h=this._lastResult}else{let g=await jh(this._languageFeatureService.completionProvider,e,t,new Ca(void 0,vl.createSuggestFilter(n).itemKind,c?.providers),c&&{triggerKind:1,triggerCharacter:c.ch},o),m;g.needsClipboard&&(m=await this._clipboardService.readText());let f=new fl(g.items,t.column,new nu(u,0),bl.None,n.getOption(134),n.getOption(128),{boostFullMatch:!1,firstMatchCanBeWeak:!1},m);h=new oE(e,t.lineNumber,l,f,g,this._suggestMemoryService)}return this._lastResult=h,h}handleItemDidShow(e,t){t.completion.resolve(oe.None)}disposeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){let i=e.getValueInRange(C.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(let n of this._languageFeatureService.completionProvider.all(e))n.triggerCharacters?.includes(i)&&o.add(n);if(o.size!==0)return{providers:o,ch:i}}};nE=bP([Vu(0,V),Vu(1,Rt),Vu(2,pl),Vu(3,Re)],nE);Do(nE);var rE=class extends A{constructor(){super({id:"editor.action.forceRetokenize",label:I(1606,"Developer: Force Retokenize"),precondition:void 0})}run(e,t){if(!t.hasModel())return;let i=t.getModel();i.tokenization.resetTokenization();let o=new kt;i.tokenization.forceTokenization(i.getLineCount()),o.stop(),console.log(`tokenization took ${o.elapsed()}`)}};k(rE);var sE=class s extends ht{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:s.ID,title:I(1604,"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:I(1605,"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 t=!CC.getTabFocusMode();CC.setTabFocusMode(t),t?xt(p(1602,"Pressing Tab will now move focus to the next focusable element")):xt(p(1603,"Pressing Tab will now insert the tab character"))}};pe(sE);var vP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},aE=function(s,e){return function(t,i){e(t,i,s)}},N2=26,yv=class extends D{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(dE))}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,N2)}};yv=vP([aE(1,j)],yv);var dE=class extends D{constructor(e,t){super(),this.instantiationService=e,this.markdownRendererService=t,this.element=W("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=W("span");return t.innerText=e,t}return this.markdownRendererService.render(e).element}clear(){Vt(this.element)}show(e){Vt(this.element);let t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);let i=U(this.element,W("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(W(`div${ne.asCSSSelector(e.icon)}`));let o=U(this.element,W("div.message-container"));if(o.setAttribute("aria-hidden","true"),o.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=U(this.element,W("div.message-actions-container")),e.actions)for(let r of e.actions)this._register(this.instantiationService.createInstance(Md,this.messageActionsContainer,{...r,tabIndex:-1},{}));let n=U(this.element,W("div.action-container"));this.actionBar=this._register(new Xi(n)),this.actionBar.push(this._register(new an("banner.close",p(1607,"Close Banner"),ne.asClassName(Zg),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};dE=vP([aE(0,j),aE(1,Li)],dE);var fE=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},zu=function(s,e){return function(t,i){e(t,i,s)}},P2=qe("extensions-warning-message",B.warning,p(1608,"Icon shown with a warning message in the extensions editor.")),Uu=class extends D{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(e,t,i,o){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=n=>{if(n&&n.hasMore){if(this._bannerClosed)return;let r=Math.max(n.ambiguousCharacterCount,n.nonBasicAsciiCharacterCount,n.invisibleCharacterCount),a;if(n.nonBasicAsciiCharacterCount>=r)a={message:p(1609,"This document contains many non-basic ASCII unicode characters"),command:new Ku};else if(n.ambiguousCharacterCount>=r)a={message:p(1610,"This document contains many ambiguous unicode characters"),command:new Ta};else if(n.invisibleCharacterCount>=r)a={message:p(1611,"This document contains many invisible unicode characters"),command:new ju};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:P2,actions:[{label:a.command.shortLabel,href:`command:${a.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(o.createInstance(yv,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(142),this._register(i.onDidChangeTrust(n=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(n=>{n.hasChanged(142)&&(this._options=e.getOption(142),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;let e=O2(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!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(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?gg.NumberFormat().value.resolvedOptions().locale:i==="_vscode"?wD:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new cE(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new hE(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};Uu=fE([zu(1,xi),zu(2,ST),zu(3,j)],Uu);function O2(s,e){return{nonBasicASCII:e.nonBasicASCII===Ig?!s:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===Ig?!s:e.includeComments,includeStrings:e.includeStrings===Ig?!s:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}var cE=class extends D{constructor(e,t,i,o){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=o,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ae(()=>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 i=[];if(!t.hasMore)for(let o of t.ranges)i.push({range:o,options:xv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel();if(!NC(t,e))return null;let i=t.getValueInRange(e.range);return{reason:SP(i,this._options),inComment:PC(t,e),inString:OC(t,e)}}};cE=fE([zu(3,xi)],cE);var hE=class extends D{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ae(()=>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=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(let o of e){let n=_C.computeUnicodeHighlights(this._model,this._options,o);for(let r of n.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||n.hasMore}if(!i.hasMore)for(let o of i.ranges)t.push({range:o,options:xv.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel(),i=t.getValueInRange(e.range);return NC(t,e)?{reason:SP(i,this._options),inComment:PC(t,e),inString:OC(t,e)}:null}},CP=p(1612,"Configure Unicode Highlight Options"),uE=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 i=this._editor.getModel(),o=this._editor.getContribution(Uu.ID);if(!o)return[];let n=[],r=new Set,a=300;for(let d of t){let l=o.getDecorationInfo(d);if(!l)continue;let h=i.getValueInRange(d.range).codePointAt(0),u=lE(h),g;switch(l.reason.kind){case 0:{og(l.reason.confusableWith)?g=p(1613,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",u,lE(l.reason.confusableWith.codePointAt(0))):g=p(1614,"The character {0} could be confused with the character {1}, which is more common in source code.",u,lE(l.reason.confusableWith.codePointAt(0)));break}case 1:g=p(1615,"The character {0} is invisible.",u);break;case 2:g=p(1616,"The character {0} is not a basic ASCII character.",u);break}if(r.has(g))continue;r.add(g);let m={codePoint:h,reason:l.reason,inComment:l.inComment,inString:l.inString},f=p(1617,"Adjust settings"),_=Gg(Iv.ID,m),b=new dt("",!0).appendMarkdown(g).appendText(" ").appendLink(_,f,CP);n.push(new ki(this,d.range,[b],!1,a++))}return n}renderHoverParts(e,t){return X1(e,t,this._editor,this._markdownRendererService)}getAccessibleContent(e){return e.contents.map(t=>t.value).join(`
|
|
66
|
+
`)}};uE=fE([zu(1,Li)],uE);function gE(s){return`U+${s.toString(16).padStart(4,"0")}`}function lE(s){let e=`\`${gE(s)}\``;return oC.isInvisibleCharacter(s)||(e+=` "${`${A2(s)}`}"`),e}function A2(s){return s===96?"`` ` ``":"`"+String.fromCodePoint(s)+"`"}function SP(s,e){return _C.computeUnicodeHighlightReason(s,e)}var xv=class s{constructor(){this.map=new Map}static{this.instance=new s}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){let i=`${e}${t}`,o=this.map.get(i);return o||(o=ee.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,o)),o}},mE=class extends A{constructor(){super({id:Ta.ID,label:I(1626,"Disable highlighting of characters in comments"),precondition:void 0}),this.shortLabel=p(1618,"Disable Highlight In Comments")}async run(e,t){let i=e.get(re);i&&this.runAction(i)}async runAction(e){await e.updateValue(cn.includeComments,!1,2)}},pE=class extends A{constructor(){super({id:Ta.ID,label:I(1627,"Disable highlighting of characters in strings"),precondition:void 0}),this.shortLabel=p(1619,"Disable Highlight In Strings")}async run(e,t){let i=e.get(re);i&&this.runAction(i)}async runAction(e){await e.updateValue(cn.includeStrings,!1,2)}},Ta=class s extends ht{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:s.ID,title:I(1628,"Disable highlighting of ambiguous characters"),precondition:void 0,f1:!1}),this.shortLabel=p(1620,"Disable Ambiguous Highlight")}async run(e,t){let i=e.get(re);i&&this.runAction(i)}async runAction(e){await e.updateValue(cn.ambiguousCharacters,!1,2)}},ju=class s extends ht{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:s.ID,title:I(1629,"Disable highlighting of invisible characters"),precondition:void 0,f1:!1}),this.shortLabel=p(1621,"Disable Invisible Highlight")}async run(e,t){let i=e.get(re);i&&this.runAction(i)}async runAction(e){await e.updateValue(cn.invisibleCharacters,!1,2)}},Ku=class s extends ht{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:s.ID,title:I(1630,"Disable highlighting of non basic ASCII characters"),precondition:void 0,f1:!1}),this.shortLabel=p(1622,"Disable Non ASCII Highlight")}async run(e,t){let i=e.get(re);i&&this.runAction(i)}async runAction(e){await e.updateValue(cn.nonBasicASCII,!1,2)}},Iv=class s extends ht{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:s.ID,title:I(1631,"Show Exclude Options"),precondition:void 0,f1:!1})}async run(e,t){let{codePoint:i,reason:o,inString:n,inComment:r}=t,a=String.fromCodePoint(i),d=e.get(At),l=e.get(re);function c(m){return oC.isInvisibleCharacter(m)?p(1623,"Exclude {0} (invisible character) from being highlighted",gE(m)):p(1624,"Exclude {0} from being highlighted",`${gE(m)} "${a}"`)}let h=[];if(o.kind===0)for(let m of o.notAmbiguousInLocales)h.push({label:p(1625,'Allow unicode characters that are more common in the language "{0}".',m),run:async()=>{H2(l,[m])}});if(h.push({label:c(i),run:()=>F2(l,[i])}),r){let m=new mE;h.push({label:m.label,run:async()=>m.runAction(l)})}else if(n){let m=new pE;h.push({label:m.label,run:async()=>m.runAction(l)})}function u(m){return typeof m.desc.title=="string"?m.desc.title:m.desc.title.value}if(o.kind===0){let m=new Ta;h.push({label:u(m),run:async()=>m.runAction(l)})}else if(o.kind===1){let m=new ju;h.push({label:u(m),run:async()=>m.runAction(l)})}else if(o.kind===2){let m=new Ku;h.push({label:u(m),run:async()=>m.runAction(l)})}else W2(o);let g=await d.pick(h,{title:CP});g&&await g.run()}};async function F2(s,e){let t=s.getValue(cn.allowedCharacters),i;typeof t=="object"&&t?i=t:i={};for(let o of e)i[String.fromCodePoint(o)]=!0;await s.updateValue(cn.allowedCharacters,i,2)}async function H2(s,e){let t=s.inspect(cn.allowedLocales).user?.value,i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(let o of e)i[o]=!0;await s.updateValue(cn.allowedLocales,i,2)}function W2(s){throw new Error(`Unexpected value: ${s}`)}pe(Ta);pe(ju);pe(Ku);pe(Iv);$(Uu.ID,Uu,1);po.register(uE);var B2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},wP=function(s,e){return function(t,i){e(t,i,s)}},yP="ignoreUnusualLineTerminators";function V2(s,e,t){s.setModelProperty(e.uri,yP,t)}function z2(s,e){return s.getModelProperty(e.uri,yP)}var Lv=class extends D{static{this.ID="editor.contrib.unusualLineTerminatorsDetector"}constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration(o=>{o.hasChanged(143)&&(this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(o=>{o.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;let e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||z2(this._codeEditorService,e)===!0||this._editor.getOption(104))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:p(1632,"Unusual Line Terminators"),message:p(1633,"Detected unusual line terminators"),detail:p(1634,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",ei(e.uri)),primaryButton:p(1635,"&&Remove Unusual Line Terminators"),cancelButton:p(1636,"Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){V2(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}};Lv=B2([wP(1,Ld),wP(2,Re)],Lv);$(Lv.ID,Lv,1);var U2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},j2=function(s,e){return function(t,i){e(t,i,s)}},Ev=class{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){if(e.isDisposed())return;let o=[],n=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return n?e.findMatches(n.word,!0,!1,!0,gC,!1).map(a=>({range:a.range,kind:od.Text})):Promise.resolve(o)}provideMultiDocumentHighlights(e,t,i,o){if(e.isDisposed())return;let n=new co,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(n);for(let a of[e,...i]){if(a.isDisposed())continue;let l=a.findMatches(r.word,!0,!1,!0,gC,!1).map(c=>({range:c.range,kind:od.Text}));l&&n.set(a.uri,l)}return n}},Dv=class extends D{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new Ev)),this._register(e.multiDocumentHighlightProvider.register("*",new Ev))}};Dv=U2([j2(0,V)],Dv);var xP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Wn=function(s,e){return function(t,i){e(t,i,s)}},lt,_E,xE=new te("hasWordHighlights",!1);function IP(s,e,t,i){let o=s.ordered(e);return ic(o.map(n=>()=>Promise.resolve(n.provideDocumentHighlights(e,t,i)).then(void 0,Te)),n=>n!=null).then(n=>{if(n){let r=new co;return r.set(e.uri,n),r}return new co})}function K2(s,e,t,i,o){let n=s.ordered(e);return ic(n.map(r=>()=>{let a=o.filter(d=>j0(d)).filter(d=>wT(r.selector,d.uri,d.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(r.provideMultiDocumentHighlights(e,t,a,i)).then(void 0,Te)}),r=>r!=null)}var kv=class{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=je(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){let i=e.getWordAtPosition(t.getPosition());return i?new C(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}cancel(){this.result.cancel()}},bE=class extends kv{constructor(e,t,i,o){super(e,t,i),this._providers=o}_compute(e,t,i,o){return IP(this._providers,e,t.getPosition(),o).then(n=>n||new co)}},vE=class extends kv{constructor(e,t,i,o,n){super(e,t,i),this._providers=o,this._otherModels=n}_compute(e,t,i,o){return K2(this._providers,e,t.getPosition(),o,this._otherModels).then(n=>n||new co)}};function q2(s,e,t,i){return new bE(e,t,i,s)}function G2(s,e,t,i,o){return new vE(e,t,i,s,o)}Wt("_executeDocumentHighlights",async(s,e,t)=>{let i=s.get(V);return(await IP(i.documentHighlightProvider,e,t,oe.None))?.get(e.uri)});var CE=class{static{lt=this}static{this.storedDecorationIDs=new co}static{this.query=null}constructor(e,t,i,o,n,r,a,d){this.toUnhook=new M,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new co,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new Mi(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=r,this.textModelService=n,this.configurationService=a,this.logService=d,this._hasWordHighlights=xE.bindTo(o),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(l=>{this._ignorePositionChangeEvent||this.occurrencesHighlightEnablement!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(l)}).catch(ae)})),this.toUnhook.add(e.onDidFocusEditorText(l=>{this.occurrencesHighlightEnablement!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}).catch(ae))})),this.toUnhook.add(e.onDidChangeModelContent(l=>{FD(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(l=>{!l.newModelUrl&&l.oldModelUrl?this._stopSingular():lt.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(l=>{let c=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==c)switch(this.occurrencesHighlightEnablement=c,c){case"off":this._stopAll();break;case"singleFile":this._stopAll(lt.query?.modelInfo?.modelURI);break;case"multiFile":lt.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",c);break}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration(l=>{if(l.affectsConfiguration("editor.occurrencesHighlightDelay")){let c=a.getValue("editor.occurrencesHighlightDelay");this.occurrencesHighlightDelay!==c&&(this.occurrencesHighlightDelay=c)}})),this.toUnhook.add(e.onDidBlurEditorWidget(()=>{let l=this.codeEditorService.getFocusedCodeEditor();l?l.getModel()?.uri.scheme===_t.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==_t.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,lt.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(ae))}stop(){this.occurrencesHighlightEnablement!=="off"&&this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(C.compareRangesUsingStarts)}moveNext(){let e=this._getSortedHighlights(),i=(e.findIndex(n=>n.containsPosition(this.editor.getPosition()))+1)%e.length,o=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o);let n=this._getWord();if(n){let r=this.editor.getModel().getLineContent(o.startLineNumber);xt(`${r}, ${i+1} of ${e.length} for '${n.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let e=this._getSortedHighlights(),i=(e.findIndex(n=>n.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,o=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o);let n=this._getWord();if(n){let r=this.editor.getModel().getLineContent(o.startLineNumber);xt(`${r}, ${i+1} of ${e.length} for '${n.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let e=lt.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),lt.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){let t=this.codeEditorService.listCodeEditors(),i=[];for(let o of t){if(!o.hasModel()||$i(o.getModel().uri,e))continue;let n=lt.storedDecorationIDs.get(o.getModel().uri);if(!n)continue;o.removeDecorations(n),i.push(o.getModel().uri);let r=bs.get(o);r?.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(let o of i)lt.storedDecorationIDs.delete(o)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==_t.vscodeNotebookCell&<.query?.modelInfo?.modelURI.scheme!==_t.vscodeNotebookCell?(lt.query=null,this._run()):lt.query?.modelInfo&&(lt.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++,this.workerRequestCompleted=!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++,this.workerRequestCompleted=!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,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===_t.vscodeNotebookCell){let n=[],r=this.codeEditorService.listCodeEditors();for(let a of r){let d=a.getModel();d&&d!==e&&d.uri.scheme===_t.vscodeNotebookCell&&n.push(d)}return n}let i=[],o=this.codeEditorService.listCodeEditors();for(let n of o){if(!am(n))continue;let r=n.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlightEnablement==="singleFile")return[];for(let n of o){let r=n.getModel();r&&r!==e&&i.push(r)}return i}async _run(e,t){if(this.editor.hasTextFocus()){let o=this.editor.getSelection();if(!o||o.startLineNumber!==o.endLineNumber){lt.query=null,this._stopAll();return}let n=o.startColumn,r=o.endColumn,a=this._getWord();if(!a||a.startColumn>n||a.endColumn<r){lt.query=null,this._stopAll();return}lt.query={modelInfo:{modelURI:this.model.uri,selection:o}}}else if(!lt.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),$i(this.editor.getModel().uri,lt.query.modelInfo?.modelURI)){if(!e){let a=this.decorations.getRanges();for(let d of a)if(d.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model.uri:void 0);let o=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let n=this.getOtherModelsToHighlight(this.editor.getModel());if(!lt.query||!lt.query.modelInfo)return;let r=await this.textModelService.createModelReference(lt.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(r.object.textEditorModel,lt.query.modelInfo.selection,n),this.workerRequest?.result.then(a=>{o===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=a||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},ae)}catch(a){this.logService.error("Unexpected error during occurrence request. Log: ",a)}finally{r.dispose()}}else if(this.model.uri.scheme===_t.vscodeNotebookCell){let o=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!lt.query||!lt.query.modelInfo)return;let n=await this.textModelService.createModelReference(lt.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(n.object.textEditorModel,lt.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then(r=>{o===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=r||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},ae)}catch(r){this.logService.error("Unexpected error during occurrence request. Log: ",r)}finally{n.dispose()}}}computeWithModel(e,t,i){return i.length?G2(this.multiDocumentProviders,e,t,this.editor.getOption(148),i):q2(this.providers,e,t,this.editor.getOption(148))}_beginRenderDecorations(e){let t=new Date().getTime(),i=this.lastCursorPositionChangeTime+e;t>=i?(this.renderDecorationsTimer=void 0,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},i-t)}renderDecorations(){this.renderDecorationsTimer=void 0;let e=this.codeEditorService.listCodeEditors();for(let t of e){let i=bs.get(t);if(!i)continue;let o=[],n=t.getModel()?.uri;if(n&&this.workerRequestValue.has(n)){let r=lt.storedDecorationIDs.get(n),a=this.workerRequestValue.get(n);if(a)for(let l of a)l.range&&o.push({range:l.range,options:rP(l.kind)});let d=[];t.changeDecorations(l=>{d=l.deltaDecorations(r??[],o)}),lt.storedDecorationIDs=lt.storedDecorationIDs.set(n,d),o.length>0&&(i.wordHighlighter?.decorations.set(o),i.wordHighlighter?._hasWordHighlights.set(!0))}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}};CE=lt=xP([Wn(4,St),Wn(5,Re),Wn(6,re),Wn(7,gt)],CE);var bs=class extends D{static{_E=this}static{this.ID="editor.contrib.wordHighlighter"}static get(e){return e.getContribution(_E.ID)}constructor(e,t,i,o,n,r,a){super(),this._wordHighlighter=null;let d=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&e.getModel().uri.scheme!==_t.accessibleView&&(this._wordHighlighter=new CE(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n,o,r,a))};this._register(e.onDidChangeModel(l=>{this._wordHighlighter&&(!l.newModelUrl&&l.oldModelUrl?.scheme!==_t.vscodeNotebookCell&&this.wordHighlighter?.stop(),this._wordHighlighter.dispose(),this._wordHighlighter=null),d()})),d()}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(),this._wordHighlighter=null),super.dispose()}};bs=_E=xP([Wn(1,J),Wn(2,V),Wn(3,Re),Wn(4,St),Wn(5,re),Wn(6,gt)],bs);var Rv=class extends A{constructor(e,t){super(t),this._isNext=e}run(e,t){let i=bs.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}},SE=class extends Rv{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:I(1646,"Go to Next Symbol Highlight"),precondition:xE,kbOpts:{kbExpr:w.editorTextFocus,primary:65,weight:100}})}},wE=class extends Rv{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:I(1647,"Go to Previous Symbol Highlight"),precondition:xE,kbOpts:{kbExpr:w.editorTextFocus,primary:1089,weight:100}})}},yE=class extends A{constructor(){super({id:"editor.action.wordHighlight.trigger",label:I(1648,"Trigger Symbol Highlight"),precondition:void 0,kbOpts:{kbExpr:w.editorTextFocus,primary:0,weight:100}})}run(e,t){let i=bs.get(t);i&&i.restoreViewState(!0)}};$(bs.ID,bs,0);k(SE);k(wE);k(yE);Do(Dv);var Ma=class extends at{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;let o=Er(t.getOption(148),t.getOption(147)),n=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(l=>{let c=new H(l.positionLineNumber,l.positionColumn),h=this._move(o,n,c,this._wordNavigationType,a);return this._moveTo(l,h,this._inSelectionMode)});if(n.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(l=>B0.fromModelSelection(l))),d.length===1){let l=new H(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(l,0)}}_moveTo(e,t,i){return i?new Q(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Q(t.lineNumber,t.column,t.lineNumber,t.column)}},Bn=class extends Ma{_move(e,t,i,o,n){return Qa.moveWordLeft(e,t,i,o,n)}},Vn=class extends Ma{_move(e,t,i,o,n){return Qa.moveWordRight(e,t,i,o)}},IE=class extends Bn{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}},LE=class extends Bn{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}},EE=class extends Bn{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:O.and(w.textInputFocus,O.and(As,Mc)?.negate()),primary:2063,mac:{primary:527},weight:100}})}},DE=class extends Bn{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}},kE=class extends Bn{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}},RE=class extends Bn{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:O.and(w.textInputFocus,O.and(As,Mc)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}},TE=class extends Bn{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,o,n){return super._move(Er(bc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}},ME=class extends Bn{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,o,n){return super._move(Er(bc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}},NE=class extends Vn{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}},PE=class extends Vn{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:O.and(w.textInputFocus,O.and(As,Mc)?.negate()),primary:2065,mac:{primary:529},weight:100}})}},OE=class extends Vn{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}},AE=class extends Vn{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}},FE=class extends Vn{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:O.and(w.textInputFocus,O.and(As,Mc)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}},HE=class extends Vn{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}},WE=class extends Vn{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,o,n){return super._move(Er(bc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}},BE=class extends Vn{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,o,n){return super._move(Er(bc.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,o,n)}},Na=class extends at{constructor(e){super({canTriggerInlineEdits:!0,...e}),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){let o=e?.get(We);if(!t.hasModel()||!o)return;let n=Er(t.getOption(148),t.getOption(147)),r=t.getModel(),a=t.getSelections(),d=t.getOption(10),l=t.getOption(15),c=o.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),h=t._getViewModel(),u=a.map(g=>{let m=this._delete({wordSeparators:n,model:r,selection:g,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(13),autoClosingBrackets:d,autoClosingQuotes:l,autoClosingPairs:c,autoClosedCharacters:h.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Kn(m,"")});t.pushUndoStop(),t.executeCommands(this.id,u),t.pushUndoStop()}},qu=class extends Na{_delete(e,t){let i=Qa.deleteWordLeft(e,t);return i||new C(1,1,1,1)}},Gu=class extends Na{_delete(e,t){let i=Qa.deleteWordRight(e,t);if(i)return i;let o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return new C(o,n,o,n)}},VE=class extends qu{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:w.writable})}},zE=class extends qu{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:w.writable})}},UE=class extends qu{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},jE=class extends Gu{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:w.writable})}},KE=class extends Gu{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:w.writable})}},qE=class extends Gu{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},GE=class extends A{constructor(){super({id:"deleteInsideWord",precondition:w.writable,label:I(1650,"Delete Word"),metadata:{description:I(1651,"Delete the word at the cursor"),args:[{name:"args",schema:{type:"object",properties:{onlyWord:{type:"boolean",default:!1,description:p(1649,"Delete only the word and leave surrounding whitespace")}}}}]}})}run(e,t,i){if(!t.hasModel())return;let o=!!(i&&typeof i=="object"&&i.onlyWord),n=Er(t.getOption(148),t.getOption(147)),r=t.getModel(),d=t.getSelections().map(l=>{let c=Qa.deleteInsideWord(n,r,l,o);return new Kn(c,"")});t.pushUndoStop(),t.executeCommands(this.id,d),t.pushUndoStop()}};X(new IE);X(new LE);X(new EE);X(new DE);X(new kE);X(new RE);X(new NE);X(new PE);X(new OE);X(new AE);X(new FE);X(new HE);X(new TE);X(new ME);X(new WE);X(new BE);X(new VE);X(new zE);X(new UE);X(new jE);X(new KE);X(new qE);k(GE);var $E=class extends Na{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){let i=uc.deleteWordPartLeft(e);return i||new C(1,1,1,1)}},ZE=class extends Na{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:w.writable,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){let i=uc.deleteWordPartRight(e);if(i)return i;let o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return new C(o,n,o,n)}},Tv=class extends Ma{_move(e,t,i,o,n){return uc.moveWordPartLeft(e,t,i,n)}},YE=class extends Tv{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};ve.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var XE=class extends Tv{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};ve.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");var Mv=class extends Ma{_move(e,t,i,o,n){return uc.moveWordPartRight(e,t,i)}},QE=class extends Mv{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},JE=class extends Mv{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:w.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};X(new $E);X(new ZE);X(new YE);X(new XE);X(new QE);X(new JE);var Nv=class extends D{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let e=Ut.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(105);t||(this.editor.isSimpleWidget?t=new dt(p(1447,"Cannot edit in read-only input")):t=new dt(p(1448,"Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};$(Nv.ID,Nv,2);var $2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},LP=function(s,e){return function(t,i){e(t,i,s)}},eD=class extends D{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=be(this,void 0);let o=zs("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),n=zs("_textModel.onDidChangeContent",De.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(nn(async(r,a)=>{o.read(r),n.read(r);let d=a.add(new ER),l=await this._outlineModelService.getOrCreate(this._textModel,d.token);a.isDisposed||this._currentModel.set(l,void 0)}))}getBreadcrumbItems(e,t){let i=this._currentModel.read(t);if(!i)return[];let o=i.asListOfDocumentSymbols().filter(n=>e.contains(n.range.startLineNumber)&&!e.contains(n.range.endLineNumber));return o.sort(rC(So(n=>n.range.endLineNumber-n.range.startLineNumber,wo))),o.map(n=>({name:n.name,kind:n.kind,startLineNumber:n.range.startLineNumber}))}getAt(e,t){let i=this._currentModel.read(t);if(!i)return[];let o=i.asListOfDocumentSymbols().filter(n=>new it(n.range.startLineNumber,n.range.endLineNumber).contains(e));return o.length===0?[]:(o.sort(rC(So(n=>n.range.endLineNumber-n.range.startLineNumber,wo))),o.map(n=>({name:n.name,kind:n.kind,startLineNumber:n.range.startLineNumber})))}};eD=$2([LP(1,V),LP(2,lr)],eD);Jg.setBreadcrumbsSourceFactory((s,e)=>e.createInstance(eD,s));var EP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Xl=function(s,e){return function(t,i){e(t,i,s)}},$u=class extends D{static{this.ID="editor.contrib.floatingToolbar"}constructor(e,t,i,o){super();let n=this._register(ke(e)),r=R(d=>n.model.read(d)?.uri),a=this._register(t.createInstance(tD,q.EditorContent,e.contextKeyService,r));this._register(se(d=>{a.hasActions.read(d)&&d.store.add(n.createOverlayWidget({allowEditorOverflow:!1,domNode:a.element,minContentWidthInPx:ue(0),position:ue({preference:1})}))}))}};$u=EP([Xl(1,j),Xl(2,he),Xl(3,Gi)],$u);var tD=class extends D{constructor(e,t,i,o,n,r){super();let a=this._register(r.createMenu(e,t)),d=st(this,a.onDidChange,()=>a.getActions()),l=R(c=>{let h=d.read(c),{primary:u}=Qg(h,()=>!0);return u.filter(g=>g.id!==jn.ID)});this.hasActions=R(c=>l.read(c).length>0),this.element=Ir("div.floating-menu-overlay-widget").root,this._register(ce(()=>this.element.remove())),this._register(se(c=>{let h=l.read(c),u=h.length>0,g=u?h[0].id:void 0,m=h.length===1;if(this.element.classList.toggle("single-button",m),this.element.style.height=m?"28px":"26px",!u)return;let f=o.createInstance(FR,this.element,e,{actionViewItemProvider:(_,b)=>{if(_ instanceof xo)return o.createInstance(class extends Id{render(v){super.render(v),_.id===g&&this.element?.classList.add("primary")}updateLabel(){let v=n.lookupKeybinding(_.id),y=v?v.getLabel():void 0;this.options.label&&this.label&&(this.label.textContent=y?`${this._commandAction.label} (${y})`:this._commandAction.label)}},_,{...b,keybindingNotRenderedWithLabel:!0})},hiddenItemStrategy:0,menuOptions:{shouldForwardArgs:!0},telemetrySource:"editor.overlayToolbar",toolbarOptions:{primaryGroup:()=>!0,useSeparatorsInPrimaryActions:!0}});c.store.add(f),c.store.add(se(_=>{let b=i.read(_);f.context=b}))}))}};tD=EP([Xl(3,j),Xl(4,he),Xl(5,Gi)],tD);$($u.ID,$u,1);var Pv=class extends D{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(e){super(),this.editor=e,this.widget=null,tc&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){let e=!this.editor.getOption(104);!this.widget&&e?this.widget=new iD(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}},iD=class s extends D{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Z(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Z(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return s.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};$(Pv.ID,Pv,3);var Z2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},DP=function(s,e){return function(t,i){e(t,i,s)}},oD,Zu=class extends D{static{oD=this}static{this.ID="editor.contrib.inspectTokens"}static get(e){return e.getContribution(oD.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(o=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(o=>this.stop())),this._register(nd.onDidChange(o=>this.stop())),this._register(this._editor.onKeyUp(o=>o.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new rD(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};Zu=oD=Z2([DP(1,mm),DP(2,si)],Zu);var nD=class extends A{constructor(){super({id:"editor.action.inspectTokens",label:yT.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){Zu.get(t)?.launch()}};function Y2(s){let e="";for(let t=0,i=s.length;t<i;t++){let o=s.charCodeAt(t);switch(o){case 9:e+="\u2192";break;case 32:e+="\xB7";break;default:e+=String.fromCharCode(o)}}return e}function X2(s,e){let t=nd.get(e);if(t)return t;let i=s.encodeLanguageId(e);return{getInitialState:()=>cR,tokenize:(o,n,r)=>hR(e,r),tokenizeEncoded:(o,n,r)=>uR(i,r)}}var rD=class s extends D{static{this._ID="editor.contrib.inspectTokensWidget"}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=X2(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return s._ID}_compute(e){let t=this._getTokensAtLine(e.lineNumber),i=0;for(let d=t.tokens1.length-1;d>=0;d--){let l=t.tokens1[d];if(e.column-1>=l.offset){i=d;break}}let o=0;for(let d=t.tokens2.length>>>1;d>=0;d--)if(e.column-1>=t.tokens2[d<<1]){o=d;break}let n=this._model.getLineContent(e.lineNumber),r="";if(i<t.tokens1.length){let d=t.tokens1[i].offset,l=i+1<t.tokens1.length?t.tokens1[i+1].offset:n.length;r=n.substring(d,l)}Rs(this._domNode,W("h2.tm-token",void 0,Y2(r),W("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),U(this._domNode,W("hr.tokens-inspect-separator",{style:"clear:both"}));let a=(o<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(o<<1)+1]):null;U(this._domNode,W("table.tm-metadata-table",void 0,W("tbody",void 0,W("tr",void 0,W("td.tm-metadata-key",void 0,"language"),W("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),W("tr",void 0,W("td.tm-metadata-key",void 0,"token type"),W("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),W("tr",void 0,W("td.tm-metadata-key",void 0,"font style"),W("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),W("tr",void 0,W("td.tm-metadata-key",void 0,"foreground"),W("td.tm-metadata-value",void 0,`${a?fe.Format.CSS.formatHex(a.foreground):"-?-"}`)),W("tr",void 0,W("td.tm-metadata-key",void 0,"background"),W("td.tm-metadata-value",void 0,`${a?fe.Format.CSS.formatHex(a.background):"-?-"}`))))),U(this._domNode,W("hr.tokens-inspect-separator")),i<t.tokens1.length&&U(this._domNode,W("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){let t=nd.getColorMap(),i=td.getLanguageId(e),o=td.getTokenType(e),n=td.getFontStyle(e),r=td.getForeground(e),a=td.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:o,fontStyle:n,foreground:t[r],background:t[a]}}_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),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),o=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:o.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};$(Zu.ID,Zu,4);k(nD);var Q2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},sD=function(s,e){return function(t,i){e(t,i,s)}},Yu,Ov=class{static{Yu=this}static{this.PREFIX="?"}constructor(e,t,i){this.quickInputService=e,this.keybindingService=t,this.contextKeyService=i,this.registry=hi.as(Vo.Quickaccess)}provide(e){let t=new M;return t.add(e.onDidAccept(()=>{let[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{let o=this.registry.getQuickAccessProvider(i.substr(Yu.PREFIX.length),this.contextKeyService);o?.prefix&&o.prefix!==Yu.PREFIX&&this.quickInputService.quickAccess.show(o.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Yu.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders(this.contextKeyService).sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{let i=t.prefix||e.prefix,o=i||"\u2026";return{prefix:i,label:o,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:p(1844,"{0}, {1}",o,t.description),description:t.description}})}};Ov=Yu=Q2([sD(0,At),sD(1,he),sD(2,J)],Ov);hi.as(Vo.Quickaccess).registerQuickAccessProvider({ctor:Ov,prefix:"",helpEntries:[{description:xT.helpQuickAccessActionLabel}]});var Ql=class{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){let o=new M;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let n=o.add(new xe);return n.value=this.doProvide(e,t,i),o.add(this.onDidActiveTextEditorControlChange(()=>{n.value=void 0,n.value=this.doProvide(e,t)})),o}doProvide(e,t,i){let o=new M,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){let r={editor:n},a=dm(n);if(a){let d=n.saveViewState()??void 0;o.add(a.onDidChangeCursorPosition(()=>{d=n.saveViewState()??void 0})),r.restoreViewState=()=>{d&&n===this.activeTextEditorControl&&n.restoreViewState(d)},o.add(tg(t.onCancellationRequested)(()=>r.restoreViewState?.()))}o.add(ce(()=>this.clearDecorations(n))),o.add(this.provideWithTextEditor(r,e,t,i))}else o.add(this.provideWithoutTextEditor(e,t));return o}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();let i=this.getModel(e);if(i){let o=i.getLineContent(t.range.startLineNumber);Oi(p(1401,"Line {0}, column {1}: {2}",t.range.startLineNumber,t.range.startColumn,o))}}getModel(e){return am(e)?e.getModel()?.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{let o=[];this.rangeHighlightDecorationId&&(o.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),o.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);let n=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:ot(zg),position:Ai.Full}}}],[r,a]=i.deltaDecorations(o,n);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){let t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}};var Av=class s extends Ql{static{this.GO_TO_LINE_PREFIX=":"}static{this.GO_TO_OFFSET_PREFIX="::"}static{this.ZERO_BASED_OFFSET_STORAGE_KEY="gotoLine.useZeroBasedOffset"}constructor(){super({canAcceptInBackground:!0})}get useZeroBasedOffset(){return this.storageService.getBoolean(s.ZERO_BASED_OFFSET_STORAGE_KEY,-1,!1)}set useZeroBasedOffset(e){this.storageService.store(s.ZERO_BASED_OFFSET_STORAGE_KEY,e,-1,0)}provideWithoutTextEditor(e){let t=p(1402,"Open a text editor first to go to a line or an offset.");return e.items=[{label:t}],e.ariaLabel=t,D.None}provideWithTextEditor(e,t,i){let o=e.editor,n=new M;t.ariaLabel=p(1403,"Go to line. Type a line number, optionally followed by colon and column number."),n.add(t.onDidAccept(l=>{let[c]=t.selectedItems;if(c){if(!c.lineNumber)return;this.gotoLocation(e,{range:this.toRange(c.lineNumber,c.column),keyMods:t.keyMods,preserveFocus:l.inBackground}),l.inBackground||t.hide()}}));let r={iconClass:ne.asClassName(B.indexZero),tooltip:p(1404,"Toggle Zero-Based Offset"),location:zR.Input,toggle:{checked:this.useZeroBasedOffset}},a=()=>{let l=t.value.trim().substring(s.GO_TO_LINE_PREFIX.length),{inOffsetMode:c,lineNumber:h,column:u,label:g}=this.parsePosition(o,l);if(t.buttons=c?[r]:[],t.items=[{lineNumber:h,column:u,label:g,ariaLabel:h?p(1405,"Go to line {0}, column {1}. Press Enter to navigate.",h,u||1):g}],!h){this.clearDecorations(o);return}let m=this.toRange(h,u);o.revealRangeInCenter(m,0),this.addDecorations(o,m)};n.add(t.onDidTriggerButton(l=>{l===r&&(this.useZeroBasedOffset=l.toggle?.checked??!this.useZeroBasedOffset,a())})),a(),n.add(t.onDidChangeValue(()=>a()));let d=dm(o);return d&&d.getOptions().get(76).renderType===2&&(d.updateOptions({lineNumbers:"on"}),n.add(ce(()=>d.updateOptions({lineNumbers:"relative"})))),n}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){let i=this.getModel(e);if(!i)return{label:p(1406,"Open a text editor first to go to a line or an offset.")};if(t.startsWith(":")){let o=parseInt(t.substring(1),10),n=i.getValueLength();if(isNaN(o))return{inOffsetMode:!0,label:this.useZeroBasedOffset?p(1407,"Type a character position to go to (from 0 to {0}).",n-1):p(1408,"Type a character position to go to (from 1 to {0}).",n)};{let r=o<0;this.useZeroBasedOffset||(o-=Math.sign(o)),r&&(o+=n);let a=i.getPositionAt(o),d=Xa.visibleColumnFromColumn(i.getLineContent(a.lineNumber),a.column,i.getOptions().tabSize)+1;return{...a,inOffsetMode:!0,label:p(1409,"Press 'Enter' to go to line {0} at column {1}.",a.lineNumber,d)}}}else{let o=t.split(/,|:|#/),n=i.getLineCount(),r=parseInt(o[0]?.trim(),10);if(o.length<1||isNaN(r))return{label:p(1410,"Type a line number to go to (from 1 to {0}).",n)};r=r>=0?r:n+1+r,r=Math.min(Math.max(1,r),n);let a=i.getOptions().tabSize,d=i.getLineContent(r),l=Xa.visibleColumnFromColumn(d,i.getLineMaxColumn(r),a)+1,c=parseInt(o[1]?.trim(),10);if(o.length<2||isNaN(c))return{lineNumber:r,column:1,label:o.length<2?p(1411,"Press 'Enter' to go to line {0} or enter colon : to add a column number.",r):p(1412,"Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).",r,l)};c=c>=0?c:l+c,c=Math.min(Math.max(1,c),l);let h=Xa.columnFromVisibleColumn(d,c-1,a);return{lineNumber:r,column:h,label:p(1413,"Press 'Enter' to go to line {0} at column {1}.",r,c)}}}};var J2=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},kP=function(s,e){return function(t,i){e(t,i,s)}},vs=class extends Av{constructor(e,t){super(),this.editorService=e,this.storageService=t,this.onDidActiveTextEditorControlChange=De.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};vs=J2([kP(0,Re),kP(1,Tt)],vs);var Fv=class s extends A{static{this.ID="editor.action.gotoLine"}constructor(){super({id:s.ID,label:Pc.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:w.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(At).quickAccess.show(vs.GO_TO_LINE_PREFIX)}};k(Fv);hi.as(Vo.Quickaccess).registerQuickAccessProvider({ctor:vs,prefix:vs.GO_TO_LINE_PREFIX,helpEntries:[{description:Pc.gotoLineActionLabel,commandId:Fv.ID}]});var Hv=class s extends A{static{this.ID="editor.action.gotoOffset"}constructor(){super({id:s.ID,label:Pc.gotoOffsetActionLabel,alias:"Go to Offset...",precondition:void 0})}run(e){e.get(At).quickAccess.show(vs.GO_TO_OFFSET_PREFIX)}};k(Hv);hi.as(Vo.Quickaccess).registerQuickAccessProvider({ctor:vs,prefix:vs.GO_TO_OFFSET_PREFIX,helpEntries:[{description:Pc.gotoOffsetActionLabel,commandId:Hv.ID}]});var MP=[void 0,[]];function Bv(s,e,t=0,i=0){let o=e;return o.values&&o.values.length>1?eB(s,o.values,t,i):NP(s,e,t,i)}function eB(s,e,t,i){let o=0,n=[];for(let r of e){let[a,d]=NP(s,r,t,i);if(typeof a!="number")return MP;o+=a,n.push(...d)}return[o,tB(n)]}function NP(s,e,t,i){let o=qg(e.normalized,e.normalizedLowercase,t,s,s.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return o?[o[0],Ws(o)]:MP}new Ls("allowNonContiguousMatches");new Ls("description");new Ls("label");new Ls("values");new Ls("expectContiguousMatch");new Ls("value");function tB(s){let e=s.sort((o,n)=>o.start-n.start),t=[],i;for(let o of e)!i||!iB(i,o)?(i=o,t.push(o)):(i.start=Math.min(i.start,o.start),i.end=Math.max(i.end,o.end));return t}function iB(s,e){return!(s.end<e.start||e.end<s.start)}function RP(s){return s.startsWith('"')&&s.endsWith('"')}var PP=" ";function Wv(s){typeof s!="string"&&(s="");let e=s.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:o}=TP(s),n=t.indexOf(sg)>=0,r=RP(s),a,d=s.split(PP);if(d.length>1)for(let l of d){let c=RP(l),{pathNormalized:h,normalized:u,normalizedLowercase:g}=TP(l);u&&(a||(a=[]),a.push({original:l,originalLowercase:l.toLowerCase(),pathNormalized:h,normalized:u,normalizedLowercase:g,expectContiguousMatch:c}))}return{original:s,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:o,values:a,containsPathSeparator:n,expectContiguousMatch:r}}function TP(s){let e;Wa?e=s.replace(/\//g,sg):e=s.replace(/\\/g,sg);let t=e.replace(/[\*\u2026\s"]/g,"").replace(/(?<=.)#$/,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function aD(s){return Array.isArray(s)?Wv(s.map(e=>e.original).join(PP)):Wv(s.original)}var oB=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},OP=function(s,e){return function(t,i){e(t,i,s)}},Vv,Cs=class extends Ql{static{Vv=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,p(1414,"To go to a symbol, first open a text editor with symbol information.")),D.None}provideWithTextEditor(e,t,i,o){let n=e.editor,r=this.getModel(n);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,o):this.doProvideWithoutEditorSymbols(e,r,t,i):D.None}doProvideWithoutEditorSymbols(e,t,i,o){let n=new M;return this.provideLabelPick(i,p(1415,"The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,n)||o.isCancellationRequested||n.add(this.doProvideWithEditorSymbols(e,t,i,o)))(),n}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 i=new za,o=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(o.dispose(),i.complete(!0))}));return t.add(ce(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,o,n){let r=e.editor,a=new M;a.add(i.onDidAccept(h=>{let[u]=i.selectedItems;if(u&&u.range){if(i.keyMods.shift&&u.attach){u.attach(i.keyMods,h);return}this.gotoLocation(e,{range:u.range.selection,keyMods:i.keyMods,preserveFocus:h.inBackground}),n?.handleAccept?.(u,h.inBackground),h.inBackground||i.hide()}})),a.add(i.onDidTriggerItemButton(({item:h})=>{h&&h.range&&(this.gotoLocation(e,{range:h.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));let d=this.getDocumentSymbols(t,o),l=a.add(new xe),c=async h=>{l?.value?.cancel(),i.busy=!1,l.value=new Oe,i.busy=!0;try{let u=Wv(i.value.substr(Vv.PREFIX.length).trim()),g=await this.doGetSymbolPicks(d,u,void 0,l.value.token,t);if(o.isCancellationRequested)return;if(g.length>0){if(i.items=g,h&&u.original.length===0){let m=tk(g,f=>!!(f.type!=="separator"&&f.range&&C.containsPosition(f.range.decoration,h)));m&&(i.activeItems=[m])}}else u.original.length>0?this.provideLabelPick(i,p(1416,"No matching editor symbols")):this.provideLabelPick(i,p(1417,"No editor symbols"))}finally{o.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>c(void 0))),c(r.getSelection()?.getPosition()),a.add(i.onDidChangeActive(()=>{let[h]=i.activeItems;h&&h.range&&(r.revealRangeInCenter(h.range.selection,0),this.addDecorations(r,h.range.decoration))})),a}async doGetSymbolPicks(e,t,i,o,n){let r=await e;if(o.isCancellationRequested)return[];let a=t.original.indexOf(Vv.SCOPE_PREFIX)===0,d=a?1:0,l,c;t.values&&t.values.length>1?(l=aD(t.values[0]),c=aD(t.values.slice(1))):l=t;let h,u=this.options?.openSideBySideDirection?.();u&&(h=[{iconClass:u==="right"?ne.asClassName(B.splitHorizontal):ne.asClassName(B.splitVertical),tooltip:u==="right"?p(1418,"Open to the Side"):p(1419,"Open to the Bottom")}]);let g=[];for(let _=0;_<r.length;_++){let b=r[_],v=TD(b.name),y=`$(${Cg.toIcon(b.kind).id}) ${v}`,L=y.length-v.length,E=b.containerName;i?.extraContainerLabel&&(E?E=`${i.extraContainerLabel} \u2022 ${E}`:E=i.extraContainerLabel);let S,x,T,N;if(t.original.length>d){let P=!1;if(l!==t&&([S,x]=Bv(y,{...t,values:void 0},d,L),typeof S=="number"&&(P=!0)),typeof S!="number"&&([S,x]=Bv(y,l,d,L),typeof S!="number"))continue;if(!P&&c){if(E&&c.original.length>0&&([T,N]=Bv(E,c)),typeof T!="number")continue;typeof S=="number"&&(S+=T)}}let F=b.tags&&b.tags.indexOf(1)>=0;g.push({index:_,kind:b.kind,score:S,label:y,ariaLabel:Q0(b.name,b.kind),description:E,highlights:F?void 0:{label:x,description:N},range:{selection:C.collapseToStart(b.selectionRange),decoration:b.range},uri:n.uri,symbolName:v,strikethrough:F,buttons:h})}let m=g.sort((_,b)=>a?this.compareByKindAndScore(_,b):this.compareByScore(_,b)),f=[];if(a){let y=function(){b&&typeof _=="number"&&v>0&&(b.label=ja(lD[_]||dD,v))},_,b,v=0;for(let L of m)_!==L.kind?(y(),_=L.kind,v=1,b={type:"separator"},f.push(b)):v++,f.push(L);y()}else m.length>0&&(f=[{label:p(1420,"symbols ({0})",g.length),type:"separator"},...m]);return f}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?1:0}compareByKindAndScore(e,t){let i=lD[e.kind]||dD,o=lD[t.kind]||dD,n=i.localeCompare(o);return n===0?this.compareByScore(e,t):n}async getDocumentSymbols(e,t){let i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}};Cs=Vv=oB([OP(0,V),OP(1,lr)],Cs);var dD=p(1421,"properties ({0})"),lD={5:p(1422,"methods ({0})"),11:p(1423,"functions ({0})"),8:p(1424,"constructors ({0})"),12:p(1425,"variables ({0})"),4:p(1426,"classes ({0})"),22:p(1427,"structs ({0})"),23:p(1428,"events ({0})"),24:p(1429,"operators ({0})"),10:p(1430,"interfaces ({0})"),2:p(1431,"namespaces ({0})"),3:p(1432,"packages ({0})"),25:p(1433,"type parameters ({0})"),1:p(1434,"modules ({0})"),6:p(1435,"properties ({0})"),9:p(1436,"enumerations ({0})"),21:p(1437,"enumeration members ({0})"),14:p(1438,"strings ({0})"),0:p(1439,"files ({0})"),17:p(1440,"arrays ({0})"),15:p(1441,"numbers ({0})"),16:p(1442,"booleans ({0})"),18:p(1443,"objects ({0})"),19:p(1444,"keys ({0})"),7:p(1445,"fields ({0})"),13:p(1446,"constants ({0})")};var nB=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},cD=function(s,e){return function(t,i){e(t,i,s)}},hD=class extends Cs{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=De.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};hD=nB([cD(0,Re),cD(1,V),cD(2,lr)],hD);var zv=class s extends A{static{this.ID="editor.action.quickOutline"}constructor(){super({id:s.ID,label:gm.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:w.hasDocumentSymbolProvider,kbOpts:{kbExpr:w.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(At).quickAccess.show(Cs.PREFIX,{itemActivation:VR.NONE})}};k(zv);hi.as(Vo.Quickaccess).registerQuickAccessProvider({ctor:hD,prefix:Cs.PREFIX,helpEntries:[{description:gm.quickOutlineActionLabel,prefix:Cs.PREFIX,commandId:zv.ID},{description:gm.quickOutlineByCategoryActionLabel,prefix:Cs.PREFIX_BY_CATEGORY}]});function rB(s){let e=new Map;for(let t of s)e.set(t,(e.get(t)??0)+1);return e}var Uv=class s{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){let i=this.computeEmbedding(e),o=new Map,n=[];for(let[r,a]of this.documents){if(t.isCancellationRequested)return[];for(let d of a.chunks){let l=this.computeSimilarityScore(d,i,o);l>0&&n.push({key:r,score:l})}}return n}static termFrequencies(e){return rB(s.splitTerms(e))}static*splitTerms(e){let t=i=>i.toLowerCase();for(let[i]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(i);let o=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(o.length>1)for(let n of o)n.length>2&&/\p{Letter}{3,}/gu.test(n)&&(yield t(n))}}updateDocuments(e){for(let{key:t}of e)this.deleteDocument(t);for(let t of e){let i=[];for(let o of t.textChunks){let n=s.termFrequencies(o);for(let r of n.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:o,tf:n})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){let t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(let i of t.chunks)for(let o of i.tf.keys()){let n=this.chunkOccurrences.get(o);if(typeof n=="number"){let r=n-1;r<=0?this.chunkOccurrences.delete(o):this.chunkOccurrences.set(o,r)}}}}computeSimilarityScore(e,t,i){let o=0;for(let[n,r]of Object.entries(t)){let a=e.tf.get(n);if(!a)continue;let d=i.get(n);typeof d!="number"&&(d=this.computeIdf(n),i.set(n,d));let l=a*d;o+=l*r}return o}computeEmbedding(e){let t=s.termFrequencies(e);return this.computeTfidf(t)}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[i,o]of e){let n=this.computeIdf(i);n>0&&(t[i]=o*n)}return t}};function AP(s){let e=s.slice(0);e.sort((i,o)=>o.score-i.score);let t=e[0]?.score??0;if(t>0)for(let i of e)i.score/=t;return e}var vr;(function(s){s[s.NO_ACTION=0]="NO_ACTION",s[s.CLOSE_PICKER=1]="CLOSE_PICKER",s[s.REFRESH_PICKER=2]="REFRESH_PICKER",s[s.REMOVE_ITEM=3]="REMOVE_ITEM"})(vr||(vr={}));function uD(s){return Array.isArray(s.items)}function FP(s){let e=s;return!!e.picks&&e.additionalPicks instanceof Promise}var jv=class extends D{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){let o=new M;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let n,r=o.add(new xe),a=async()=>{n?.dispose(!0),e.busy=!1;let l=r.value=new M;n=l.add(new Oe(t));let c=n.token,h=e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(h=h.trim());let u=this._getPicks(h,l,c,i),g=(f,_)=>{let b,v;if(uD(f)?(b=f.items,v=f.active):b=f,b.length===0){if(_)return!1;(h.length>0||e.hideInput)&&this.options?.noResultsPick&&(vD(this.options.noResultsPick)?b=[this.options.noResultsPick(h)]:b=[this.options.noResultsPick])}return e.items=b,v&&(e.activeItems=[v]),!0},m=async f=>{let _=!1,b=!1;await Promise.all([(async()=>{typeof f.mergeDelay=="number"&&(await yr(f.mergeDelay),c.isCancellationRequested)||b||(_=g(f.picks,!0))})(),(async()=>{e.busy=!0;try{let v=await f.additionalPicks;if(c.isCancellationRequested)return;let y,L;uD(f.picks)?(y=f.picks.items,L=f.picks.active):y=f.picks;let E,S;if(uD(v)?(E=v.items,S=v.active):E=v,E.length>0||!_){let x;if(!L&&!S){let T=e.activeItems[0];T&&y.indexOf(T)!==-1&&(x=T)}g({items:[...y,...E],active:L||S||x})}}finally{c.isCancellationRequested||(e.busy=!1),b=!0}})()])};if(u!==null)if(FP(u))await m(u);else if(!(u instanceof Promise))g(u);else{e.busy=!0;try{let f=await u;if(c.isCancellationRequested)return;FP(f)?await m(f):g(f)}finally{c.isCancellationRequested||(e.busy=!1)}}};o.add(e.onDidChangeValue(()=>a())),a(),o.add(e.onDidAccept(l=>{if(i?.handleAccept){l.inBackground||e.hide(),i.handleAccept?.(e.activeItems[0],l.inBackground);return}let[c]=e.selectedItems;if(typeof c?.accept=="function"){if(BR(e.keyMods)&&!!c.attach){c.attach(e.keyMods,l);return}l.inBackground||e.hide(),c.accept(e.keyMods,l)}}));let d=async(l,c)=>{if(typeof c.trigger!="function")return;let h=c.buttons?.indexOf(l)??-1;if(h>=0){let u=c.trigger(h,e.keyMods),g=typeof u=="number"?u:await u;if(t.isCancellationRequested)return;switch(g){case vr.NO_ACTION:break;case vr.CLOSE_PICKER:e.hide();break;case vr.REFRESH_PICKER:a();break;case vr.REMOVE_ITEM:{let m=e.items.indexOf(c);if(m!==-1){let f=e.items.slice(),_=f.splice(m,1),b=e.activeItems.filter(y=>y!==_[0]),v=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=f,b&&(e.activeItems=b),e.keepScrollPosition=v}break}}}};return o.add(e.onDidTriggerItemButton(({button:l,item:c})=>d(l,c))),o.add(e.onDidTriggerSeparatorButton(({button:l,separator:c})=>d(l,c))),o}};var HP=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Ss=function(s,e){return function(t,i){e(t,i,s)}},Pa,pt,Kv=class extends jv{static{Pa=this}static{this.PREFIX=">"}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=fR(_R,vR)}constructor(e,t,i,o,n,r){super(Pa.PREFIX,e),this.keybindingService=i,this.commandService=o,this.telemetryService=n,this.dialogService=r,this.commandsHistory=this._register(t.createInstance(gD)),this.options=e}async _getPicks(e,t,i,o){let n=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];let r=tg(()=>{let g=new Uv;g.updateDocuments(n.map(f=>({key:f.commandId,textChunks:[this.getTfIdfChunk(f)]})));let m=g.calculateScores(e,i);return AP(m).filter(f=>f.score>Pa.TFIDF_THRESHOLD).slice(0,Pa.TFIDF_MAX_RESULTS)}),a=[];for(let g of n){let m=Pa.WORD_FILTER(e,g.label)??void 0,f;if(g.commandAlias&&(f=Pa.WORD_FILTER(e,g.commandAlias)??void 0),m||f)g.highlights={label:m,detail:this.options.showAlias?f:void 0},a.push(g);else if(e===g.commandId)a.push(g);else if(e.length>=3){let _=r();if(i.isCancellationRequested)return[];let b=_.find(v=>v.key===g.commandId);b&&(g.tfIdfScore=b.score,a.push(g))}}let d=new Map;for(let g of a){let m=d.get(g.label);m?(g.description=g.commandId,m.description=m.commandId):d.set(g.label,g)}a.sort((g,m)=>{if(g.tfIdfScore&&m.tfIdfScore)return g.tfIdfScore===m.tfIdfScore?g.label.localeCompare(m.label):m.tfIdfScore-g.tfIdfScore;if(g.tfIdfScore)return 1;if(m.tfIdfScore)return-1;let f=this.commandsHistory.peek(g.commandId),_=this.commandsHistory.peek(m.commandId);if(f&&_)return f>_?-1:1;if(f)return-1;if(_)return 1;if(this.options.suggestedCommandIds){let y=this.options.suggestedCommandIds.has(g.commandId),L=this.options.suggestedCommandIds.has(m.commandId);if(y&&L)return 0;if(y)return-1;if(L)return 1}let b=g.commandCategory===Bu.Developer.value,v=m.commandCategory===Bu.Developer.value;return b&&!v?1:!b&&v?-1:g.label.localeCompare(m.label)});let l=[],c=!1,h=!0,u=!!this.options.suggestedCommandIds;for(let g=0;g<a.length;g++){let m=a[g],f=!!this.commandsHistory.peek(m.commandId);g===0&&f&&(l.push({type:"separator",label:p(1836,"recently used")}),c=!0),h&&m.tfIdfScore!==void 0&&(l.push({type:"separator",label:p(1837,"similar commands")}),h=!1),u&&m.tfIdfScore===void 0&&!f&&this.options.suggestedCommandIds?.has(m.commandId)&&(l.push({type:"separator",label:p(1838,"commonly used")}),c=!0,u=!1),c&&m.tfIdfScore===void 0&&!f&&!this.options.suggestedCommandIds?.has(m.commandId)&&(l.push({type:"separator",label:p(1839,"other commands")}),c=!1),l.push(this.toCommandPick(m,o,f))}return this.hasAdditionalCommandPicks(e,i)?{picks:l,additionalPicks:(async()=>{let g=await this.getAdditionalCommandPicks(n,a,e,i);if(i.isCancellationRequested)return[];let m=g.map(f=>this.toCommandPick(f,o));return h&&m[0]?.type!=="separator"&&m.unshift({type:"separator",label:p(1840,"similar commands")}),m})()}:l}toCommandPick(e,t,i=!1){if(e.type==="separator")return e;let o=e.tooltip??e.commandDescription?.value,n=this.keybindingService.lookupKeybinding(e.commandId),r=n?p(1841,"{0}, {1}",e.label,n.getAriaLabel()):e.label,a=e.buttons||[],d=i?[...a,{iconClass:ne.asClassName(B.close),tooltip:p(1842,"Remove from Recently Used")}]:e.buttons;return{...e,id:e.commandId,tooltip:o,ariaLabel:r,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:n,buttons:d,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(l){oi(l)||this.dialogService.error(p(1843,"Command '{0}' resulted in an error",e.label),Td(l))}},trigger:i?(l,c)=>{let h=a.length;return l===h?(this.commandsHistory.remove(e.commandId),vr.REMOVE_ITEM):e.trigger?e.trigger(l,c):vr.NO_ACTION}:e.trigger}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let o=e;return t&&t!==e&&(o+=` - ${t}`),i&&i.value!==e&&(o+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),o}};Kv=Pa=HP([Ss(1,j),Ss(2,he),Ss(3,Fe),Ss(4,yi),Ss(5,Ld)],Kv);var gD=class extends D{static{pt=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE="commandPalette.mru.cache"}static{this.PREF_KEY_COUNTER="commandPalette.mru.counter"}static{this.counter=1}static{this.hasChanges=!1}constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,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===xd.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=pt.getConfiguredCommandHistoryLength(this.configurationService),pt.cache&&pt.cache.limit!==this.configuredCommandsHistoryLength&&(pt.cache.limit=this.configuredCommandsHistoryLength,pt.hasChanges=!0))}load(){let e=this.storageService.get(pt.PREF_KEY_CACHE,0),t;if(e)try{t=JSON.parse(e)}catch(o){this.logService.error(`[CommandsHistory] invalid data: ${o}`)}let i=pt.cache=new dn(this.configuredCommandsHistoryLength,1);if(t){let o;t.usesLRU?o=t.entries:o=t.entries.sort((n,r)=>n.value-r.value),o.forEach(n=>i.set(n.key,n.value))}pt.counter=this.storageService.getNumber(pt.PREF_KEY_COUNTER,0,pt.counter)}push(e){pt.cache&&(pt.cache.set(e,pt.counter++),pt.hasChanges=!0)}peek(e){return pt.cache?.peek(e)}remove(e){pt.cache&&(pt.cache.delete(e),pt.hasChanges=!0)}saveState(){if(!pt.cache||!pt.hasChanges)return;let e={usesLRU:!0,entries:[]};pt.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(pt.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(pt.PREF_KEY_COUNTER,pt.counter,0,0),pt.hasChanges=!1}static getConfiguredCommandHistoryLength(e){let i=e.getValue().workbench?.commandPalette?.history;return typeof i=="number"?i:pt.DEFAULT_COMMANDS_HISTORY_LENGTH}};gD=pt=HP([Ss(0,Tt),Ss(1,re),Ss(2,gt)],gD);var qv=class extends Kv{constructor(e,t,i,o,n,r){super(e,t,i,o,n,r)}getCodeEditorCommandPicks(){let e=this.activeTextEditorControl;if(!e)return[];let t=[];for(let i of e.getSupportedActions()){let o;i.metadata?.description&&(RR(i.metadata.description)?o=i.metadata.description:o={original:i.metadata.description,value:i.metadata.description}),t.push({commandId:i.id,commandAlias:i.alias,commandDescription:o,label:wR(i.label)||i.id})}return t}};var sB=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},Jl=function(s,e){return function(t,i){e(t,i,s)}},Xu=class extends qv{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,o,n,r){super({showAlias:!1},e,i,o,n,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};Xu=sB([Jl(0,j),Jl(1,Re),Jl(2,he),Jl(3,Fe),Jl(4,yi),Jl(5,Ld)],Xu);var Gv=class s extends A{static{this.ID="editor.action.quickCommand"}constructor(){super({id:s.ID,label:JC.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:w.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(At).quickAccess.show(Xu.PREFIX)}};k(Gv);hi.as(Vo.Quickaccess).registerQuickAccessProvider({ctor:Xu,prefix:Xu.PREFIX,helpEntries:[{description:JC.quickCommandHelp,commandId:Gv.ID}]});var aB=function(s,e,t,i){var o=arguments.length,n=o<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(n=(o<3?r(n):o>3?r(e,t,n):r(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n},ec=function(s,e){return function(t,i){e(t,i,s)}},mD=class extends tr{constructor(e,t,i,o,n,r,a){super(!0,e,t,i,o,n,r,a)}};mD=aB([ec(1,J),ec(2,Re),ec(3,Je),ec(4,j),ec(5,Tt),ec(6,re)],mD);$(tr.ID,mD,4);var pD=class extends A{constructor(){super({id:"editor.action.toggleHighContrast",label:IT.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){let i=e.get(mm),o=i.getColorTheme();$n(o.type)?(i.setTheme(this._originalThemeName||(RC(o.type)?ET:LT)),this._originalThemeName=null):(i.setTheme(RC(o.type)?DT:kT),this._originalThemeName=o.themeName)}};k(pD);export{Gp as a};
|