@jxsuite/studio 10.2.0 → 10.3.0
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/chunks/{2020-bx702wqa.js → 2020-906vx2dq.js} +3 -3
- package/dist/chunks/adapter-hnvad61x.js +4 -0
- package/dist/chunks/add-new-flow-3tkn72ey.js +4 -0
- package/dist/chunks/cf-account-picker-xb8vvt2h.js +4 -0
- package/dist/chunks/cf-settings-mkbcz4z2.js +4 -0
- package/dist/chunks/components-w5zqwva1.js +4 -0
- package/dist/chunks/content-source-1vzxq1ba.js +4 -0
- package/dist/chunks/convert-to-repeater-gwzh9gar.js +4 -0
- package/dist/chunks/editor-wvf5e6j9.js +4 -0
- package/dist/chunks/entry-commands-mx2whrjx.js +4 -0
- package/dist/chunks/extension-sections-338ee35t.js +4 -0
- package/dist/chunks/file-ops-9bxvk59j.js +4 -0
- package/dist/chunks/files-t07yqqej.js +4 -0
- package/dist/chunks/format-host-5ja5gxyk.js +4 -0
- package/dist/chunks/fs-events-3424ezp3.js +4 -0
- package/dist/chunks/grid-open-1mpq9mzb.js +4 -0
- package/dist/chunks/{grid-view-tghcwrrt.js → grid-view-w9nfy203.js} +16 -16
- package/dist/chunks/icons-gb967qc8.js +4 -0
- package/dist/chunks/iframe-host-wsg0bn73.js +4 -0
- package/dist/chunks/image-bake-4afr4y6a.js +4 -0
- package/dist/chunks/image-editor-x7t8jbjn.js +4 -0
- package/dist/chunks/index-f9qr7kzh.js +4 -0
- package/dist/chunks/{index-vr006kbt.js → index-yjrfeks8.js} +3 -3
- package/dist/chunks/{javascript-z1g3s9fd.js → javascript-hy2mws8v.js} +3 -3
- package/dist/chunks/{jsonMode-7szwg8c4.js → jsonMode-vj30te2h.js} +6 -6
- package/dist/chunks/jx-validate-ttr5ewf0.js +4 -0
- package/dist/chunks/layers-m49nmwvx.js +4 -0
- package/dist/chunks/layers-panel-hvy2e549.js +4 -0
- package/dist/chunks/lit-html-k2mb9k0r.js +4 -0
- package/dist/chunks/media-library-ae67q4at.js +4 -0
- package/dist/chunks/media-open-yp9jm834.js +4 -0
- package/dist/chunks/media-picker-s41ngdfr.js +4 -0
- package/dist/chunks/{monaco-binding-v42w9c1v.js → monaco-binding-a51py33c.js} +3 -3
- package/dist/chunks/monaco-buffer-pa0g6ax7.js +4 -0
- package/dist/chunks/{monaco-setup-7bffxd6v.js → monaco-setup-g9kterhx.js} +3 -3
- package/dist/chunks/notify-bwehrp7q.js +4 -0
- package/dist/chunks/parse-hee7ne9b.js +4 -0
- package/dist/chunks/platform-kv0k65cy.js +4 -0
- package/dist/chunks/publish-panel-gzfxcm0t.js +4 -0
- package/dist/chunks/publish-quick-w3nxd7q4.js +4 -0
- package/dist/chunks/publish-workspace-dppd82tc.js +4 -0
- package/dist/chunks/quick-search-tdxaam55.js +4 -0
- package/dist/chunks/references-vqyr5s9x.js +4 -0
- package/dist/chunks/right-panel-0yrw4cgz.js +4 -0
- package/dist/chunks/source-control-6fk72me2.js +4 -0
- package/dist/chunks/{studio-j3d2fjqz.js → studio-0939t1q1.js} +4 -4
- package/dist/chunks/studio-0gvvqj3h.js +5 -0
- package/dist/chunks/studio-0khd8xtx.js +4 -0
- package/dist/chunks/studio-0w3541dg.js +7 -0
- package/dist/chunks/{studio-9b7177jq.js → studio-0x6f3nk9.js} +4 -4
- package/dist/chunks/studio-1410q5dw.js +5 -0
- package/dist/chunks/{studio-awxwjawq.js → studio-15hwqgd8.js} +4 -4
- package/dist/chunks/studio-1ks5d9y4.js +5 -0
- package/dist/chunks/{studio-881z1xrx.js → studio-2ggfzrrd.js} +4 -4
- package/dist/chunks/{studio-4jhw38b2.js → studio-321ym1tt.js} +4 -4
- package/dist/chunks/studio-3c10v2q1.js +5 -0
- package/dist/chunks/{studio-bvs9kpst.js → studio-3na1r48j.js} +8 -8
- package/dist/chunks/{studio-86r8hp7r.js → studio-3q7mhbgx.js} +5 -5
- package/dist/chunks/studio-3qr08sxq.js +4 -0
- package/dist/chunks/studio-3xk9zdgb.js +5 -0
- package/dist/chunks/{studio-qh8berdz.js → studio-423tfdte.js} +4 -4
- package/dist/chunks/{studio-75kcdbsk.js → studio-45mj4jqe.js} +4 -4
- package/dist/chunks/studio-4f7thq0p.js +5 -0
- package/dist/chunks/studio-4fnb5648.js +5 -0
- package/dist/chunks/studio-4zd6an2b.js +5 -0
- package/dist/chunks/studio-53wy9ek3.js +5 -0
- package/dist/chunks/studio-5n193zqd.js +5 -0
- package/dist/chunks/{studio-9rbe2xpw.js → studio-5tet77de.js} +3 -3
- package/dist/chunks/{studio-ybnwymxw.js → studio-7rrdbvex.js} +4 -4
- package/dist/chunks/studio-8kx6m0rg.js +5 -0
- package/dist/chunks/{studio-sxdb9h3q.js → studio-90zkgne5.js} +7 -7
- package/dist/chunks/studio-9c6cbq2c.js +4 -0
- package/dist/chunks/studio-9dq7rwc7.js +5 -0
- package/dist/chunks/{studio-cg1bfyhf.js → studio-9qx1ywbv.js} +8 -8
- package/dist/chunks/studio-a65kbs2e.js +9 -0
- package/dist/chunks/studio-aam8zt8z.js +5 -0
- package/dist/chunks/{studio-er5f383a.js → studio-abh9kfdh.js} +4 -4
- package/dist/chunks/studio-b4e0ftkt.js +5 -0
- package/dist/chunks/studio-b68k0z00.js +5 -0
- package/dist/chunks/{studio-399a25za.js → studio-bct64zmj.js} +4 -4
- package/dist/chunks/studio-bz0b5brj.js +6 -0
- package/dist/chunks/studio-cfnn70h1.js +5 -0
- package/dist/chunks/studio-daksw8kh.js +5 -0
- package/dist/chunks/{studio-r7pf0rkv.js → studio-e7vjyp04.js} +7 -7
- package/dist/chunks/studio-ea6r1zyr.js +5 -0
- package/dist/chunks/studio-egnjpyde.js +9 -0
- package/dist/chunks/studio-ejrypvmq.js +5 -0
- package/dist/chunks/studio-eqcddvc2.js +928 -0
- package/dist/chunks/studio-f8tyeyzt.js +5 -0
- package/dist/chunks/studio-fj6c905s.js +5 -0
- package/dist/chunks/{studio-646nn2ys.js → studio-fkrr7kgg.js} +5 -5
- package/dist/chunks/studio-fspe7m9t.js +5 -0
- package/dist/chunks/studio-g0hxtcga.js +5 -0
- package/dist/chunks/{studio-th7z3fg7.js → studio-g9brbewz.js} +4 -4
- package/dist/chunks/studio-ggx3j7nd.js +5 -0
- package/dist/chunks/{studio-43y04qck.js → studio-hfxttkyr.js} +4 -4
- package/dist/chunks/studio-hh394phe.js +5 -0
- package/dist/chunks/{studio-pjtntksy.js → studio-j0zf5x2x.js} +4 -4
- package/dist/chunks/studio-jeb7hth3.js +5 -0
- package/dist/chunks/studio-k0xzrse2.js +64 -0
- package/dist/chunks/studio-k1xqrgm5.js +5 -0
- package/dist/chunks/studio-k2evngrj.js +7 -0
- package/dist/chunks/studio-k3we3kqb.js +5 -0
- package/dist/chunks/{studio-sevbc3xv.js → studio-n9qba0gx.js} +4 -4
- package/dist/chunks/{studio-6hzdjfv0.js → studio-nf8esxxc.js} +4 -4
- package/dist/chunks/studio-nn4f9m9c.js +5 -0
- package/dist/chunks/studio-nskxe9q1.js +6 -0
- package/dist/chunks/{studio-ea74s8c1.js → studio-nvcn2ykc.js} +4 -4
- package/dist/chunks/studio-nwynxqtb.js +5 -0
- package/dist/chunks/studio-nzemfbkk.js +14 -0
- package/dist/chunks/studio-p2a03pgm.js +5 -0
- package/dist/chunks/{studio-4g8yb6jn.js → studio-pm17wdc4.js} +4 -4
- package/dist/chunks/{studio-71m92v9s.js → studio-q80fg1d6.js} +7 -7
- package/dist/chunks/studio-r050sez0.js +6 -0
- package/dist/chunks/studio-s7t4vp1d.js +6 -0
- package/dist/chunks/studio-s9fng7m8.js +7 -0
- package/dist/chunks/studio-sce30r7b.js +4 -0
- package/dist/chunks/studio-stahswgb.js +7 -0
- package/dist/chunks/studio-swedpd82.js +5 -0
- package/dist/chunks/studio-thz5t120.js +5 -0
- package/dist/chunks/studio-tpxcryf2.js +5 -0
- package/dist/chunks/{studio-wc6za3zs.js → studio-v5wktj6f.js} +4 -4
- package/dist/chunks/{studio-kg1abnz0.js → studio-vpevkfxw.js} +4 -4
- package/dist/chunks/studio-waekn290.js +5 -0
- package/dist/chunks/studio-wfct4h6n.js +5 -0
- package/dist/chunks/studio-wgc54sxf.js +5 -0
- package/dist/chunks/studio-wqfaqw4m.js +5 -0
- package/dist/chunks/studio-wse1rs8t.js +7 -0
- package/dist/chunks/studio-x0gsfr1d.js +16 -0
- package/dist/chunks/{studio-hhp4x8xf.js → studio-xpx91fby.js} +5 -5
- package/dist/chunks/studio-y1b86ast.js +5 -0
- package/dist/chunks/studio-yrcrncev.js +5 -0
- package/dist/chunks/{studio-rzqaz21g.js → studio-yzpskb0j.js} +4 -4
- package/dist/chunks/studio-zfdbmhp3.js +5 -0
- package/dist/chunks/{tsMode-f54j66ym.js → tsMode-jg1dtphj.js} +7 -7
- package/dist/chunks/workspace-9btkc8tk.js +4 -0
- package/dist/chunks/workspace-home-qcc4z5ag.js +4 -0
- package/dist/chunks/{ws-client-e8kj684q.js → ws-client-arz2qsy9.js} +3 -3
- package/dist/iframe-entry.js +13 -13
- package/dist/manifest.json +83 -78
- package/dist/studio.js +84 -84
- package/package.json +2 -2
- package/src/browse/library-pane.ts +44 -29
- package/src/browse/library-preview.ts +6 -2
- package/src/canvas/asset-refs.ts +13 -4
- package/src/canvas/asset-resolve.ts +54 -11
- package/src/canvas/canvas-render.ts +25 -0
- package/src/canvas/iframe-entry.ts +5 -1
- package/src/canvas/iframe-host.ts +16 -6
- package/src/canvas/iframe-protocol.ts +9 -1
- package/src/commands/context.ts +5 -0
- package/src/commands/live-context.ts +5 -2
- package/src/editor/shortcuts.ts +3 -0
- package/src/files/asset-versions.ts +108 -2
- package/src/files/file-ops.ts +11 -1
- package/src/files/files.ts +111 -48
- package/src/files/media-paths.ts +12 -4
- package/src/files/media-upload.ts +195 -21
- package/src/files/new-file-name.ts +39 -1
- package/src/media/image-bake.ts +164 -0
- package/src/media/image-editor.ts +846 -0
- package/src/media/image-format.ts +262 -0
- package/src/media/image-recipe.ts +651 -0
- package/src/media/media-commands.ts +65 -1
- package/src/media/media-library-model.ts +1 -1
- package/src/media/media-library.ts +175 -15
- package/src/media/media-open.ts +156 -3
- package/src/media/media-pane.ts +8 -4
- package/src/panels/pane-context.ts +6 -1
- package/src/panels/tab-strip.ts +12 -3
- package/src/studio.ts +13 -2
- package/src/surfaces/image-editor.json +1390 -0
- package/src/surfaces/image-editor.ts +272 -0
- package/src/surfaces/media-library.json +129 -1
- package/src/surfaces/media-library.ts +17 -2
- package/src/types.ts +2 -1
- package/src/workspace/tab-workspace.ts +2 -1
- package/src/workspace/workspace-switch.ts +3 -1
- package/src/workspace/workspace.ts +22 -1
- package/dist/chunks/adapter-pp011m5x.js +0 -4
- package/dist/chunks/add-new-flow-ecqmzz76.js +0 -4
- package/dist/chunks/cf-account-picker-c07znkqt.js +0 -4
- package/dist/chunks/cf-settings-0v2bmqy0.js +0 -4
- package/dist/chunks/components-yn0dn2pq.js +0 -4
- package/dist/chunks/content-source-g0j41yy6.js +0 -4
- package/dist/chunks/convert-to-repeater-sbjk7tgn.js +0 -4
- package/dist/chunks/editor-xz02jeh1.js +0 -4
- package/dist/chunks/entry-commands-kmt02crp.js +0 -4
- package/dist/chunks/extension-sections-0rprf12d.js +0 -4
- package/dist/chunks/file-ops-mexj5qed.js +0 -4
- package/dist/chunks/files-b2tcppdd.js +0 -4
- package/dist/chunks/format-host-btsevv0c.js +0 -4
- package/dist/chunks/fs-events-r0apejva.js +0 -4
- package/dist/chunks/grid-open-n2a8xkht.js +0 -4
- package/dist/chunks/icons-853n6qt3.js +0 -4
- package/dist/chunks/iframe-host-gx0ypyh3.js +0 -4
- package/dist/chunks/index-bs4k9tr6.js +0 -4
- package/dist/chunks/jx-validate-ymf10teh.js +0 -4
- package/dist/chunks/layers-p9nfya38.js +0 -4
- package/dist/chunks/layers-panel-tt1hzhhf.js +0 -4
- package/dist/chunks/lit-html-x18n2sfz.js +0 -4
- package/dist/chunks/media-library-0n45gv8r.js +0 -4
- package/dist/chunks/media-picker-s09at95z.js +0 -4
- package/dist/chunks/monaco-buffer-een2ea0v.js +0 -4
- package/dist/chunks/notify-qwb8radt.js +0 -4
- package/dist/chunks/parse-v77xtwv7.js +0 -4
- package/dist/chunks/platform-8jnez0wr.js +0 -4
- package/dist/chunks/publish-panel-aysnj611.js +0 -4
- package/dist/chunks/publish-quick-kpbqs9mz.js +0 -4
- package/dist/chunks/publish-workspace-nd0a8q99.js +0 -4
- package/dist/chunks/quick-search-vg0jkhk2.js +0 -4
- package/dist/chunks/references-a7v6a0e2.js +0 -4
- package/dist/chunks/right-panel-cvk1vxx5.js +0 -4
- package/dist/chunks/source-control-fsqzc6he.js +0 -4
- package/dist/chunks/studio-05jfwbmf.js +0 -5
- package/dist/chunks/studio-0q5jwddh.js +0 -9
- package/dist/chunks/studio-0w2dr0q8.js +0 -5
- package/dist/chunks/studio-1tzpds97.js +0 -9
- package/dist/chunks/studio-216b27sv.js +0 -4
- package/dist/chunks/studio-2ejhqns4.js +0 -5
- package/dist/chunks/studio-2r90cts3.js +0 -16
- package/dist/chunks/studio-399xknkb.js +0 -6
- package/dist/chunks/studio-4ncmwqw5.js +0 -5
- package/dist/chunks/studio-5atwjgkj.js +0 -7
- package/dist/chunks/studio-5frqk7c0.js +0 -5
- package/dist/chunks/studio-6cwj6xrx.js +0 -5
- package/dist/chunks/studio-78pywnp2.js +0 -6
- package/dist/chunks/studio-886t6ztg.js +0 -5
- package/dist/chunks/studio-8wnvtr4z.js +0 -5
- package/dist/chunks/studio-8z66jk4z.js +0 -5
- package/dist/chunks/studio-b2qpt0xy.js +0 -14
- package/dist/chunks/studio-c71806xz.js +0 -7
- package/dist/chunks/studio-cbwks69x.js +0 -928
- package/dist/chunks/studio-cg710sk9.js +0 -5
- package/dist/chunks/studio-cw0wb9qk.js +0 -7
- package/dist/chunks/studio-cyheys7k.js +0 -5
- package/dist/chunks/studio-ea5m9kg5.js +0 -5
- package/dist/chunks/studio-efdxjwyp.js +0 -64
- package/dist/chunks/studio-egmw2837.js +0 -5
- package/dist/chunks/studio-f746039f.js +0 -5
- package/dist/chunks/studio-fmdymd9v.js +0 -5
- package/dist/chunks/studio-gcm12z00.js +0 -6
- package/dist/chunks/studio-gj98m8gy.js +0 -7
- package/dist/chunks/studio-hasbgjah.js +0 -5
- package/dist/chunks/studio-hz5n7x27.js +0 -5
- package/dist/chunks/studio-jeraxdgv.js +0 -7
- package/dist/chunks/studio-jvgek9xt.js +0 -5
- package/dist/chunks/studio-jws1a87n.js +0 -5
- package/dist/chunks/studio-k2sz13zg.js +0 -5
- package/dist/chunks/studio-k3m4jkdk.js +0 -5
- package/dist/chunks/studio-kg5ya5r2.js +0 -5
- package/dist/chunks/studio-khwbgrtg.js +0 -5
- package/dist/chunks/studio-mx6wzh25.js +0 -5
- package/dist/chunks/studio-mxs3ar9t.js +0 -5
- package/dist/chunks/studio-nm4szey4.js +0 -5
- package/dist/chunks/studio-nqxqf8p2.js +0 -4
- package/dist/chunks/studio-qn7z4krm.js +0 -5
- package/dist/chunks/studio-qyed0ah6.js +0 -5
- package/dist/chunks/studio-r4bcdwhq.js +0 -5
- package/dist/chunks/studio-rtfnhrdg.js +0 -5
- package/dist/chunks/studio-s5tzw84t.js +0 -5
- package/dist/chunks/studio-t51y8v1d.js +0 -5
- package/dist/chunks/studio-t98vq4r6.js +0 -5
- package/dist/chunks/studio-tsxpqvh0.js +0 -6
- package/dist/chunks/studio-v1yascv2.js +0 -5
- package/dist/chunks/studio-wxq6v5sv.js +0 -5
- package/dist/chunks/studio-y60sts62.js +0 -4
- package/dist/chunks/studio-zndrqawb.js +0 -5
- package/dist/chunks/studio-zwaxn5s2.js +0 -5
- package/dist/chunks/workspace-home-x1787wpv.js +0 -4
- package/dist/chunks/workspace-zpe1np43.js +0 -4
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import{ot,ig,hf,YC,SI,vo,ZC,qn,Rs,yM,jv,jn,Vi,XC,wM,i0,Hv,X,vt,mi,Lr,yo,H,ic,Oh,ia,tu,Ln,xM,cn,Ds,ro,ni,Fe,oc,_M,Ha,Bv,og,e,b,nn,ve,ai,Yr,Ns,Ro,SM,Ba,Ni,As,Re,oa,Be,$r,N,d,i,ce,CI,Hn,dn,I,o,sc,Do,Ir,Os,ra,hs,ho,ye,qe,o0,un,Mh,Wv,bl,q,s,t,F,x,ps,Ph,cr,r0,e1,Vv,vl,rg,yl,Fh,CM,jh,fs,t1,sg,Uv,s0,Ut,Ke,qv,ii,n1,za,Ui,Ci,Kn,Rt,dr,pf,a0,nu,wl,No,Ms,$n,ac,xl,iu,TM,i1,sd,li,Xe,ci,Yt,lc,LM,$M,qi,Rr,gi,di,ke,aa,IM,oi,se,lg,ou,Gi,Ko,Hh,mf,kI,ru,c0,qt,bi,d0,f,In,o1,ur,W,ri,RM,DM,Je,NM,ad,j,Pe,Ps,so,EI,s1,TI,Bh,hr,ld,B,mn,c,Ct,AM,su,u0,h0,Kv,ki,p0,la,at,a1,OM,kt,Jv,Ao,_l,Xt,Sl,At,Fs,au,gf,Ge,$e,bf,E,Ee,vi,k,gn,w,MM,Oo,po,Wa,f0,Ie,Xr,LI,he,vf,_n,A,ie,Te,Et,Rn,wo,ut,ms,dc,J,Ue,Le,T,M,G,pt,Dn,yf,l,Ai,Jn,uc,Ki,Sn,lt,Bn,Qt,Ji,PM,cd,Nn,gs,FM,Oi,jM,wf,l1,HM,lu,Ye,c1,ao,$I,ug,xf,en,U,Yv,pr,Mo,K,O,m0,BM,fe,si,bs,re,xt,xe,Cn,_f,Dr,lo,ht,Zv,ca,Sf,hc,Qr,Jo,es,vs,cu,Xv,V,Cf,g0,u1,h1,zM,te,Gt,b0,hg,Cl,Po,gt,Yi,kf,xo,ui,II,pg,D,pc,y,Qv,z,RI,Fo,Tt,WM,kl,Xi,ys,dd,zn,jo,Mi,ty,Wh,on,Vh,ny,p1,VM,El,P,a,Nr,be,fg,Ae,v0,mg,je,Zt,gg,Yo,Va,Ho,Tf,bg,UM,Ua,Lf,js,$f,qM,ud,vg,GM,da,KM,fc,JM,yg,iy,If,f1,m1,YM,ZM,XM,QM,Uh,uu,y0,hu,oy,g1,DI,w0,x0,Rf,_0,e2,S0,b1,v1,wg,qh,xg,ry,Gh,hd,_g,pd,Tl,sy,fr,Kh,Lt,$t,Ot,Ei,C0,Ll,mt,$l,y1,fd,k0,Df,NI,Sg,t2,Nf,pu,ay,et,Ti,AI,Cg,Nt,ly,Pi,cy,Jh,ts,kg,x1,Af,mc,r,Of,ze,bn,Li,n2,_1,Eg,T0,S1,C1,hn,bc,yt,Ar,OI,o2,me,L0,Or,r2,ha,Yn,Tg,fo,dy,vn,$0,I0,R0,D0,k1,s2,fu,E1,md,ue,gd,vc,An,mu,a2,ws,Zn,Lg,Mf,T1,L1,$1,MI,d2,Zh,ns,uy,bd,u2,On,Xh,Mr,R1,hy,N0,_o,Il,Zo,h2,Bo,PI,A0,Pr,$g,kn,Mn,yc,O0,D1,N1,py,uo,xs,tt,yi,Ff,M0,FI,Dg,mr,$i,De,So,wc,fy,my,gy,O1,jf,vd,Ng,m2,Rl,M1,by,Qi,vy,P1,xc,P0,mo,F0,j0,_c,F1,H0,B0,z0,W0,V0,fa,jI,j1,H1,B1,rn,U0,Fr,z1,Ga,Hs,ma,W1,g2,b2,V1,v2,U1,Sc,Cc,q1,q0,Jt,Dl,Ag,ga,Qh,wy,bu,vu,Y1,Ka,Mt,Z1,xy,HI,_s,is,X1,Ii,wu,yd,Ja,K0,wi,ct,J0,tp,np,Ya,_y,Q1,Wf,Ss,Sy,Vf,zI,y2,WI,Uf,we}from"./studio-cbwks69x.js";import{le}from"./studio-j3d2fjqz.js";class Bf{constructor(u,n,h,g,p){this._onDidChange=new Uf,this._onDidExtraLibsChange=new Uf,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(u),this.setDiagnosticsOptions(n),this.setWorkerOptions(h),this.setInlayHintsOptions(g),this.setModeConfiguration(p),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(u,n){let h;if(typeof n>"u")h=`ts:extralib-${Math.random().toString(36).substring(2,15)}`;else h=n;if(this._extraLibs[h]&&this._extraLibs[h].content===u)return{dispose:()=>{}};let g=1;if(this._removedExtraLibs[h])g=this._removedExtraLibs[h]+1;if(this._extraLibs[h])g=this._extraLibs[h].version+1;return this._extraLibs[h]={content:u,version:g},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let p=this._extraLibs[h];if(!p)return;if(p.version!==g)return;delete this._extraLibs[h],this._removedExtraLibs[h]=g,this._fireOnDidExtraLibsChangeSoon()}}}setExtraLibs(u){for(let n in this._extraLibs)this._removedExtraLibs[n]=this._extraLibs[n].version;if(this._extraLibs=Object.create(null),u&&u.length>0)for(let n of u){let h=n.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,g=n.content,p=1;if(this._removedExtraLibs[h])p=this._removedExtraLibs[h]+1;this._extraLibs[h]={content:g,version:p}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){if(this._onDidExtraLibsChangeTimeout!==-1)return;this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0)}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(u){this._compilerOptions=u||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(u){this._diagnosticsOptions=u||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(u){this._workerOptions=u||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(u){this._inlayHintsOptions=u||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(u){}setEagerModelSync(u){this._eagerModelSync=u}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(u){this._modeConfiguration=u||Object.create(null),this._onDidChange.fire(void 0)}}var OS={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},_I=new Bf({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},OS),_D=new Bf({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},OS);function PS(){return le("f54j66ym"),import("./tsMode-f54j66ym.js")}we.onLanguage("typescript",()=>PS().then((u)=>u.setupTypeScript(_I)));we.onLanguage("javascript",()=>PS().then((u)=>u.setupJavaScript(_D)));class AS extends U{constructor(){super({id:"editor.action.forceRetokenize",label:b(1606,"Developer: Force Retokenize"),precondition:void 0})}run(u,n){if(!n.hasModel())return;let h=n.getModel();h.tokenization.resetTokenization();let g=new dn;h.tokenization.forceTokenization(h.getLineCount()),g.stop(),console.log(`tokenization took ${g.elapsed()}`)}}O(AS);class jt{static{this.sep="."}static{this.None=new jt("@@none@@")}static{this.Empty=new jt("")}constructor(u){this.value=u}equals(u){return this.value===u.value}contains(u){return this.equals(u)||this.value===""||u.value.startsWith(this.value+jt.sep)}intersects(u){return this.contains(u)||u.contains(this)}append(...u){return new jt((this.value?[this.value,...u]:u).join(jt.sep))}}var bD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},vD=function(u,n){return function(h,g){n(h,g,u)}},wD=ue.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:i1,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0,widthInEm:1}});class zf extends i{static{this.baseId="editor.widget.inlineProgressWidget"}constructor(u,n,h,g,p){super();this.typeId=u,this.editor=n,this.range=h,this.delegate=p,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(g),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(u){this.domNode=w(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=u;let n=w("span.icon");this.domNode.append(n),n.classList.add(...J.asClassNameArray(x.loading),"codicon-modifier-spin");let h=()=>{let g=this.editor.getOption(75);this.domNode.style.height=`${g}px`,this.domNode.style.width=`${Math.ceil(0.8*g)}px`};h(),this._register(this.editor.onDidChangeConfiguration((g)=>{if(g.hasChanged(61)||g.hasChanged(75))h()})),this._register(c(this.domNode,E.CLICK,(g)=>{this.delegate.cancel()}))}getId(){return zf.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)}}var Dv=class u extends i{constructor(n,h,g){super();this.id=n,this._editor=h,this._instantiationService=g,this._showDelay=500,this._showPromise=this._register(new ce),this._currentWidget=this._register(new ce),this._operationIdPool=0,this._currentDecorations=h.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(n,h,g,p,m){let _=this._operationIdPool++;this._currentOperation=_,this.clear(),this._showPromise.value=gi(()=>{let v=t.fromPositions(n);if(this._currentDecorations.set([{range:v,options:wD}]).length>0)this._currentWidget.value=this._instantiationService.createInstance(zf,this.id,this._editor,v,h,p)},m??this._showDelay);try{return await g}finally{if(this._currentOperation===_)this.clear(),this._currentOperation=void 0}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};Dv=bD([vD(2,A)],Dv);var SD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},FS=function(u,n){return function(h,g){n(h,g,u)}},zu,pi=class u{static{zu=this}static{this.ID="editor.contrib.messageController"}static{this.MESSAGE_VISIBLE=new M("messageVisible",!1,e(1353,"Whether the editor is currently showing an inline message"))}static get(n){return n.getContribution(zu.ID)}constructor(n,h,g){this._openerService=g,this._messageWidget=new ce,this._messageListeners=new d,this._mouseOverMessage=!1,this._editor=n,this._visible=zu.MESSAGE_VISIBLE.bindTo(h)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(n,h){if(zn(Mr(n)?n.value:n),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),Mr(n)){let p=this._messageListeners.add(Il(n,{actionHandler:(m,_)=>{this.closeMessage(),PI(this._openerService,m,_.isTrusted)}}));this._messageWidget.value=new Ku(this._editor,h,p.element)}else this._messageWidget.value=new Ku(this._editor,h,n);this._messageListeners.add(I.debounce(this._editor.onDidBlurEditorText,(p,m)=>m,0)(()=>{if(this._mouseOverMessage)return;if(this._messageWidget.value&&Xt(At(),this._messageWidget.value.getDomNode()))return;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(c(this._messageWidget.value.getDomNode(),E.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(c(this._messageWidget.value.getDomNode(),E.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let g;this._messageListeners.add(this._editor.onMouseMove((p)=>{if(!p.target.position)return;if(!g)g=new t(h.lineNumber-3,1,p.target.position.lineNumber+3,1);else if(!g.containsPosition(p.target.position))this.closeMessage()}))}closeMessage(){if(this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value)this._messageListeners.add(Ku.fadeOut(this._messageWidget.value))}};pi=zu=SD([FS(1,G),FS(2,Zo)],pi);var CD=en.bindToContribution(pi.get);K(new CD({id:"leaveEditorMessage",precondition:pi.MESSAGE_VISIBLE,handler:(u)=>u.closeMessage(),kbOpts:{weight:130,primary:9}}));class Ku{static fadeOut(u){let n=()=>{u.dispose(),clearTimeout(h),u.getDomNode().removeEventListener("animationend",n)},h=setTimeout(n,110);return u.getDomNode().addEventListener("animationend",n),u.getDomNode().classList.add("fadeOut"),{dispose:n}}constructor(u,{lineNumber:n,column:h},g){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=u,this._editor.revealLinesInCenterIfOutsideViewport(n,n,0),this._position={lineNumber:n,column:h},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";let p=document.createElement("div");p.classList.add("anchor","top"),this._domNode.appendChild(p);let m=document.createElement("div");if(typeof g==="string")m.classList.add("message"),m.textContent=g;else g.classList.add("message"),m.appendChild(g);this._domNode.appendChild(m);let _=document.createElement("div");_.classList.add("anchor","below"),this._domNode.appendChild(_),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(u){this._domNode.classList.toggle("below",u===2)}}fe(pi.ID,pi,4);var Kf=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},cl=function(u,n){return function(h,g){n(h,g,u)}};class qu{constructor(u){this.copyMimeTypes=[],this.kind=u,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(u,n,h,g,p){let m=await this.getEdit(h,p);if(!m)return;return{edits:[{insertText:m.insertText,title:m.title,kind:m.kind,handledMimeType:m.handledMimeType,yieldTo:m.yieldTo}],dispose(){}}}async provideDocumentDropEdits(u,n,h,g){let p=await this.getEdit(h,g);if(!p)return;return{edits:[{insertText:p.insertText,title:p.title,kind:p.kind,handledMimeType:p.handledMimeType,yieldTo:p.yieldTo}],dispose(){}}}}class Rh extends qu{static{this.id="text"}constructor(){super(jt.Empty.append("text","plain"));this.id=Rh.id,this.dropMimeTypes=[Cn.text],this.pasteMimeTypes=[Cn.text]}async getEdit(u,n){let h=u.get(Cn.text);if(!h)return;if(u.has(Cn.uriList))return;let g=await h.asString();return{handledMimeType:Cn.text,title:e(980,"Insert Plain Text"),insertText:g,kind:this.kind}}}class qf extends qu{constructor(){super(jt.Empty.append("uri","path","absolute"));this.dropMimeTypes=[Cn.uriList],this.pasteMimeTypes=[Cn.uriList]}async getEdit(u,n){let h=await WS(u);if(!h.length||n.isCancellationRequested)return;let g=0,p=h.map(({uri:_,originalText:v})=>{if(_.scheme===se.file)return _.fsPath;else return g++,v}).join(" "),m;if(g>0)m=h.length>1?e(981,"Insert Uris"):e(982,"Insert Uri");else m=h.length>1?e(983,"Insert Paths"):e(984,"Insert Path");return{handledMimeType:Cn.uriList,insertText:p,title:m,kind:this.kind}}}var Uu=class u extends qu{constructor(n){super(jt.Empty.append("uri","path","relative"));this._workspaceContextService=n,this.dropMimeTypes=[Cn.uriList],this.pasteMimeTypes=[Cn.uriList]}async getEdit(n,h){let g=await WS(n);if(!g.length||h.isCancellationRequested)return;let p=vo(g.map(({uri:m})=>{let _=this._workspaceContextService.getWorkspaceFolder(m);return _?HM(_.uri,m):void 0}));if(!p.length)return;return{handledMimeType:Cn.uriList,insertText:p.join(" "),title:g.length>1?e(985,"Insert Relative Paths"):e(986,"Insert Relative Path"),kind:this.kind}}};Uu=Kf([cl(0,ma)],Uu);class HS{constructor(){this.kind=new jt("html"),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Cn.text}]}async provideDocumentPasteEdits(u,n,h,g,p){if(g.triggerKind!==rg.PasteAs&&!g.only?.contains(this.kind))return;let _=await h.get("text/html")?.asString();if(!_||p.isCancellationRequested)return;return{dispose(){},edits:[{insertText:_,yieldTo:this._yieldTo,title:e(987,"Insert HTML"),kind:this.kind}]}}}async function WS(u){let n=u.get(Cn.uriList);if(!n)return[];let h=await n.asString(),g=[];for(let p of Sg.parse(h))try{g.push({uri:q.parse(p),originalText:p})}catch{}return g}var xa={scheme:"*",hasAccessToAllModels:!0},HC=class u extends i{constructor(n,h){super();this._register(n.documentDropEditProvider.register(xa,new Rh)),this._register(n.documentDropEditProvider.register(xa,new qf)),this._register(n.documentDropEditProvider.register(xa,new Uu(h)))}};HC=Kf([cl(0,z),cl(1,ma)],HC);var BC=class u extends i{constructor(n,h){super();this._register(n.documentPasteEditProvider.register(xa,new Rh)),this._register(n.documentPasteEditProvider.register(xa,new qf)),this._register(n.documentPasteEditProvider.register(xa,new Uu(h))),this._register(n.documentPasteEditProvider.register(xa,new HS))}};BC=Kf([cl(0,z),cl(1,ma)],BC);class Pn{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(u){return u>=48&&u<=57}static isVariableCharacter(u){return u===95||u>=97&&u<=122||u>=65&&u<=90}text(u){this.value=u,this.pos=0}tokenText(u){return this.value.substr(u.pos,u.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let u=this.pos,n=0,h=this.value.charCodeAt(u),g;if(g=Pn._table[h],typeof g==="number")return this.pos+=1,{type:g,pos:u,len:1};if(Pn.isDigitCharacter(h)){g=8;do n+=1,h=this.value.charCodeAt(u+n);while(Pn.isDigitCharacter(h));return this.pos+=n,{type:g,pos:u,len:n}}if(Pn.isVariableCharacter(h)){g=9;do h=this.value.charCodeAt(u+ ++n);while(Pn.isVariableCharacter(h)||Pn.isDigitCharacter(h));return this.pos+=n,{type:g,pos:u,len:n}}g=10;do n+=1,h=this.value.charCodeAt(u+n);while(!isNaN(h)&&typeof Pn._table[h]>"u"&&!Pn.isDigitCharacter(h)&&!Pn.isVariableCharacter(h));return this.pos+=n,{type:g,pos:u,len:n}}}class Ia{constructor(){this._children=[]}appendChild(u){if(u instanceof fi&&this._children[this._children.length-1]instanceof fi)this._children[this._children.length-1].value+=u.value;else u.parent=this,this._children.push(u);return this}replace(u,n){let{parent:h}=u,g=h.children.indexOf(u),p=h.children.slice(0);p.splice(g,1,...n),h._children=p,function m(_,v){for(let S of _)S.parent=v,m(S.children,S)}(n,h)}get children(){return this._children}get rightMostDescendant(){if(this._children.length>0)return this._children[this._children.length-1].rightMostDescendant;return this}get snippet(){let u=this;while(!0){if(!u)return;if(u instanceof Pd)return u;u=u.parent}}toString(){return this.children.reduce((u,n)=>u+n.toString(),"")}len(){return 0}}class fi extends Ia{constructor(u){super();this.value=u}toString(){return this.value}len(){return this.value.length}clone(){return new fi(this.value)}}class Gf extends Ia{}class go extends Gf{static compareByIndex(u,n){if(u.index===n.index)return 0;else if(u.isFinalTabstop)return 1;else if(n.isFinalTabstop)return-1;else if(u.index<n.index)return-1;else if(u.index>n.index)return 1;else return 0}constructor(u){super();this.index=u}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof La?this._children[0]:void 0}clone(){let u=new go(this.index);if(this.transform)u.transform=this.transform.clone();return u._children=this.children.map((n)=>n.clone()),u}}class La extends Ia{constructor(){super(...arguments);this.options=[]}appendChild(u){if(u instanceof fi)u.parent=this,this.options.push(u);return this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let u=new La;return this.options.forEach(u.appendChild,u),u}}class Zf extends Ia{constructor(){super(...arguments);this.regexp=new RegExp("")}resolve(u){let n=this,h=!1,g=u.replace(this.regexp,function(){return h=!0,n._replace(Array.prototype.slice.call(arguments,0,-2))});if(!h&&this._children.some((p)=>p instanceof Fn&&Boolean(p.elseValue)))g=this._replace([]);return g}_replace(u){let n="";for(let h of this._children)if(h instanceof Fn){let g=u[h.index]||"";g=h.resolve(g),n+=g}else n+=h.toString();return n}toString(){return""}clone(){let u=new Zf;return u.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),u._children=this.children.map((n)=>n.clone()),u}}class Fn extends Ia{constructor(u,n,h,g){super();this.index=u,this.shorthandName=n,this.ifValue=h,this.elseValue=g}resolve(u){if(this.shorthandName==="upcase")return!u?"":u.toLocaleUpperCase();else if(this.shorthandName==="downcase")return!u?"":u.toLocaleLowerCase();else if(this.shorthandName==="capitalize")return!u?"":u[0].toLocaleUpperCase()+u.substr(1);else if(this.shorthandName==="pascalcase")return!u?"":this._toPascalCase(u);else if(this.shorthandName==="camelcase")return!u?"":this._toCamelCase(u);else if(this.shorthandName==="kebabcase")return!u?"":this._toKebabCase(u);else if(this.shorthandName==="snakecase")return!u?"":this._toSnakeCase(u);else if(Boolean(u)&&typeof this.ifValue==="string")return this.ifValue;else if(!Boolean(u)&&typeof this.elseValue==="string")return this.elseValue;else return u||""}_toKebabCase(u){if(!u.match(/[\p{L}0-9]+/gu))return u;if(!u.match(/[\p{L}0-9]/u))return u.trim().toLowerCase().replace(/^_+|_+$/g,"").replace(/[\s_]+/g,"-");let h=u.trim().replace(/^_+|_+$/g,""),g=h.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);if(!g)return h.split(/[\s_-]+/).filter((p)=>p.length>0).map((p)=>p.toLowerCase()).join("-");return g.map((p)=>p.toLowerCase()).join("-")}_toPascalCase(u){let n=u.match(/[\p{L}0-9]+/gu);if(!n)return u;return n.map((h)=>h.charAt(0).toUpperCase()+h.substr(1)).join("")}_toCamelCase(u){let n=u.match(/[\p{L}0-9]+/gu);if(!n)return u;return n.map((h,g)=>{if(g===0)return h.charAt(0).toLowerCase()+h.substr(1);return h.charAt(0).toUpperCase()+h.substr(1)}).join("")}_toSnakeCase(u){return u.replace(/(\p{Ll})(\p{Lu})/gu,"$1_$2").replace(/[\s\-]+/g,"_").toLowerCase()}clone(){return new Fn(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class ls extends Gf{constructor(u){super();this.name=u}resolve(u){let n=u.resolve(this);if(this.transform)n=this.transform.resolve(n||"");if(n!==void 0)return this._children=[new fi(n)],!0;return!1}clone(){let u=new ls(this.name);if(this.transform)u.transform=this.transform.clone();return u._children=this.children.map((n)=>n.clone()),u}}function BS(u,n){let h=[...u];while(h.length>0){let g=h.shift();if(!n(g))break;h.unshift(...g.children)}}class Pd extends Ia{get placeholderInfo(){if(!this._placeholders){let u=[],n;this.walk(function(h){if(h instanceof go)u.push(h),n=!n||n.index<h.index?h:n;return!0}),this._placeholders={all:u,last:n}}return this._placeholders}get placeholders(){let{all:u}=this.placeholderInfo;return u}offset(u){let n=0,h=!1;if(this.walk((g)=>{if(g===u)return h=!0,!1;return n+=g.len(),!0}),!h)return-1;return n}fullLen(u){let n=0;return BS([u],(h)=>(n+=h.len(),!0)),n}enclosingPlaceholders(u){let n=[],{parent:h}=u;while(h){if(h instanceof go)n.push(h);h=h.parent}return n}resolveVariables(u){return this.walk((n)=>{if(n instanceof ls){if(n.resolve(u))this._placeholders=void 0}return!0}),this}appendChild(u){return this._placeholders=void 0,super.appendChild(u)}replace(u,n){return this._placeholders=void 0,super.replace(u,n)}clone(){let u=new Pd;return u._children=this.children.map((n)=>n.clone()),u}walk(u){BS(this.children,u)}}class bo{constructor(){this._scanner=new Pn,this._token={type:14,pos:0,len:0}}static escape(u){return u.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(u){return/\${?CLIPBOARD/.test(u)}parse(u,n,h){let g=new Pd;return this.parseFragment(u,g),this.ensureFinalTabstop(g,h??!1,n??!1),g}parseFragment(u,n){let h=n.children.length;this._scanner.text(u),this._token=this._scanner.next();while(this._parse(n));let g=new Map,p=[];n.walk((v)=>{if(v instanceof go)if(v.isFinalTabstop)g.set(0,void 0);else if(!g.has(v.index)&&v.children.length>0)g.set(v.index,v.children);else p.push(v);return!0});let m=(v,S)=>{let C=g.get(v.index);if(!C)return;let L=new go(v.index);L.transform=v.transform;for(let R of C){let Z=R.clone();if(L.appendChild(Z),Z instanceof go&&g.has(Z.index)&&!S.has(Z.index))S.add(Z.index),m(Z,S),S.delete(Z.index)}n.replace(v,[L])},_=new Set;for(let v of p)m(v,_);return n.children.slice(h)}ensureFinalTabstop(u,n,h){if(n||h&&u.placeholders.length>0){if(!u.placeholders.find((p)=>p.index===0))u.appendChild(new go(0))}}_accept(u,n){if(u===void 0||this._token.type===u){let h=!n?!0:this._scanner.tokenText(this._token);return this._token=this._scanner.next(),h}return!1}_backTo(u){return this._scanner.pos=u.pos+u.len,this._token=u,!1}_until(u){let n=this._token;while(this._token.type!==u){if(this._token.type===14)return!1;else if(this._token.type===5){let g=this._scanner.next();if(g.type!==0&&g.type!==4&&g.type!==5)return!1}this._token=this._scanner.next()}let h=this._scanner.value.substring(n.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),h}_parse(u){return this._parseEscaped(u)||this._parseTabstopOrVariableName(u)||this._parseComplexPlaceholder(u)||this._parseComplexVariable(u)||this._parseAnything(u)}_parseEscaped(u){let n;if(n=this._accept(5,!0))return n=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||n,u.appendChild(new fi(n)),!0;return!1}_parseTabstopOrVariableName(u){let n,h=this._token;if(!(this._accept(0)&&(n=this._accept(9,!0)||this._accept(8,!0))))return this._backTo(h);return u.appendChild(/^\d+$/.test(n)?new go(Number(n)):new ls(n)),!0}_parseComplexPlaceholder(u){let n,h=this._token;if(!(this._accept(0)&&this._accept(3)&&(n=this._accept(8,!0))))return this._backTo(h);let p=new go(Number(n));if(this._accept(1))while(!0){if(this._accept(4))return u.appendChild(p),!0;if(this._parse(p))continue;return u.appendChild(new fi("${"+n+":")),p.children.forEach(u.appendChild,u),!0}else if(p.index>0&&this._accept(7)){let m=new La;while(!0){if(this._parseChoiceElement(m)){if(this._accept(2))continue;if(this._accept(7)){if(p.appendChild(m),this._accept(4))return u.appendChild(p),!0}}return this._backTo(h),!1}}else if(this._accept(6)){if(this._parseTransform(p))return u.appendChild(p),!0;return this._backTo(h),!1}else if(this._accept(4))return u.appendChild(p),!0;else return this._backTo(h)}_parseChoiceElement(u){let n=this._token,h=[];while(!0){if(this._token.type===2||this._token.type===7)break;let g;if(g=this._accept(5,!0))g=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||g;else g=this._accept(void 0,!0);if(!g)return this._backTo(n),!1;h.push(g)}if(h.length===0)return this._backTo(n),!1;return u.appendChild(new fi(h.join(""))),!0}_parseComplexVariable(u){let n,h=this._token;if(!(this._accept(0)&&this._accept(3)&&(n=this._accept(9,!0))))return this._backTo(h);let p=new ls(n);if(this._accept(1))while(!0){if(this._accept(4))return u.appendChild(p),!0;if(this._parse(p))continue;return u.appendChild(new fi("${"+n+":")),p.children.forEach(u.appendChild,u),!0}else if(this._accept(6)){if(this._parseTransform(p))return u.appendChild(p),!0;return this._backTo(h),!1}else if(this._accept(4))return u.appendChild(p),!0;else return this._backTo(h)}_parseTransform(u){let n=new Zf,h="",g="";while(!0){if(this._accept(6))break;let p;if(p=this._accept(5,!0)){p=this._accept(6,!0)||p,h+=p;continue}if(this._token.type!==14){h+=this._accept(void 0,!0);continue}return!1}while(!0){if(this._accept(6))break;let p;if(p=this._accept(5,!0)){p=this._accept(5,!0)||this._accept(6,!0)||p,n.appendChild(new fi(p));continue}if(this._parseFormatString(n)||this._parseAnything(n))continue;return!1}while(!0){if(this._accept(4))break;if(this._token.type!==14){g+=this._accept(void 0,!0);continue}return!1}try{n.regexp=new RegExp(h,g)}catch(p){return!1}return u.transform=n,!0}_parseFormatString(u){let n=this._token;if(!this._accept(0))return!1;let h=!1;if(this._accept(3))h=!0;let g=this._accept(8,!0);if(!g)return this._backTo(n),!1;else if(!h)return u.appendChild(new Fn(Number(g))),!0;else if(this._accept(4))return u.appendChild(new Fn(Number(g))),!0;else if(!this._accept(1))return this._backTo(n),!1;if(this._accept(6)){let p=this._accept(9,!0);if(!p||!this._accept(4))return this._backTo(n),!1;else return u.appendChild(new Fn(Number(g),p)),!0}else if(this._accept(11)){let p=this._until(4);if(p)return u.appendChild(new Fn(Number(g),void 0,p,void 0)),!0}else if(this._accept(12)){let p=this._until(4);if(p)return u.appendChild(new Fn(Number(g),void 0,void 0,p)),!0}else if(this._accept(13)){let p=this._until(1);if(p){let m=this._until(4);if(m)return u.appendChild(new Fn(Number(g),void 0,p,m)),!0}}else{let p=this._until(4);if(p)return u.appendChild(new Fn(Number(g),void 0,void 0,p)),!0}return this._backTo(n),!1}_parseAnything(u){if(this._token.type!==14)return u.appendChild(new fi(this._scanner.tokenText(this._token))),this._accept(void 0),!0;return!1}}function ju(u,n,h){if(typeof h.insertText==="string"?h.insertText==="":h.insertText.snippet==="")return{edits:h.additionalEdit?.edits??[]};return{edits:[...n.map((g)=>new Cc(u,{range:g,text:typeof h.insertText==="string"?bo.escape(h.insertText)+"$0":h.insertText.snippet,insertAsSnippet:!0})),...h.additionalEdit?.edits??[]]}}function zC(u){function n(_,v){if("mimeType"in _)return _.mimeType===v.handledMimeType;return!!v.kind&&_.kind.contains(v.kind)}let h=new Map;for(let _ of u)for(let v of _.yieldTo??[])for(let S of u){if(S===_)continue;if(n(v,S)){let C=h.get(_);if(!C)C=[],h.set(_,C);C.push(S)}}if(!h.size)return Array.from(u);let g=new Set,p=[];function m(_){if(!_.length)return[];let v=_[0];if(p.includes(v))return console.warn("Yield to cycle detected",v),_;if(g.has(v))return m(_.slice(1));let S=[],C=h.get(v);if(C)p.push(v),S=m(C),p.pop();return g.add(v),[...S,v,...m(_.slice(1))]}return m(Array.from(u))}function Xf(u,n){if(n&&(u.stack||u.stacktrace))return e(33,"{0}: {1}",zS(u),VS(u.stack)||VS(u.stacktrace));return zS(u)}function VS(u){if(Array.isArray(u))return u.join(`
|
|
2
|
-
`);return u}function zS(u){if(u.code==="ERR_UNC_HOST_NOT_ALLOWED")return`${u.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`;if(typeof u.code==="string"&&typeof u.errno==="number"&&typeof u.syscall==="string")return e(34,"A system error occurred ({0})",u.message);return u.message||e(35,"An unknown error occurred. Please consult the log for more details.")}function Nv(u=null,n=!1){if(!u)return e(36,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(u)){let h=vo(u),g=Nv(h[0],n);if(h.length>1)return e(37,"{0} ({1} errors in total)",g,h.length);return g}if(Ln(u))return u;if(u.detail){let h=u.detail;if(h.error)return Xf(h.error,n);if(h.exception)return Xf(h.exception,n)}if(u.stack)return Xf(u,n);if(u.message)return u.message;return e(38,"An unknown error occurred. Please consult the log for more details.")}class Yf extends i{constructor(u){super();this._onChange=this._register(new o),this.onChange=this._onChange.event,this._checked=!!u.checked,this._title=u.title??u.ariaLabel,this.domNode=w("button.monaco-switch"),this.domNode.type="button",this.domNode.setAttribute("role","switch"),k(this.domNode,w(".monaco-switch-thumb")),this._register($i().setupDelayedHover(this.domNode,()=>({content:this._title,style:1}))),this.setAriaLabel(u.ariaLabel,u.title),this.disabled=!!u.disabled,this._applyState(),this._register(c(this.domNode,E.CLICK,(n)=>{if(Ee.stop(n,!0),this.domNode.disabled)return;this._checked=!this._checked,this._applyState(),this._onChange.fire(this._checked)}))}get checked(){return this._checked}set checked(u){if(this._checked!==u)this._checked=u,this._applyState()}get disabled(){return this.domNode.disabled}set disabled(u){this.domNode.disabled=u}setAriaLabel(u,n=u){this.domNode.setAttribute("aria-label",u),this._title=n}_applyState(){this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked)}}var yD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},KS=function(u,n){return function(h,g){n(h,g,u)}},Ad=class u extends i{get enabled(){return this._enabled}set enabled(n){if(n)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;else 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=n}constructor(n,h,g={},p,m){super();this._link=h,this._hoverService=p,this._enabled=!0,this.el=k(n,w("a.monaco-link",{tabIndex:h.tabIndex??0,href:h.href},h.label)),this.hoverDelegate=g.hoverDelegate??mr("mouse"),this.setTooltip(h.title),this.el.setAttribute("role","button");let _=this._register(new mt(this.el,"click")),v=this._register(new mt(this.el,"keydown")),S=I.chain(v.event,(R)=>R.map((Z)=>new Xe(Z)).filter((Z)=>Z.keyCode===3||Z.keyCode===10)),C=this._register(new mt(this.el,$t.Tap)).event;this._register(Ot.addTarget(this.el));let L=I.any(_.event,S,C);this._register(L((R)=>{if(!this.enabled)return;if(Ee.stop(R,!0),g?.opener)g.opener(this._link.href);else m.open(this._link.href,{allowCommands:!0})})),this.enabled=!0}setTooltip(n){if(!this.hover&&n)this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,n));else if(this.hover)this.hover.update(n)}};Ad=yD([KS(3,An),KS(4,Zo)],Ad);var o_=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},us=function(u,n){return function(h,g){n(h,g,u)}},Jf,Gu="acceptSelectedCodeAction",Zu="previewSelectedCodeAction",xD=new Set([Gu,Zu,"toggleSectionCodeAction"]),ID="actionList.remove";class US{get templateId(){return"header"}renderTemplate(u){u.classList.add("group-header");let n=document.createElement("span");return u.append(n),{container:u,text:n}}renderElement(u,n,h){h.text.textContent=u.group?.title??u.label??""}disposeTemplate(u){}}class qS{get templateId(){return"separator"}renderTemplate(u){u.classList.add("separator");let n=document.createElement("span");return u.append(n),{container:u,text:n}}renderElement(u,n,h){h.container.classList.toggle("has-label",!!u.label),h.text.textContent=u.label??""}disposeTemplate(u){}}function jS(u){return!!u.submenuActions?.length&&!u.hover?.content||!!u.hover?.expandable}function $S(u){return jS(u)&&u.hover?.showIndicator!==!1}var Qf=class u{get templateId(){return"action"}constructor(n,h,g,p,m,_,v,S,C,L,R,Z){this._supportsPreview=n,this._onRemoveItem=h,this._onShowSubmenu=g,this._reservesSubmenuSpace=p,this._groupTitleByIndex=m,this._linkHandler=_,this._hideDefaultKeybindingTooltip=v,this._stopToolbarPointerPropagation=S,this._registerStandaloneToggle=C,this._registerToolbar=L,this._keybindingService=R,this._openerService=Z}renderTemplate(n){n.classList.add(this.templateId);let h=document.createElement("div");h.className="icon",n.append(h);let g=document.createElement("span");g.className="title",n.append(g);let p=document.createElement("span");p.className="action-item-badge",p.ariaHidden="true",n.append(p);let m=document.createElement("span");m.className="description",n.append(m);let _=document.createElement("span");_.className="group-title",n.append(_);let v=document.createElement("span");v.className="detail",n.append(v);let S=new Ka(n,Ni),C=document.createElement("div");C.className="action-list-item-toolbar",n.append(C);let L=document.createElement("div");L.className="action-list-submenu-indicator",n.append(L);let R=document.createElement("div");R.className="action-list-item-inline-toggle",n.append(R);let Z=new d;return{container:n,icon:h,text:g,detail:v,badge:p,description:m,groupTitle:_,keybinding:S,toolbar:C,submenuIndicator:L,inlineToggleContainer:R,elementDisposables:Z}}renderElement(n,h,g){if(g.elementDisposables.clear(),n.iconClasses?.length)g.icon.className=["icon",...n.iconClasses].join(" "),g.icon.style.color="";else if(n.group?.icon)g.icon.className=J.asClassName(n.group.icon),g.icon.style.color=n.group.icon.color?P(n.group.icon.color.id):"";else g.icon.className=J.asClassName(x.lightBulb),g.icon.style.color="var(--vscode-editorLightBulb-foreground)";if(!n.item&&!n.standaloneToggle||!n.label)return;if(MM(!n.hideIcon,g.icon),n.isSectionToggle){let L=n.group?.icon===x.chevronDown;g.container.setAttribute("aria-expanded",String(L))}else g.container.removeAttribute("aria-expanded");if(g.previousClassNames?.length)g.container.classList.remove(...g.previousClassNames);let p=n.className?.split(/\s+/).filter((L)=>L.length>0)??[];if(g.container.classList.toggle("action-list-custom",p.length>0),p.length)g.container.classList.add(...p);if(g.previousClassNames=p,g.text.textContent=sn(n.label),n.badge)g.badge.textContent=n.badge,g.badge.style.display="";else g.badge.textContent="",g.badge.style.display="none";if(n.keybinding)g.description.textContent=n.keybinding.getLabel(),g.description.style.display="inline",g.description.style.letterSpacing="0.5px";else if(n.description){if(mn(g.description),typeof n.description==="string")g.description.textContent=sn(n.description);else{let L=Il(n.description,{actionHandler:(R)=>{let Z=q.parse(R);if(this._linkHandler)this._linkHandler(Z,n);else this._openerService.open(Z,{allowCommands:!0})}});g.elementDisposables.add(L),g.description.appendChild(L.element)}g.description.style.display="inline"}else g.description.textContent="",g.description.style.display="none";let m=this._groupTitleByIndex.get(h);if(m)g.groupTitle.textContent=m,g.groupTitle.style.display="";else g.groupTitle.textContent="",g.groupTitle.style.display="none";if(n.detail)g.detail.textContent=sn(n.detail),g.detail.style.display="";else g.detail.textContent="",g.detail.style.display="none";g.container.classList.toggle("has-detail",!!n.detail),mn(g.inlineToggleContainer);let _=n.standaloneToggle??n.inlineToggle;if(_){let L=document.createElement("span");if(L.className="action-list-item-inline-toggle-label",L.textContent=sn(_.label),!n.standaloneToggle)g.inlineToggleContainer.append(L);g.inlineToggleContainer.style.display="",g.container.classList.toggle("has-inline-toggle",!!n.inlineToggle),g.container.classList.toggle("has-standalone-toggle",!!n.standaloneToggle);let R=g.elementDisposables.add(new Yf({ariaLabel:_.title??_.label,checked:_.checked,disabled:_.disabled}));if(g.inlineToggleContainer.append(R.domNode),n.standaloneToggle)g.elementDisposables.add(this._registerStandaloneToggle(n,R));g.elementDisposables.add(R.onChange(()=>_.onChange(R.checked))),g.elementDisposables.add(c(g.inlineToggleContainer,E.CLICK,(Z)=>Z.stopPropagation()))}else g.inlineToggleContainer.style.display="none",g.container.classList.remove("has-inline-toggle"),g.container.classList.remove("has-standalone-toggle");let v=this._keybindingService.lookupKeybinding(Gu)?.getLabel(),S=this._keybindingService.lookupKeybinding(Zu)?.getLabel();if(g.container.classList.toggle("option-disabled",!!n.disabled),n.hover!==void 0)g.container.title="";else if(n.tooltip)g.container.title=n.tooltip;else if(n.disabled)g.container.title=n.label;else if(n.standaloneToggle)g.container.title="";else if(this._hideDefaultKeybindingTooltip)g.container.title="";else if(v&&S)if(this._supportsPreview&&n.canPreview)g.container.title=e(1731,"{0} to Apply, {1} to Preview",v,S);else g.container.title=e(1732,"{0} to Apply",v);else g.container.title="";mn(g.toolbar);let C=[...n.toolbarActions??[]];if(n.onRemove)C.push(dc({id:ID,label:e(1733,"Remove"),class:J.asClassName(x.close),run:async()=>{await n.onRemove(),this._onRemoveItem?.(n)}}));if(g.container.classList.toggle("has-toolbar",C.length>0),C.length>0){let L=new Qi(g.toolbar);if(g.elementDisposables.add(L),this._stopToolbarPointerPropagation)g.elementDisposables.add(su(g.toolbar,(R)=>{R.preventDefault(),R.stopPropagation()})),g.elementDisposables.add(c(g.toolbar,E.CLICK,(R)=>R.stopPropagation())),g.elementDisposables.add(c(g.toolbar,$t.Tap,(R)=>R.stopPropagation()));else g.elementDisposables.add(su(g.toolbar,(R)=>R.preventDefault()));L.push(C,{icon:!0,label:!1}),g.elementDisposables.add(this._registerToolbar(n,L))}if($S(n))g.submenuIndicator.className="action-list-submenu-indicator has-submenu "+J.asClassName(x.chevronRight),g.submenuIndicator.style.display="",g.submenuIndicator.style.visibility="",g.elementDisposables.add(c(g.submenuIndicator,E.CLICK,(L)=>{L.stopPropagation(),this._onShowSubmenu?.(n)}));else if(this._reservesSubmenuSpace())g.submenuIndicator.className="action-list-submenu-indicator",g.submenuIndicator.style.display="",g.submenuIndicator.style.visibility="hidden";else g.submenuIndicator.className="action-list-submenu-indicator",g.submenuIndicator.style.display="none";if(jS(n))g.container.setAttribute("aria-haspopup",n.hover?.expandable?"dialog":"menu"),g.container.setAttribute("aria-expanded","false");else if(g.container.removeAttribute("aria-haspopup"),!n.isSectionToggle)g.container.removeAttribute("aria-expanded")}disposeTemplate(n){n.keybinding.dispose(),n.elementDisposables.dispose()}};Qf=o_([us(10,me),us(11,Zo)],Qf);class e_ extends UIEvent{constructor(){super("acceptSelectedAction")}}class t_ extends UIEvent{constructor(){super("previewSelectedAction")}}function LD(u){if(u.kind==="action")return u.label;return}var i_=Jf=class u extends i{constructor(n,h,g,p,m,_,v,S,C){super();if(this._supportsPreview=h,this._delegate=p,this._options=_,this._keybindingService=v,this._openerService=S,this._instantiationService=C,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new qe),this._submenuDisposables=this._register(new d),this._submenuHoverActionElements=[],this._itemMoveAnimation=this._register(new ce),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 ce),this._groupTitleByIndex=new Map,this._standaloneToggles=new Map,this._itemToolbars=new Map,this._onDidRequestLayout=this._register(new o),this.onDidRequestLayout=this._onDidRequestLayout.event,this._visibleMenuItems=g,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");if(this._options?.className){let Y=this._options.className.split(/\s+/).filter((Q)=>Q.length>0);if(Y.length>0)this.domNode.classList.add(...Y)}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";if(this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(c(this._submenuContainer,"keydown",(Y)=>{if((Y.key==="Enter"||Y.key===" ")&&this._currentSubmenuElement?.hover?.tabThroughPanel){let ee=$e(Y.target)?Y.target:void 0;if(ee&&this._currentSubmenuElement.hover.getTabbableElements?.().includes(ee)){Y.stopPropagation();return}}if(Y.key!=="ArrowLeft"&&Y.key!=="Escape")return;Ee.stop(Y,!0);let Q=Y.key==="Escape"&&this._currentSubmenuWidget!==void 0;if(this._hideSubmenu(),Q){this.hide();return}this._setKeyboardNavigation(!0),this._list.domFocus()})),this._register(c(this._submenuContainer,"mouseenter",()=>{if(this._cancelSubmenuHide(),this._usesSubmenuPointerIntent())this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._register(c(this._submenuContainer,"mouseleave",()=>{this._scheduleSubmenuHide()})),this._register(c(this.domNode,E.MOUSE_LEAVE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._usesSubmenuPointerIntent())this._register(c(this.domNode,E.MOUSE_MOVE,(Y)=>{if($e(Y.target)&&this._expandedTrigger?.contains(Y.target))this._updateSubmenuPointer(Y)}));if(this._register(N(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let Y of this._options.collapsedByDefault)this._collapsedSections.add(Y);let L={getHeight:(Y)=>this._getItemHeight(Y),getTemplateId:(Y)=>Y.kind},R=()=>{let Y=this._options?.reserveSubmenuSpace??!0;return Y==="always"||Y&&this._allMenuItems.some($S)};this._list=this._register(new So(n,this.domNode,L,[new Qf(this._supportsPreview,(Y)=>this._removeItem(Y),(Y)=>this._showSubmenuForItem(Y),R,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._options?.stopToolbarPointerPropagation??!1,(Y,Q)=>(this._standaloneToggles.set(Y,Q),N(()=>{if(this._standaloneToggles.get(Y)===Q)this._standaloneToggles.delete(Y)})),(Y,Q)=>(this._itemToolbars.set(Y,Q),this._updateToolbarFocusability(),N(()=>{if(this._itemToolbars.get(Y)===Q)this._itemToolbars.delete(Y)})),this._keybindingService,this._openerService),new US,new qS],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter&&!this._options?.onType,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:LD},accessibilityProvider:{getAriaLabel:(Y)=>{if(Y.kind==="action"){let Q=Y.label?sn(Y?.label):"";if(Y.badge)Q=Q+", "+sn(Y.badge);if(Y.detail)Q=Q+", "+sn(Y.detail);if(Y.ariaDescription)Q=Q+", "+sn(Y.ariaDescription);else if(Y.description){let oe=typeof Y.description==="string"?Y.description:Y.description.value;Q=Q+", "+sn(oe)}if(Y.hover?.content&&!Y.ariaDescription&&!Y.description){let oe=Y.hover.content,ne=typeof oe==="string"?oe:Mr(oe)?oe.value:$e(oe)?oe.textContent??void 0:void 0;if(ne&&(!Y.detail||sn(Y.detail)!==sn(ne)))Q=Q+", "+sn(ne)}if(Y.group?.title)Q=Q+", "+Y.group.title;let ee=Y.standaloneToggle??Y.inlineToggle;if(ee)Q=Y.standaloneToggle?ee.checked?e(1734,"{0}, on",ee.label):e(1735,"{0}, off",ee.label):Q+", "+(ee.checked?e(1736,"{0}, on",ee.label):e(1737,"{0}, off",ee.label));if(Y.disabled)Q=e(1738,"{0}, Disabled Reason: {1}",Q,Y.disabled);if(Y.submenuActions?.length)Q=e(1739,"{0}, use right arrow to access options",Q);return Q}return null},getWidgetAriaLabel:()=>e(1740,"Action Widget"),getSetSize:()=>this._visibleMenuItems.filter((Y)=>Y.kind==="action").length,getPosInSet:(Y,Q)=>Math.max(this._visibleMenuItems.slice(0,Q+1).filter((ee)=>ee.kind==="action").length,1),getRole:(Y)=>{switch(Y.kind){case"action":return"option";case"separator":return"separator";default:return"separator"}},getWidgetRole:()=>"listbox",...m}})),this._list.style(jf),this._register(this._list.onKeyDown(()=>this._setKeyboardNavigation(!0))),this._register(c(this._list.getHTMLElement(),E.MOUSE_MOVE,(Y)=>{if(Y.movementX!==0||Y.movementY!==0)this._setKeyboardNavigation(!1)})),this._register(this._list.onMouseClick((Y)=>this.onListClick(Y))),this._register(this._list.onMouseOver((Y)=>{if(!this._ignoreInitialHover)this.onListHover(Y)}));let Z=this._register(new ce);if(Z.value=this._list.onMouseMove((Y)=>{if(Y.browserEvent.movementX!==0||Y.browserEvent.movementY!==0)Z.clear(),this._ignoreInitialHover=!1,this.onListHover(Y)}),this._register(this._list.onMouseDown(()=>{Z.clear(),this._ignoreInitialHover=!1,this._setKeyboardNavigation(!1)})),this._register(this._list.onDidChangeFocus(()=>{this._updateToolbarFocusability(),this.onFocus()})),this._register(this._list.onDidChangeSelection((Y)=>this.onListSelection(Y))),this._register(this._list.onDidScroll(()=>{if(!this._isMeasuringWidth)this._layoutSubmenu?.()})),this._allMenuItems=[...g],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement("div"),this._filterContainer.className="action-list-filter";let Y=k(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??e(1741,"Search..."),this._filterInput.value=this._filterText,this._filterInput.setAttribute("aria-label",e(1742,"Filter items")),Y.appendChild(this._filterInput),this._register(c(this._filterInput,E.KEY_DOWN,(oe)=>{if(this._setKeyboardNavigation(!0),oe.isComposing||!this._filterInput?.closest(".action-list-submenu-panel"))return;let ne=this._keybindingService.softDispatch(new Xe(oe),this._filterInput);if(ne.kind===2&&ne.commandId!==null&&xD.has(ne.commandId)||oe.key.length===1&&!oe.ctrlKey&&!oe.metaKey&&!oe.altKey)oe.stopPropagation()})),this._register(c(this._filterInput,E.MOUSE_DOWN,()=>this._setKeyboardNavigation(!1))),this._options.tabThroughItemActions)this._register(c(this._filterInput,"keydown",(oe)=>this._handleTabThroughPanelKeyDown(oe),!0));if(this._options.filterAsCombobox){let oe=this._list.getHTMLElement();oe.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",oe.id),this._register(this._list.onDidChangeFocus(()=>this._updateFilterActiveDescendant())),this._register(c(this._filterInput,"focus",()=>this._updateFilterActiveDescendant())),this._register(c(this._filterInput,"blur",()=>this._updateFilterActiveDescendant())),this._register(Ct(this._filterInput,"keydown",(ne)=>{if(this._imeSessionInProgress||ne.browserEvent.isComposing||ne.keyCode===114||ne.keyCode===15||ne.keyCode===17||ne.keyCode===14||ne.keyCode===13){ne.stopPropagation();return}let ge=ne.keyCode===16||ne.keyCode===18;if(!ge&&ne.keyCode!==3)return;if(ne.ctrlKey||ne.metaKey||ne.altKey||ne.shiftKey){if(ge)ne.stopPropagation();return}if(Ee.stop(ne,!0),ne.keyCode===16)this.focusPrevious();else if(ne.keyCode===18)this.focusNext();else this.acceptSelected()}))}let Q=this._options?.filterActions??[];if(Q.length>0){let oe=k(Y,w(".action-list-filter-actions"));this._register(new Qi(oe)).push(Q,{icon:!0,label:!1})}let ee=()=>{let oe=this._filterInput.value;if(this._imeSessionInProgress||oe===this._filterText&&!this._filterCts.value?.token.isCancellationRequested)return;this._filterText=oe,this._applyOrUpdateFilter()};this._register(c(this._filterInput,"compositionstart",()=>{this._imeSessionInProgress=!0,this._filterCts.value?.cancel()})),this._register(c(this._filterInput,"compositionend",()=>{this._imeSessionInProgress=!1,ee()})),this._register(c(this._filterInput,"input",ee))}if(this._options?.secondaryHeading){let Q=k(Y,w(".action-list-filter-label"));Q.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;if(this._options?.headerText){if(this._headerContainer=document.createElement("div"),this._headerContainer.className="action-list-header",this._options.headerIcon){let Q=k(this._headerContainer,w("span.action-list-header-icon"));Q.classList.add(...J.asClassNameArray(this._options.headerIcon)),Q.setAttribute("aria-hidden","true")}let Y=k(this._headerContainer,w("span.action-list-header-text"));if(Y.textContent=this._options.headerText,this._register(c(this._headerContainer,E.MOUSE_ENTER,()=>{if(this._options?.persistentHover)this._cancelSubmenuShow(),this._resetSubmenuPointer();else this._hideSubmenu()})),this._options.headerLink){let{label:Q,uri:ee}=this._options.headerLink;Y.textContent+=" ",this._register(this._instantiationService.createInstance(Ad,Y,{label:Q,href:ee.toString(!0)},{}))}if(this._options.headerDismiss){let Q=this._options.headerDismiss,ee=k(this._headerContainer,w("span.action-list-header-dismiss"));ee.appendChild(w(J.asCSSSelector(x.close))),ee.tabIndex=0,ee.setAttribute("role","button"),ee.setAttribute("aria-label",e(1743,"Dismiss"));let oe=()=>{Q(),this.focus(),this._headerContainer?.remove(),this._headerContainer=void 0,this._onDidRequestLayout.fire()};this._register(u0(ee,()=>oe())),this._register(c(ee,E.KEY_DOWN,(ne)=>{if(ne.key==="Enter"||ne.key===" ")ne.preventDefault(),oe()}))}}if(this._applyFilter(),this._list.length)this._focusCheckedOrFirst();if(this._register(c(this.domNode,"keydown",(Y)=>{if(Y.key==="ArrowRight"&&!Y.isComposing){let Q=this._list.getFocus();if(Q.length>0){let ee=this._list.element(Q[0]);if(ee?.submenuActions?.length||ee?.hover?.expandable){Ee.stop(Y,!0);let oe=this._getRowElement(Q[0]);if(oe)if(this._showSubmenuForElement(ee,oe),ee.hover?.tabThroughPanel)this._focusFirstTabThroughPanelControl(ee,oe);else if(this._currentSubmenuWidget)this._currentSubmenuWidget.focus();else this._submenuContainer.focus()}}}})),this._register(c(this.domNode,"keydown",(Y)=>this._handleTabThroughPanelKeyDown(Y),!0)),this._filterInput||this._options?.onType)this._register(c(this.domNode,"keydown",(Y)=>{let Q=Y.target;if((this._options?.onType||this._options?.filterAsCombobox)&&$e(Q)&&(Xr(Q)||Q.closest('button, a, [contenteditable="true"], .action-list-submenu-panel')))return;if((!this._filterInput||!Fs(this._filterInput))&&!Y.isComposing&&Y.key.length===1&&Y.key!==" "&&!Y.ctrlKey&&!Y.metaKey&&!Y.altKey)if(Y.preventDefault(),Y.stopPropagation(),this._filterInput)this._filterInput.focus(),this._filterInput.value=Y.key,this._filterText=Y.key,this._applyOrUpdateFilter();else this._options?.onType?.(Y.key)}))}_toggleSection(n){let h=this._collapsedSections.has(n);if(h)this._collapsedSections.delete(n);else{this._collapsedSections.add(n);let g=this.getFocusedElement();if(g?.section===n&&!g.isSectionToggle){let p=this._visibleMenuItems.findIndex((m)=>m.section===n&&m.isSectionToggle);if(p>=0)this._list.setFocus([p])}}if(this._options?.onDidToggleSection?.(n,this._collapsedSections.has(n)),this._applyFilter(),h)this._revealFirstItemOfSection(n)}_revealFirstItemOfSection(n){for(let h=0;h<this._list.length;h++){let g=this._list.element(h);if(g.section===n&&!g.isSectionToggle){this._list.reveal(h);return}}}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let n=this._filterText;this._filterCts.value?.cancel();let h=new qe;this._filterCts.value=h,this._delegate.onFilter(n,h.token).then((g)=>{if(h.token.isCancellationRequested)return;this._allMenuItems=[...g],this._applyFilter(!0)}).catch(()=>{}).finally(()=>{if(this._filterCts.value===h&&!h.token.isCancellationRequested)this._filterCts.clear()})}_applyFilter(n=!1,h=!0,g){this._itemMoveAnimation.clear();let p=n?"":this._filterText.toLowerCase(),m=!n&&p.length>0,_=[],v=this._list.getFocus(),S;if(v.length>0)S=this._list.element(v[0]);if(m){let ee,oe=[],ne=!1,de=()=>{if(ee&&ne)_.push(ee);_.push(...oe),ee=void 0,oe=[],ne=!1},ge=(_e)=>{let Se=(_e.label??"").toLowerCase(),ae=typeof _e.description==="string"?_e.description:_e.description?.value??"";return Se.includes(p)||ae.toLowerCase().includes(p)};for(let _e of this._allMenuItems){if(_e.kind==="header")continue;if(_e.kind==="separator"){de(),ee=_e.label?_e:void 0;continue}if(_e.showAlways){oe.push(_e);continue}if(_e.isSectionToggle)continue;if(_e.filterItems){let Se=ge(_e)?_e.filterItems:_e.filterItems.filter(ge);if(Se.length>0)ne=!0,oe.push(...Se);continue}if(ge(_e))ne=!0,oe.push(_e)}de()}else for(let ee of this._allMenuItems){if(ee.kind==="header"){_.push(ee);continue}if(ee.kind==="separator"){if(ee.section&&this._collapsedSections.has(ee.section))continue;_.push(ee);continue}if(ee.isSectionToggle&&ee.section){let oe=this._collapsedSections.has(ee.section);_.push({...ee,group:{...ee.group,icon:oe?x.chevronRight:x.chevronDown}});continue}if(ee.section&&this._collapsedSections.has(ee.section))continue;_.push(ee)}let C=[],L=!1;for(let ee=0;ee<_.length;ee++)if(C[ee]=L,_[ee].kind==="action")L=!0;let R=[],Z=!1;for(let ee=_.length-1;ee>=0;ee--){if(_[ee].kind==="action"){Z=!0;continue}if(_[ee].kind!=="separator")continue;R[ee]=Z,Z=!1}for(let ee=_.length-1;ee>=0;ee--){let oe=_[ee];if(oe.kind!=="separator")continue;let ne=R[ee],de=!oe.label&&!C[ee];if(!ne||de)_.splice(ee,1)}if(this._options?.showGroupTitleOnFirstItem)this._recomputeGroupTitles(_);let Y=this._filterInput&&Fs(this._filterInput),Q=au(this._list.getHTMLElement());if(this._visibleMenuItems=_,this._list.splice(0,this._list.length,_),h)this._onDidRequestLayout.fire();if(Y)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut){if(S||g){let ee=g??S?.item?.id;if(ee){for(let oe=0;oe<this._list.length;oe++)if(this._list.element(oe).item?.id===ee){this._list.setFocus([oe]),this._list.reveal(oe);break}if(Q)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(n){return!n.disabled&&n.kind==="action"}_setKeyboardNavigation(n){if(this._keyboardNavigation===n)return;this._keyboardNavigation=n;let h=this._list.getHTMLElement();h.classList.toggle("keyboard-navigation",n===!0),h.classList.toggle("mouse-navigation",n===!1)}_updateFilterActiveDescendant(){if(!this._filterInput)return;let[n]=this._list.getFocus();if(Fs(this._filterInput)&&n!==void 0)this._filterInput.setAttribute("aria-activedescendant",this._list.getElementID(n));else 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 n=this._list.getFocus();if(n.length>0)return this._list.element(n[0]);return}_updateToolbarFocusability(){if(!this._options?.tabThroughItemActions)return;let[n]=this._list.getFocus(),h=n!==void 0&&n<this._list.length?this._list.element(n):void 0;for(let[g,p]of this._itemToolbars)p.setFocusable(g===h)}_focusCheckedOrFirst(){let n=this._suppressHover;this._suppressHover=!0;try{let h=this._initialFocusItemId;if(this._initialFocusItemId=void 0,h)for(let m=0;m<this._list.length;m++){let _=this._list.element(m);if(this.focusCondition(_)&&_.item?.id===h){this._list.setFocus([m]),this._list.reveal(m);return}}let[g]=this._list.getFocus();if(g!==void 0){let m=this._list.element(g);if(m&&this.focusCondition(m)){this._list.reveal(g);return}}for(let m=0;m<this._list.length;m++){let _=this._list.element(m);if(this.focusCondition(_)&&_.item?.checked){this._list.setFocus([m]),this._list.reveal(m);return}}this._list.focusFirst(void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0)this._list.reveal(p[0])}finally{if(this._suppressHover=n,this._options?.filterAsCombobox)this._updateFilterActiveDescendant()}}hide(n){this._delegate.onHide(n),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){if(this._filterInput&&this._filterText)return this._filterInput.value="",this._filterText="",this._applyOrUpdateFilter(),!0;return!1}get hasDynamicHeight(){if(this._options?.showFilter)return!0;return this._allMenuItems.some((n)=>n.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(n){return this._itemHeightWith(n,this._options)}_itemHeightWith(n,h){switch(n.kind){case"header":return this._headerLineHeight;case"separator":return n.label?this._actionLineHeight:this._separatorLineHeight;default:if(n.inlineToggle)return h?.inlineToggleItemHeight??70;return n.detail?h?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){return this.computeHeightForItems(this._allMenuItems,void 0,this._options)}computeHeightForItems(n,h,g){let p=0;for(let m of n){if(h&&m.section&&!m.isSectionToggle&&h.has(m.section))continue;p+=this._itemHeightWith(m,g)}return p}computeListHeight(){let n=this._list.length,h=0;for(let g=0;g<n;g++){let p=this._list.element(g);h+=this._getItemHeight(p)}return h}layout(n,h){this._hasLaidOut=!0,this._list.layout(n,h),this.domNode.style.height=`${n}px`;let g=this.domNode.parentElement;if(g&&this._filterContainer?.parentElement===g)g.insertBefore(this._filterContainer,this.domNode);this._layoutSubmenu?.()}computeMaxWidth(n){let h=this._list.length,g=Math.max(n,this._options?.minWidth??0),p=this._options?.maxWidth??Number.POSITIVE_INFINITY,m=Math.max(p,g),_=(L)=>Math.min(Math.max(L,g),m),v=this._allMenuItems.length;if(v>=50)return _(380);if(v>h){let L=[];for(let ee=0;ee<h;ee++)L.push(this._list.element(ee));let R=this._list.renderHeight,Z=this._list.scrollTop,Y=this._list.getFocus(),Q=this._isMeasuringWidth;this._isMeasuringWidth=!0;try{let ee=[...this._allMenuItems];this._list.splice(0,h,ee);let oe=0;for(let de of ee)oe+=this._getItemHeight(de);this._list.layout(oe);let ne=this._measureItemWidths(ee);return _(Math.max(...ne))}finally{try{this._list.splice(0,this._list.length,L),this._list.layout(R),this._list.scrollTop=Z;let ee=this._suppressHover;this._suppressHover=!0;try{this._list.setFocus(Y)}finally{this._suppressHover=ee}}finally{this._isMeasuringWidth=Q}}}let S=[];for(let L=0;L<h;L++)S.push(this._list.element(L));let C=this._measureItemWidths(S);return _(Math.max(...C))}focusPrevious(){if(this._setKeyboardNavigation(!0),this._focusFilterResult("previous"))return;if(this._filterInput&&Fs(this._filterInput)){this._list.domFocus();let g=this._list.getFocus();if(g.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0&&p[0]>=g[0])this._filterInput.focus();else if(p.length>0)this._list.reveal(p[0])}else{this._list.focusLast(void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0)this._list.reveal(p[0])}return}let n=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let h=this._list.getFocus();if(h.length>0){if(this._filterInput&&n.length>0&&h[0]>n[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(h[0])}}focusNext(){if(this._setKeyboardNavigation(!0),this._focusFilterResult("next"))return;if(this._filterInput&&Fs(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0)this._list.reveal(p[0])}else{this._list.focusFirst(void 0,this.focusCondition);let p=this._list.getFocus();if(p.length>0)this._list.reveal(p[0])}return}let n=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let h=this._list.getFocus();if(h.length>0){if(this._filterInput&&n.length>0&&h[0]<n[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(h[0])}}_focusFilterResult(n){if(!this._options?.filterAsCombobox||!this._filterInput||!Fs(this._filterInput))return!1;if(n==="previous")this._list.focusPrevious(1,!0,void 0,this.focusCondition);else this._list.focusNext(1,!0,void 0,this.focusCondition);let[h]=this._list.getFocus();if(h!==void 0)this._list.reveal(h);return!0}collapseFocusedSection(){let n=this._getFocusedSection();if(n&&!this._collapsedSections.has(n))this._toggleSection(n)}expandFocusedSection(){let n=this._getFocusedSection();if(n&&this._collapsedSections.has(n))this._toggleSection(n)}toggleFocusedSection(){let n=this._list.getFocus();if(n.length===0)return!1;let h=this._list.element(n[0]);if(h.isSectionToggle&&h.section)return this._toggleSection(h.section),!0;return!1}_getFocusedSection(){let n=this._list.getFocus();if(n.length===0)return;let h=this._list.element(n[0]);if(h.isSectionToggle&&h.section)return h.section;return h.section}acceptSelected(n){let h=this._list.getFocus();if(h.length===0)return;let g=h[0],p=this._list.element(g);if(!this.focusCondition(p))return;let m=n?new t_:new e_;this._list.setSelection([g],m)}onListSelection(n){if(!n.elements.length)return;let h=n.elements[0];if(h.standaloneToggle){this._list.setSelection([]);let p=this._standaloneToggles.get(h);if(p&&!p.disabled)p.checked=!p.checked,h.standaloneToggle.onChange(p.checked);return}if(h.isSectionToggle&&h.section){this._list.setSelection([]);let p=h.section;queueMicrotask(()=>{this._toggleSection(p)});return}let g=bf(n.browserEvent)||n.browserEvent?.type===$t.Tap;if(g){let p=n.browserEvent.target;if($e(p)&&(p.closest(".action-list-item-toolbar")||p.closest(".action-list-submenu-indicator")||p.closest(".action-list-item-inline-toggle"))){this._list.setSelection([]);return}}if(h.openSubmenuOnClick&&h.submenuActions?.length&&(g||n.browserEvent instanceof e_)){if(this._list.setSelection([]),this._showSubmenuForItem(h),!g)this._currentSubmenuWidget?.focus();return}if(h.item&&this.focusCondition(h)){let p=n.browserEvent instanceof t_;this._delegate.onSelect(h.item,p&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let n=this._list.getFocus();if(n.length===0)return;let h=n[0],g=this._list.element(h);if(this._delegate.onFocus?.(g.item),!this._suppressHover){if(this._options?.persistentHover)this._cancelSubmenuShow(),this._resetSubmenuPointer(),this._list.reveal(h);this._showHoverForElement(g,h)}}_removeItem(n){let h=this._allMenuItems.indexOf(n);if(h>=0)this._allMenuItems.splice(h,1),this._applyFilter()}_recomputeGroupTitles(n){this._groupTitleByIndex.clear();let h=new Set;for(let g=0;g<n.length;g++){let p=n[g];if(p.kind==="action"&&p.group?.title&&!h.has(p.group.title))h.add(p.group.title),this._groupTitleByIndex.set(g,p.group.title)}}_measureItemWidths(n){let h=[];for(let g=0;g<n.length;g++){let p=this._getRowElement(g);if(p)p.style.width="auto",h.push({element:p,item:n[g]})}try{return h.map(({element:g,item:p})=>g.getBoundingClientRect().width+(p.detail?0:this._computeToolbarWidth(p)))}finally{for(let{element:g}of h)g.style.width=""}}_computeToolbarWidth(n){let h=n.toolbarActions?.length??0;if(n.onRemove)h++;if(h===0)return 0;return h*22+6+10}_getRowElement(n){if(n<0)return null;return this.domNode.ownerDocument.getElementById(this._list.getElementID(n))}_showTabThroughPanelForFocusedItem(){let n=this._list.getFocus();if(n.length===0)return;let h=n[0],g=this._list.element(h);if(!g.hover?.tabThroughPanel)return;let p=this._getRowElement(h);if(p)this._showSubmenuForElement(g,p)}_getTabThroughPanelControls(n,h){if(n.hover?.tabThroughPanel&&this._currentSubmenuElement!==n)this._showSubmenuForElement(n,h);return{toolbar:this._itemToolbars.get(n),panelControls:[...n.hover?.getTabbableElements?.()??[],...this._submenuHoverActionElements]}}_focusFirstTabThroughPanelControl(n,h){let g=this._getTabThroughPanelControls(n,h);if(g.toolbar?.length())g.toolbar.focus(0);else(g.panelControls[0]??this._list.getHTMLElement()).focus()}_handleTabThroughPanelKeyDown(n){if(n.isComposing)return;let h=this._list.getFocus();if(h.length===0)return;let g=h[0],p=this._list.element(g);if(!p.hover?.tabThroughPanel&&!this._options?.tabThroughItemActions)return;let m=this._getRowElement(g),_=At();if(!m||!$e(_))return;let v=this._getTabThroughPanelControls(p,m),S=v.toolbar?.isFocused()??!1,C=this._submenuContainer.contains(_);if((n.key==="ArrowUp"||n.key==="ArrowDown")&&(S||C)){if(Ee.stop(n,!0),this._list.domFocus(),n.key==="ArrowUp")this.focusPrevious();else this.focusNext();return}if(n.key!=="Tab"||n.ctrlKey||n.metaKey||n.altKey)return;let L;if(n.shiftKey){if(C){let R=v.panelControls.indexOf(_);if(R>0)L=v.panelControls[R-1];else if(v.toolbar?.length()){Ee.stop(n,!0),v.toolbar.focus(v.toolbar.length()-1);return}else L=this._list.getHTMLElement()}else if(v.toolbar?.isFocused()){let R=v.toolbar.viewItems.findIndex((Z,Y)=>v.toolbar?.isFocused(Y));if(R>0){Ee.stop(n,!0),v.toolbar.focus(R-1);return}L=this._options?.filterAsCombobox?this._filterInput:this._list.getHTMLElement()}}else if(_===this._list.getHTMLElement()||_===this._filterInput){if(v.toolbar?.length()){Ee.stop(n,!0),v.toolbar.focus(0);return}L=v.panelControls[0]}else if(v.toolbar?.isFocused()){let R=v.toolbar.viewItems.findIndex((Z,Y)=>v.toolbar?.isFocused(Y));if(R+1<v.toolbar.length()){Ee.stop(n,!0),v.toolbar.focus(R+1);return}L=v.panelControls[0]}else{let R=v.panelControls.indexOf(_);if(R>=0)L=v.panelControls[R+1]??this._list.getHTMLElement()}if(L)Ee.stop(n,!0),L.focus()}_showHoverForElement(n,h){if(this._currentSubmenuElement===n)return;let g=!!n.hover?.content,p=!!n.submenuActions?.length;if(g||p){let m=this._getRowElement(h);if(m)this._showSubmenuForElement(n,m);return}if(!this._options?.persistentHover)this._hideSubmenu()}_showSubmenuForItem(n){let h=this._list.indexOf(n);if(h>=0){let g=this._getRowElement(h);if(g)this._showSubmenuForElement(n,g)}}_showSubmenuForElement(n,h){if(!this._hoverEnabled||this._currentSubmenuElement===n)return;if(this._currentSubmenuElement=n,this._clearSubmenuContainer(),h.setAttribute("aria-expanded","true"),this._expandedTrigger=h,this._submenuPanelClassName=n.hover?.panelClassName,this._submenuPanelClassName)this._submenuContainer.classList.add(this._submenuPanelClassName);let g=n.hover?.preserveVerticalPosition,p=!!n.submenuActions?.length,m=g?w(".action-list-submenu-content"):this._submenuContainer,_=g?w(".action-list-submenu-viewport",void 0,m):void 0,v=_&&!p?this._submenuDisposables.add(new Ll(_,{horizontal:2,vertical:1,consumeMouseWheelIfScrollbarIsNeeded:!0,useShadows:!1})):void 0;if(v&&_)this._submenuContainer.appendChild(v.getDomNode()),this._submenuDisposables.add(c(_,E.SCROLL,()=>v.scanDomNode())),this._submenuDisposables.add(c(this._submenuContainer,E.KEY_DOWN,(ne)=>{let de=new Xe(ne);if(de.equals(12)||de.equals(11))Ee.stop(ne,!0),v.setScrollPosition({scrollTop:v.getScrollPosition().scrollTop+(de.equals(12)?1:-1)*_.clientHeight})}));else if(_)this._submenuContainer.appendChild(_);let S,C=typeof n.hover?.content==="function"?n.hover.content():n.hover?.content;if(C){if($e(C)){if(S=C,n.hover?.disposable)this._register(n.hover.disposable)}else{let ne=typeof C==="string"?new On(C):C,de=this._options?.linkHandler,ge=Il(ne,{actionHandler:(_e)=>{let Se=q.parse(_e);if(de)de(Se,n);else this._openerService.open(Se,{allowCommands:!0})}});this._submenuDisposables.add(ge),S=ge.element}if(S.classList.add("action-list-submenu-hover-header"),S.classList.toggle("content-owns-padding",n.hover?.contentOwnsPadding===!0),n.submenuActions?.length)S.classList.add("has-submenu");m.appendChild(S)}if(n.hover?.actions?.length){let ne=w(".hover-row.status-bar"),de=k(ne,w(".actions"));for(let ge of n.hover.actions){let _e=this._keybindingService.lookupKeybinding(ge.commandId),Se=this._submenuDisposables.add(Mf.render(de,{label:ge.label,commandId:ge.commandId,run:(ae)=>ge.run(ae),iconClass:ge.iconClass},_e?.getLabel()??null));this._submenuHoverActionElements.push(Se.actionContainer)}this._submenuContainer.appendChild(ne)}if(this._submenuContainer.style.display="",this._submenuContainer.style.position="absolute",n.hover?.expandable){if(this._submenuContainer.setAttribute("role","dialog"),n.label)this._submenuContainer.setAttribute("aria-label",n.label)}else this._submenuContainer.removeAttribute("role");let L=B(this.domNode),R=0,Z=S?S.offsetWidth:0,Y;if(p){let ne=this._createSubmenuItems(n.submenuActions),de={onHide:()=>{},onSelect:(Se)=>{Se.run();let ae=this._currentSubmenuElement?.item;if(this._hideSubmenu(),ae)this._delegate.onSelect(ae);this.hide()}},ge=this._submenuDisposables.add(this._instantiationService.createInstance(Jf,"submenu",!1,ne,de,void 0,n.submenuOptions));if(Y=ge,ge.headerContainer)m.appendChild(ge.headerContainer);if(ge.filterContainer)m.appendChild(ge.filterContainer);if(m.appendChild(ge.domNode),ge.footerContainer)m.appendChild(ge.footerContainer);this._currentSubmenuWidget=ge,ge.clearFocus(),R=ge.computeListHeight(),ge.layout(R);let _e=ge.computeMaxWidth(0);if(Z=Math.max(Z,_e,ge.footerContainer?.offsetWidth??0),ge.layout(R,Z),ge.domNode.style.width=`${Z}px`,n.submenuOptions)this._submenuContainer.style.boxSizing="border-box",this._submenuContainer.style.width=`${Z+10}px`;this._submenuDisposables.add(ge.onDidRequestLayout(()=>{R=ge.computeListHeight(),ge.layout(R,Z),this._layoutSubmenu?.()})),this._submenuDisposables.add(c(m,"keydown",(Se)=>{if(Se.key==="Escape")Ee.stop(Se,!0),this._hideSubmenu(),this.hide();else if(Se.key==="ArrowLeft")Ee.stop(Se,!0),this._hideSubmenu(),this._setKeyboardNavigation(!0),this._list.domFocus();else if(Se.key==="Enter"||Se.key===" ")Ee.stop(Se,!0),ge.acceptSelected();else if(Se.key==="ArrowDown")Ee.stop(Se,!0),ge.focusNext();else if(Se.key==="ArrowUp")Ee.stop(Se,!0),ge.focusPrevious()}))}let Q,ee,oe=()=>{let ne=this._currentSubmenuElement;if(!ne||this._layoutSubmenu!==oe)return;let de=this._list.indexOf(ne),ge=de>=0?this._getRowElement(de):null,_e=this._options?.persistentHover;if(!ge&&(!_e||!this._allMenuItems.includes(ne))){this._hideSubmenu();return}if(this._expandedTrigger!==ge){if(this._expandedTrigger?.hasAttribute("aria-expanded"))this._expandedTrigger.setAttribute("aria-expanded","false");this._expandedTrigger=ge??void 0}ge?.setAttribute("aria-expanded","true");let Se=this.domNode.getBoundingClientRect(),ae=_e||ne.hover?.alignToParent,pe=ae?this.domNode.parentElement?.closest(".action-widget")?.getBoundingClientRect()??Se:Se,Ne=ge?.getBoundingClientRect()??pe,Me=ae||g?Jv(this.domNode):1;if(_e)this._submenuContainer.style.width=`${pe.width/Me}px`;let Oe=this._submenuContainer.getBoundingClientRect(),Ce=ae?Oe.width:Z+10,He=L.innerWidth-(ae?pe.right:Ne.right),it=pe.left,Ve=ae?0:4,rt=4;if(!ae){let Bt=L.innerWidth-2*rt;if(Ce>Bt)Ce=Math.max(Bt,0);this._submenuContainer.style.boxSizing="border-box",this._submenuContainer.style.width=`${Ce}px`}let Ze=He>=Ce||He>=it;if(_e&&this._submenuSide&&(this._submenuSide==="right"?He:it)>=Ce)Ze=this._submenuSide==="right";if(_e)this._submenuSide=Ze?"right":"left";let Ft=Ze?pe.right-Se.left+Ve:pe.left-Se.left-Ce-Ve,nt=Se.left+Ft;if(nt<rt)Ft+=rt-nt;else if(nt+Ce>L.innerWidth-rt)Ft-=nt+Ce-(L.innerWidth-rt);this._submenuContainer.style.left=`${Ft/Me}px`;let ft=Oe.height;if(g)Q??=ft/Me;let Wt=Q!==void 0?Q*Me:ft,St=ee!==void 0?ee*Me:ge&&ne.hover?.alignToAnchorTop?Ne.top-Se.top:ge?Ne.top-Se.top+(Ne.height-Wt)/2:Oe.top-Se.top;if(g&&ne.hover?.alignToAnchorTop&&_&&Y){let Bt=Oe.height-_.getBoundingClientRect().height,Ht=(Y.headerContainer?.offsetHeight??0)+(Y.filterContainer?.offsetHeight??0)+(Y.footerContainer?.offsetHeight??0),It=Bt+(Ht+R)*Me;St=Math.min(St,L.innerHeight-Se.top-It-8)}let wt=Se.top+St+Wt;if(wt>L.innerHeight&&!(g&&ne.hover?.alignToAnchorTop))St-=wt-L.innerHeight+8;if(Se.top+St<0)St=-Se.top;if(g)ee??=St/Me;if(_&&v){let Bt=(Oe.height-v.getDomNode().getBoundingClientRect().height)/Me,Ht=Math.max(0,(L.innerHeight-Se.top-St-8)/Me-Bt);_.style.height=`${Math.min(m.getBoundingClientRect().height/Me,Ht)}px`,v.scanDomNode()}else if(_&&Y){let Bt=(Oe.height-_.getBoundingClientRect().height)/Me,Ht=Math.max(0,(L.innerHeight-Se.top-St-8)/Me-Bt),It=(Y.headerContainer?.offsetHeight??0)+(Y.filterContainer?.offsetHeight??0)+(Y.footerContainer?.offsetHeight??0),Di=R===0?0:Math.max(this._actionLineHeight,Math.min(R,Ht-It));Y.layout(Di,Z),_.style.height=`${It+Di}px`}this._submenuContainer.style.top=`${St/Me}px`};if(this._layoutSubmenu=oe,oe(),(this._options?.persistentHover||n.hover?.alignToParent||n.hover?.tabThroughPanel||g)&&this._currentSubmenuElement===n){if(!Y){let ne=this._submenuDisposables.add(new ce),de=this._submenuDisposables.add(new f0("ActionListWidget.hoverPanel",()=>{if(!ne.value)ne.value=ki(L,()=>{ne.clear(),oe()})},L));this._submenuDisposables.add(de.observe(g?m:this._submenuContainer,{box:"border-box"}))}if(this._options?.persistentHover||g)this._submenuDisposables.add(c(L,E.RESIZE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer(),oe()}))}}_createSubmenuItems(n){let h=[],p=n.filter((m)=>m instanceof ms).filter((m)=>m.actions.length>0);for(let m=0;m<p.length;m++){let _=p[m];if(_.label)h.push({kind:"header",group:{title:_.label},label:_.label});for(let v of _.actions){let S=v,C=S.icon??J.fromId(v.checked?x.check.id:x.blank.id),L=S.hoverContent,R=L?new On().appendText(`${v.label}
|
|
3
|
-
`).appendMarkdown(L):void 0;h.push({item:v,kind:"action",label:v.label,description:v.tooltip&&v.tooltip!==v.label?v.tooltip:void 0,group:{title:"",icon:C},hideIcon:!1,hover:R?{content:R}:void 0,tooltip:v.tooltip||v.label,onRemove:S.onRemove,submenuActions:v instanceof ms?[new ms(v.id,"",v.actions)]:void 0})}if(m<p.length-1)h.push({kind:"separator",label:""})}for(let m of n)if(!(m instanceof ms)){let _=m,v=_.icon??J.fromId(m.checked?x.check.id:x.blank.id),S=_.hoverContent,C=S?new On().appendText(`${m.label}
|
|
4
|
-
`).appendMarkdown(S):void 0;h.push({item:m,kind:"action",label:m.label,description:m.tooltip&&m.tooltip!==m.label?m.tooltip:void 0,group:{title:"",icon:v},hideIcon:!1,hover:C?{content:C}:void 0,tooltip:m.tooltip||m.label,onRemove:_.onRemove})}return h}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._currentSubmenuElement=void 0,this._submenuSide=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display="none"}_clearSubmenuContainer(){if(this._layoutSubmenu=void 0,this._resetSubmenuPointer(),this._submenuContainer.contains(At()))this._list.domFocus();if(this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._submenuHoverActionElements=[],this._submenuPanelClassName)this._submenuContainer.classList.remove(this._submenuPanelClassName),this._submenuPanelClassName=void 0;if(this._submenuContainer.removeAttribute("role"),this._submenuContainer.removeAttribute("aria-label"),this._expandedTrigger?.hasAttribute("aria-expanded"))this._expandedTrigger.setAttribute("aria-expanded","false");this._expandedTrigger=void 0,mn(this._submenuContainer),this._submenuContainer.style.width="",this._submenuContainer.style.boxSizing=this._options?.persistentHover?"border-box":""}_scheduleSubmenuHide(){if(this._cancelSubmenuHide(),this._options?.persistentHover)return;this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300)}_cancelSubmenuHide(){if(this._submenuHideTimeout!==void 0)clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0}_scheduleSubmenuShow(n,h){this._cancelSubmenuShow();let g=this._options?.submenuHoverDelay??500;if(this._usesSubmenuPointerIntent()){g=0;let m=this._submenuPointerOrigin;if(m&&h.clientX!==m.x&&this._currentSubmenuElement&&new LI(m.x,m.y,this._submenuContainer).contains(h.clientX,h.clientY)){let _=Date.now();this._submenuPointerGraceDeadline??=_+200,g=Math.max(0,this._submenuPointerGraceDeadline-_)}}let p=()=>{this._submenuShowTimeout=void 0;let m=this._list.indexOf(n),_=m>=0?this._getRowElement(m):null;if(_){if(this._showSubmenuForElement(n,_),this._usesSubmenuPointerIntent())this._updateSubmenuPointer(h)}};if(g===0)p();else this._submenuShowTimeout=setTimeout(p,g)}_updateSubmenuPointer(n){this._submenuPointerOrigin={x:n.clientX,y:n.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(){if(this._submenuShowTimeout!==void 0)clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0}async onListHover(n){this._setKeyboardNavigation(!1);let h=n.element;if(h&&h.item&&this.focusCondition(h)){let g=typeof n.index==="number"?[n.index]:[],p=At();if(this._options?.tabThroughItemActions&&this._list.getFocus()[0]!==n.index&&$e(p)&&this.domNode.contains(p)&&p.closest(".action-list-item-toolbar"))this._list.domFocus();if($e(n.browserEvent.target)&&n.browserEvent.target.closest(".action-list-item-toolbar")!==null){if(!h.submenuActions?.length)this._cancelSubmenuShow();this._list.setFocus(this._options?.tabThroughItemActions?g:[]);return}let _=!!(h.submenuActions?.length||h.hover?.content),v=this._suppressHover;if(_||this._usesSubmenuPointerIntent())this._suppressHover=!0;try{this._list.setFocus(g)}finally{this._suppressHover=v}if(_){if(this._currentSubmenuElement===h){if(this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._usesSubmenuPointerIntent())this._updateSubmenuPointer(n.browserEvent)}else{if(!this._usesSubmenuPointerIntent())this._hideSubmenu();this._scheduleSubmenuShow(h,n.browserEvent)}return}if(this._currentSubmenuElement===h)this._cancelSubmenuHide();else if(this._cancelSubmenuShow(),this._options?.submenuPointerIntent)this._scheduleSubmenuHide();else if(!this._options?.persistentHover)this._hideSubmenu();if(this._delegate.onHover&&!h.disabled&&h.kind==="action"&&this._currentSubmenuElement!==h){let S=await this._delegate.onHover(h.item,this.cts.token),C=S?S.canPreview:void 0;if(C!==h.canPreview){if(h.canPreview=C,typeof n.index==="number")this._list.splice(n.index,1,[h]),this._list.setFocus([n.index])}}}else if(h&&h.hover?.content&&typeof n.index==="number")if(this._currentSubmenuElement===h)this._cancelSubmenuHide(),this._cancelSubmenuShow();else{if(!this._options?.persistentHover)this._hideSubmenu();this._scheduleSubmenuShow(h,n.browserEvent)}}onListClick(n){if(n.element&&this.focusCondition(n.element))this._list.setFocus([])}};i_=Jf=o_([us(6,me),us(7,Zo),us(8,A)],i_);var $u=class u extends i{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;return this._showAbove?1:0}constructor(n,h,g,p,m,_,v,S,C,L){super();this._contextViewService=S,this._layoutService=C,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=v,this._preferredAnchorPosition=_?.anchorPosition,this._useFullHeight=_?.useFullHeight??!1,this._widgetClassName=_?.widgetClassName,this._widget=this._register(L.createInstance(i_,n,h,g,p,m,_)),this._register(this._widget.onDidRequestLayout(()=>{if(this._hasLaidOut)this.layout(this._lastMinWidth),this._contextViewService.layout()}))}focus(){this._widget.focus()}hide(n,h=!0){if(this._widget.hide(n),h)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(n){this._widget.acceptSelected(n)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let n=this.domNode.parentElement?.closest(".action-widget");if(!n)return 0;let h=B(n).getComputedStyle(n),g=(p)=>Number.parseFloat(p)||0;return g(h.paddingTop)+g(h.paddingBottom)+g(h.borderTopWidth)+g(h.borderBottomWidth)}computeHeight(){let n=this._fixedContentHeight??this._widget.computeListHeight(),h=this._widget.filterContainer?36:0,g=this._widget.footerContainer?32:0,p=this._widget.headerContainer&&!this._widget.headerContainer.hidden?this._widget.headerContainer.offsetHeight||36:0,m=h+g+p,_=B(this.domNode),v;if(this.hasDynamicHeight()||this._preferredAnchorPosition!==void 0){let Z=_.innerHeight,Y=A0(this._anchor),Q=Y.top-_.pageYOffset,ee=30,oe=Z-Q-Y.height-30,ne=Q;if(this._showAbove===void 0){let de=this._fixedContentHeight??this._widget.computeFullHeight();this._showAbove=this._preferredAnchorPosition!==void 0?this._preferredAnchorPosition===1:m+de>oe&&ne>oe}v=Math.max(0,(this._showAbove?ne:oe)-this.computeActionWidgetVerticalChromeHeight())}else{let Y=this._layoutService.getContainer(_).clientHeight,Q=this.domNode.getBoundingClientRect().top;v=Q>0?Y-Q-10:Y*0.7}let S=this._useFullHeight?_.innerHeight:Math.floor(_.innerHeight*0.6),C=this._widget.lineHeight;if(this._preferredAnchorPosition!==void 0){let Z=Math.min(v,S),Y=Math.min(n+m,Math.max(0,Z));return Math.max(0,Y-m)}let L=Math.min(Math.max(v,C*3+m),S);return Math.min(n+m,L)-m}layout(n,h){if(this._hasLaidOut=!0,this._lastMinWidth=n,h!==void 0)this._fixedContentHeight=h;let g=this.computeHeight();this._widget.layout(g);let p=this._widget.computeMaxWidth(n);return this._cachedMaxWidth=p,this._widget.layout(g,this._cachedMaxWidth),this._cachedMaxWidth}};$u=o_([us(7,ws),us(8,Pr),us(9,A)],$u);function sn(u){return u.replace(/\r\n|\r|\n/g," ")}var kD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},n_=function(u,n){return function(h,g){n(h,g,u)}};a("actionBar.toggledBackground",qh,e(1744,"Background color for toggled action items in action bar."));var GS="--action-widget-close-start-opacity",ZS="--action-widget-close-start-transform",eo={Visible:new M("codeActionMenuVisible",!1,e(1745,"Whether the action widget list is visible")),FilterFocused:new M("codeActionMenuFilterFocused",!1,e(1746,"Whether the action widget filter input is focused"))},Co=ie("actionWidgetService"),Wn=class u extends i{get isVisible(){return eo.Visible.getValue(this._contextKeyService)||!1}constructor(n,h,g){super();this._contextViewService=n,this._contextKeyService=h,this._instantiationService=g,this._list=this._register(new ce),this._closeAnimation=this._register(new ce)}show(n,h,g,p,m,_,v,S,C){let L=eo.Visible.bindTo(this._contextKeyService),R=this._instantiationService.createInstance($u,n,h,g,p,S,C,m);this._contextViewService.showContextView({getAnchor:()=>m,render:(Z)=>(L.set(!0),this._renderWidget(Z,R,v??[],C)),onHide:(Z)=>{L.reset(),this._onWidgetClosed(Z)},get anchorPosition(){return R.anchorPosition},focus:()=>R.focus()},_,!1)}acceptSelected(n){this._list.value?.acceptSelected(n)}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(n){let h=this._list.value,g=this._widgetElement;if(!h||this._closingList===h)return;let p=h.closeAnimation;if(!g||!p||p.duration<=0||!this._hasRequiredAncestorClasses(g,p.requiredAncestorClasses)){this._closingList=h,h.hide(n);return}this._closingList=h;let m=B(g).getComputedStyle(g);g.style.setProperty(GS,m.opacity),g.style.setProperty(ZS,m.transform),g.classList.add(p.className),h.hide(n,!1),this._closeAnimation.value=gi(()=>{if(this._list.value===h)this._contextViewService.hideContextView(n)},p.duration)}clear(){this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement?.style.removeProperty(GS),this._widgetElement?.style.removeProperty(ZS),this._widgetElement=void 0,this._list.clear()}_renderWidget(n,h,g,p){let m=document.createElement("div");m.classList.add("action-widget");let _=h.widgetClassName?.split(/\s+/).filter(Boolean);if(_?.length)m.classList.add(..._);if(n.appendChild(m),this._widgetElement=m,this._list.value=h,this._list.value){if(this._list.value.headerContainer)m.appendChild(this._list.value.headerContainer);if(this._list.value.filterContainer)m.appendChild(this._list.value.filterContainer);if(m.appendChild(this._list.value.domNode),this._list.value.footerContainer)m.appendChild(this._list.value.footerContainer)}else throw Error("List has no value");let v=new d;if(p?.filterAsCombobox)v.add(Ct(m,"keydown",(ne)=>{if(ne.keyCode===9&&!ne.browserEvent.isComposing)Ee.stop(ne,!0),this.hide(!0)}));let S=this._list.value.headerContainer;if(S)v.add(su(S,(ne)=>ne.preventDefault()));let C=0;v.add(su(m,()=>{C=Date.now()+1000}));let L=document.createElement("div"),R=n.appendChild(L);R.classList.add("context-view-block"),v.add(su(R,(ne)=>ne.stopPropagation()));let Z=0;if(g.length){let ne=this._createActionBar(".action-widget-action-bar",g);if(ne)m.appendChild(ne.getContainer().parentElement),v.add(ne),Z=ne.getContainer().offsetWidth}let Y=this._list.value?.layout(Z);m.style.width=`${Y}px`;let Q=eo.FilterFocused.bindTo(this._contextKeyService);if(v.add({dispose:()=>Q.reset()}),this._list.value?.filterInput){let ne=this._list.value.filterInput;v.add(c(ne,"focus",()=>Q.set(!0))),v.add(c(ne,"blur",()=>Q.set(!1)))}let ee=v.add(vi(n)),oe=v.add(new ce);return v.add(ee.onDidFocus(()=>oe.clear())),v.add(ee.onDidBlur(()=>{let ne=()=>{let de=C-Date.now();if(de>0){oe.value=gi(ne,de);return}let ge=At();if(ge&&(n.contains(ge)||ge.closest(".action-widget-hover")||ge.closest(".action-list-submenu-panel")))return;this.hide(!0)};oe.value=gi(ne,75)})),v}_createActionBar(n,h){if(!h.length)return;let g=w(n),p=new Qi(g);return p.push(h,{icon:!1,label:!0}),p}_hasRequiredAncestorClasses(n,h){if(!h?.length)return!0;for(let g=n;g;g=g.parentElement)if(h.every((p)=>g.classList.contains(p)))return!0;return!1}_onWidgetClosed(n){if(this._closingList===this._list.value){this.clear();return}this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement=void 0,this._list.value?.hide(n)}};Wn=kD([n_(0,ws),n_(1,G),n_(2,A)],Wn);xe(Co,Wn,1);var Er=1100;lt(class extends Sn{constructor(){super({id:"hideCodeActionWidget",title:b(1747,"Hide action widget"),precondition:eo.Visible,keybinding:{weight:Er,primary:9,secondary:[1033]}})}run(u){u.get(Co).hide(!0)}});lt(class extends Sn{constructor(){super({id:"clearFilterCodeActionWidget",title:b(1748,"Clear action widget filter"),precondition:T.and(eo.Visible,eo.FilterFocused),keybinding:{weight:Er+1,primary:9}})}run(u){let n=u.get(Co);if(n instanceof Wn){if(!n.clearFilter())n.hide(!0)}}});lt(class extends Sn{constructor(){super({id:"selectPrevCodeAction",title:b(1749,"Select previous action"),precondition:eo.Visible,keybinding:{weight:Er,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(u){let n=u.get(Co);if(n instanceof Wn)n.focusPrevious()}});lt(class extends Sn{constructor(){super({id:"selectNextCodeAction",title:b(1750,"Select next action"),precondition:eo.Visible,keybinding:{weight:Er,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(u){let n=u.get(Co);if(n instanceof Wn)n.focusNext()}});lt(class extends Sn{constructor(){super({id:"collapseSectionCodeAction",title:b(1751,"Collapse section"),precondition:T.and(eo.Visible,eo.FilterFocused.negate()),keybinding:{weight:Er,primary:15}})}run(u){let n=u.get(Co);if(n instanceof Wn)n.collapseSection()}});lt(class extends Sn{constructor(){super({id:"expandSectionCodeAction",title:b(1752,"Expand section"),precondition:T.and(eo.Visible,eo.FilterFocused.negate()),keybinding:{weight:Er,primary:17}})}run(u){let n=u.get(Co);if(n instanceof Wn)n.expandSection()}});lt(class extends Sn{constructor(){super({id:"toggleSectionCodeAction",title:b(1753,"Toggle section"),precondition:T.and(eo.Visible,eo.FilterFocused.negate()),keybinding:{weight:Er,primary:10}})}run(u){let n=u.get(Co);if(n instanceof Wn){if(!n.toggleSection())n.acceptSelected()}}});lt(class extends Sn{constructor(){super({id:Gu,title:b(1754,"Accept selected action"),precondition:eo.Visible,keybinding:{weight:Er,primary:3,secondary:[2137]}})}run(u){let n=u.get(Co);if(n instanceof Wn)n.acceptSelected()}});lt(class extends Sn{constructor(){super({id:Zu,title:b(1755,"Preview selected action"),precondition:eo.Visible,keybinding:{weight:Er,primary:2051}})}run(u){let n=u.get(Co);if(n instanceof Wn)n.acceptSelected(!0)}});var XS=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Fd=function(u,n){return function(h,g){n(h,g,u)}},r_,s_=class u extends i{static{r_=this}static{this.baseId="editor.widget.postEditWidget"}constructor(n,h,g,p,m,_,v,S,C,L,R){super();this.typeId=n,this.editor=h,this.showCommand=p,this.range=m,this.edits=_,this.onSelectNewEdit=v,this.additionalActions=S,this._keybindingService=L,this._actionWidgetService=R,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=g.bindTo(C),this.visibleContext.set(!0),this._register(N(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(N(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition((Z)=>{this.dispose()})),this._register(I.runAndSubscribe(L.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 Qh(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(c(this.domNode,E.CLICK,()=>this.showSelector()))}getId(){return r_.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let n=kt(this.button.element),h={x:n.left+n.width,y:n.top+n.height};this._actionWidgetService.show("postEditWidget",!1,this.edits.allEdits.map((g,p)=>({kind:"action",item:g,label:g.title,disabled:!1,canPreview:!1,group:{title:"",icon:J.fromId(p===this.edits.activeEditIndex?x.check.id:x.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:(g)=>{this._actionWidgetService.hide(!1);let p=this.edits.allEdits.findIndex((m)=>m===g);if(p!==this.edits.activeEditIndex)return this.onSelectNewEdit(p)}},h,this.editor.getDomNode()??void 0,this.additionalActions)}};s_=r_=XS([Fd(8,G),Fd(9,me),Fd(10,Co)],s_);var Av=class u extends i{constructor(n,h,g,p,m,_,v,S){super();this._id=n,this._editor=h,this._visibleContext=g,this._showCommand=p,this._getAdditionalActions=m,this._instantiationService=_,this._bulkEditService=v,this._notificationService=S,this._currentWidget=this._register(new ce),this._register(I.any(h.onDidChangeModel,h.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(n,h,g,p,m){if(!n.length||!this._editor.hasModel())return;let _=this._editor.getModel(),v=h.allEdits.at(h.activeEditIndex);if(!v)return;let S=async(ne)=>{let de=this._editor.getModel();if(!de)return;await de.undo(),this.applyEditAndShowIfNeeded(n,{activeEditIndex:ne,allEdits:h.allEdits},g,p,m)},C=(ne,de)=>{if(mi(ne))return;if(this._notificationService.error(de),g)this.show(n[0],h,S)},L=new Ss(this._editor,3,void 0,m),R;try{R=await LM(p(v,L.token),L.token)}catch(ne){return C(ne,e(991,`Error resolving edit '{0}':
|
|
5
|
-
{1}`,v.title,Nv(ne)))}finally{L.dispose()}if(m.isCancellationRequested)return;let Z=ju(_.uri,n,R),Y=n[0],Q=_.deltaDecorations([],[{range:Y,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let ee,oe;try{ee=await this._bulkEditService.apply(Z,{editor:this._editor,token:m}),oe=_.getDecorationRange(Q[0])}catch(ne){return C(ne,e(992,`Error applying edit '{0}':
|
|
6
|
-
{1}`,v.title,Nv(ne)))}finally{_.deltaDecorations(Q,[])}if(m.isCancellationRequested)return;if(g&&ee.isApplied&&h.allEdits.length>1)this.show(oe??Y,h,S)}show(n,h,g){if(this.clear(),this._editor.hasModel())this._currentWidget.value=this._instantiationService.createInstance(s_,this._id,this._editor,this._visibleContext,this._showCommand,n,h,g,this._getAdditionalActions())}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};Av=XS([Fd(5,A),Fd(6,Sc),Fd(7,yt)],Av);var ED=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Tr=function(u,n){return function(h,g){n(h,g,u)}},an,bI="editor.changePasteType",DD="editor.pasteAs.preferences",WC=new M("pasteWidgetVisible",!1,e(971,"Whether the paste widget is showing")),a_="application/vnd.code.copymetadata",od=class u extends i{static{an=this}static{this.ID="editor.contrib.copyPasteActionController"}static get(n){return n.getContribution(an.ID)}constructor(n,h,g,p,m,_,v,S,C,L){super();this._logService=g,this._bulkEditService=p,this._clipboardService=m,this._commandService=_,this._configService=v,this._languageFeaturesService=S,this._quickInputService=C,this._progressService=L,this._editor=n,this._register(n.onWillCopy((R)=>this.handleCopy(R))),this._register(n.onWillCut((R)=>this.handleCopy(R))),this._register(n.onWillPaste((R)=>this.handlePaste(R))),this._pasteProgressManager=this._register(new Dv("pasteIntoEditor",n,h)),this._postPasteWidgetManager=this._register(h.createInstance(Av,"pasteIntoEditor",n,WC,{id:bI,label:e(972,"Show paste options...")},()=>an._configureDefaultAction?[an._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(n){this._logService.trace("CopyPasteController.pasteAs"),this._editor.focus();try{this._logService.trace("Before calling editor.action.clipboardPasteAction"),this._pasteAsActionContext={preferred:n},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(n){if(this._logService.trace("CopyPasteController#handleCopy"),!this._editor.hasTextFocus())return;if(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled())return;let h=this._editor.getModel(),g=this._editor._getViewModel(),p=this._editor.getSelections();if(!h||!g||!p?.length)return;let m={multicursorText:n.dataToCopy.multicursorText??null,pasteOnNewLine:n.dataToCopy.isFromEmptySelection,mode:null},_=this._languageFeaturesService.documentPasteEditProvider.ordered(h).filter((R)=>!!R.prepareDocumentPaste);if(!_.length){this.setCopyMetadata(n.clipboardData,{defaultPastePayload:m});return}let v=new Df,S=_.flatMap((R)=>R.copyMimeTypes??[]),C=$l();this.setCopyMetadata(n.clipboardData,{id:C,providerCopyMimeTypes:S,defaultPastePayload:m});let L=_.map((R)=>({providerMimeTypes:R.copyMimeTypes,operation:Yt((Z)=>R.prepareDocumentPaste(h,n.dataToCopy.sourceRanges,v,Z).catch((Y)=>{console.error(Y);return}))}));an._currentCopyOperation?.operations.forEach((R)=>R.operation.cancel()),an._currentCopyOperation={handle:C,operations:L}}async handlePaste(n){if(this._logService.trace("CopyPasteController#handlePaste for id : ",n.metadata?.id),!this._editor.hasTextFocus())return;let h=n.toExternalVSDataTransfer();if(!h)return;h.delete(a_),pi.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let g=this._editor.getModel(),p=this._editor.getSelections();if(!p?.length||!g)return;if(this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let m=this.fetchCopyMetadata(n);this._logService.trace("CopyPasteController#handlePaste with metadata : ",m?.id," and text.length : ",n.clipboardData.getData("text/plain").length);let _=Array.from(n.clipboardData.files).map((C)=>C.type),v=[...n.clipboardData.types,..._,...m?.providerCopyMimeTypes??[],Cn.uriList],S=this._languageFeaturesService.documentPasteEditProvider.ordered(g).filter((C)=>{let L=this._pasteAsActionContext?.preferred;if(L){if(!this.providerMatchesPreference(C,L))return!1}return C.pasteMimeTypes?.some((R)=>NI(R,v))});if(!S.length){if(this._pasteAsActionContext?.preferred)this.showPasteAsNoEditMessage(p,this._pasteAsActionContext.preferred),n.setHandled();return}if(n.setHandled(),this._pasteAsActionContext)this.showPasteAsPick(this._pasteAsActionContext.preferred,S,p,h,m);else this.doPasteInline(S,p,h,m,n.browserEvent)}showPasteAsNoEditMessage(n,h){let g="only"in h?h.only.value:("preferences"in h)?h.preferences.length?h.preferences.map((p)=>p.value).join(", "):e(973,"empty"):h.providerId;pi.get(this._editor)?.showMessage(e(974,"No paste edits for '{0}' found",g),n[0].getStartPosition())}doPasteInline(n,h,g,p,m){this._logService.trace("CopyPasteController#doPasteInline");let _=this._editor;if(!_.hasModel())return;let v=new Ss(_,3,void 0),S=Yt(async(C)=>{let L=this._editor;if(!L.hasModel())return;let R=L.getModel(),Z=new d,Y=Z.add(new qe(C));Z.add(v.token.onCancellationRequested(()=>Y.cancel()));let Q=Y.token;try{if(await this.mergeInDataFromCopy(n,g,p,Q),Q.isCancellationRequested)return;let ee=n.filter((de)=>this.isSupportedPasteProvider(de,g));if(!ee.length||ee.length===1&&ee[0]instanceof Rh)return this.applyDefaultPasteHandler(g,p,Q,m);let oe={triggerKind:rg.Automatic},ne=await this.getPasteEdits(ee,g,R,h,oe,Q);if(Z.add(ne),Q.isCancellationRequested)return;if(ne.edits.length===1&&ne.edits[0].provider instanceof Rh)return this.applyDefaultPasteHandler(g,p,Q,m);if(ne.edits.length){let de=L.getOption(97).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(h,{activeEditIndex:this.getInitialActiveEditIndex(R,ne.edits),allEdits:ne.edits},de,async(ge,_e)=>{if(!ge.provider.resolveDocumentPasteEdit)return ge;let Se=ge.provider.resolveDocumentPasteEdit(ge,_e),ae=new aa,pe=await this._pasteProgressManager.showWhile(h[0].getEndPosition(),e(975,"Resolving paste edit for '{0}'. Click to cancel",ge.title),lc(Promise.race([ae.p,Se]),_e),{cancel:()=>ae.cancel()},0);if(pe)ge.insertText=pe.insertText,ge.additionalEdit=pe.additionalEdit;return ge},Q)}await this.applyDefaultPasteHandler(g,p,Q,m)}finally{if(Z.dispose(),this._currentPasteOperation===S)this._currentPasteOperation=void 0}});this._pasteProgressManager.showWhile(h[0].getEndPosition(),e(976,"Running paste handlers. Click to cancel and do basic paste"),S,{cancel:async()=>{if(S.cancel(),v.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(g,p,v.token,m)}}).finally(()=>{v.dispose()}),this._currentPasteOperation=S}showPasteAsPick(n,h,g,p,m){this._logService.trace("CopyPasteController#showPasteAsPick");let _=Yt(async(v)=>{let S=this._editor;if(!S.hasModel())return;let C=S.getModel(),L=new d,R=L.add(new Ss(S,3,void 0,v));try{if(await this.mergeInDataFromCopy(h,p,m,R.token),R.token.isCancellationRequested)return;let Z=h.filter((ne)=>this.isSupportedPasteProvider(ne,p,n));if(n)Z=Z.filter((ne)=>this.providerMatchesPreference(ne,n));let Y={triggerKind:rg.PasteAs,only:n&&"only"in n?n.only:void 0},Q=L.add(await this.getPasteEdits(Z,p,C,g,Y,R.token));if(R.token.isCancellationRequested)return;if(n)Q={edits:Q.edits.filter((ne)=>{if("only"in n)return n.only.contains(ne.kind);else if("preferences"in n)return n.preferences.some((de)=>de.contains(ne.kind));else return n.providerId===ne.provider.id}),dispose:Q.dispose};if(!Q.edits.length){if(n)this.showPasteAsNoEditMessage(g,n);return}let ee;if(n)ee=Q.edits.at(0);else{let ne={id:"editor.pasteAs.default",label:e(977,"Configure default paste action"),edit:void 0},de=await this._quickInputService.pick([...Q.edits.map((ge)=>({label:ge.title,description:ge.kind?.value,edit:ge})),...an._configureDefaultAction?[_M({type:"separator"}),{label:an._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:e(978,"Select Paste Action")});if(de===ne){an._configureDefaultAction?.run();return}ee=de?.edit}if(!ee)return;let oe=ju(C.uri,g,ee);await this._bulkEditService.apply(oe,{editor:this._editor})}finally{if(L.dispose(),this._currentPasteOperation===_)this._currentPasteOperation=void 0}});this._progressService.withProgress({location:10,title:e(979,"Running paste handlers")},()=>_)}setCopyMetadata(n,h){this._logService.trace("CopyPasteController#setCopyMetadata new id : ",h.id),n.setData(a_,JSON.stringify(h))}fetchCopyMetadata(n){this._logService.trace("CopyPasteController#fetchCopyMetadata");let h=n.clipboardData.getData(a_);if(h)try{return JSON.parse(h)}catch{return}if(n.metadata)return{defaultPastePayload:{mode:n.metadata.mode,multicursorText:n.metadata.multicursorText??null,pasteOnNewLine:!!n.metadata.isFromEmptySelection}};return}async mergeInDataFromCopy(n,h,g,p){if(this._logService.trace("CopyPasteController#mergeInDataFromCopy with metadata : ",g?.id),g?.id&&an._currentCopyOperation?.handle===g.id){let m=an._currentCopyOperation.operations.filter((v)=>n.some((S)=>S.pasteMimeTypes.some((C)=>NI(C,v.providerMimeTypes)))).map((v)=>v.operation),_=await Promise.all(m);if(p.isCancellationRequested)return;for(let v of _.reverse())if(v)for(let[S,C]of v)h.replace(S,C)}if(!h.has(Cn.uriList)){let m=await this._clipboardService.readResources();if(p.isCancellationRequested)return;if(m.length)h.append(Cn.uriList,k0(Sg.create(m)))}}async getPasteEdits(n,h,g,p,m,_){let v=new d,S=await lc(Promise.all(n.map(async(L)=>{try{let R=await L.provideDocumentPasteEdits?.(g,p,h,m,_);if(R)v.add(R);return R?.edits?.map((Z)=>({...Z,provider:L}))}catch(R){if(!mi(R))console.error(R);return}})),_),C=vo(S??[]).flat().filter((L)=>!m.only||m.only.contains(L.kind));return{edits:zC(C),dispose:()=>v.dispose()}}async applyDefaultPasteHandler(n,h,g,p){let _=await(n.get(Cn.text)??n.get("text"))?.asString()??"";if(g.isCancellationRequested)return;let v={clipboardEvent:p,text:_,pasteOnNewLine:h?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:h?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace("CopyPasteController#applyDefaultPasteHandler for id : ",h?.id),this._editor.trigger("keyboard","paste",v)}isSupportedPasteProvider(n,h,g){if(!n.pasteMimeTypes?.some((p)=>h.matches(p)))return!1;return!g||this.providerMatchesPreference(n,g)}providerMatchesPreference(n,h){if("only"in h)return n.providedPasteEditKinds.some((g)=>h.only.contains(g));else if("preferences"in h)return n.providedPasteEditKinds.some((g)=>h.preferences.some((p)=>p.contains(g)));else return n.id===h.providerId}getInitialActiveEditIndex(n,h){let g=this._configService.getValue(DD,{resource:n.uri});for(let p of Array.isArray(g)?g:[]){let m=new jt(p),_=h.findIndex((v)=>m.contains(v.kind));if(_>=0)return _}return 0}};od=an=ED([Tr(1,A),Tr(2,Ye),Tr(3,Sc),Tr(4,yi),Tr(5,Ue),Tr(6,re),Tr(7,z),Tr(8,kn),Tr(9,z1)],od);var ka="9_cutcopypaste",TD=Yr||document.queryCommandSupported&&document.queryCommandSupported("cut"),JS=Yr||document.queryCommandSupported&&document.queryCommandSupported("copy"),RD=typeof navigator.clipboard>"u"||li?document.queryCommandSupported&&document.queryCommandSupported("paste"):!0;function l_(u){return u.register(),u}var ND=TD?l_(new xf({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Yr?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:l.MenubarEditMenu,group:"2_ccp",title:e(864,"Cu&&t"),order:1},{menuId:l.EditorContext,group:ka,title:e(865,"Cut"),when:r.writable,order:1},{menuId:l.CommandPalette,group:"",title:e(866,"Cut"),order:1},{menuId:l.SimpleEditorContext,group:ka,title:e(867,"Cut"),when:r.writable,order:1}]})):void 0,MD=JS?l_(new xf({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Yr?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:l.MenubarEditMenu,group:"2_ccp",title:e(868,"&&Copy"),order:2},{menuId:l.EditorContext,group:ka,title:e(869,"Copy"),order:2},{menuId:l.CommandPalette,group:"",title:e(870,"Copy"),order:1},{menuId:l.SimpleEditorContext,group:ka,title:e(871,"Copy"),order:2}]})):void 0;Jn.appendMenuItem(l.MenubarEditMenu,{submenu:l.MenubarCopy,title:b(876,"Copy As"),group:"2_ccp",order:3});Jn.appendMenuItem(l.EditorContext,{submenu:l.EditorContextCopy,title:b(877,"Copy As"),group:ka,order:3});Jn.appendMenuItem(l.EditorContext,{submenu:l.EditorContextShare,title:b(878,"Share"),group:"11_share",order:-1,when:T.and(T.notEquals("resourceScheme","output"),r.editorTextFocus)});Jn.appendMenuItem(l.ExplorerContext,{submenu:l.ExplorerContextShare,title:b(879,"Share"),group:"11_share",order:-1});var d_=RD?l_(new xf({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Yr?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:l.MenubarEditMenu,group:"2_ccp",title:e(872,"&&Paste"),order:4},{menuId:l.EditorContext,group:ka,title:e(873,"Paste"),when:r.writable,order:4},{menuId:l.CommandPalette,group:"",title:e(874,"Paste"),order:1},{menuId:l.SimpleEditorContext,group:ka,title:e(875,"Paste"),when:r.writable,order:4}]})):void 0;class QS extends U{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:b(880,"Copy with Syntax Highlighting"),precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,weight:100}})}run(u,n){let h=u.get(Ye),g=u.get(yi);if(h.trace("ExecCommandCopyWithSyntaxHighlightingAction#run"),!n.hasModel())return;if(!n.getOption(45)&&n.getSelection().isEmpty())return;pu.forceCopyWithSyntaxHighlighting=!0,n.focus(),h.trace("ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)"),c_(n,g),h.trace("ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)"),pu.forceCopyWithSyntaxHighlighting=!1}}function c_(u,n){if(pu.electronBugWorkaroundCopyEventHasFired=!1,u.getContainerDomNode().ownerDocument.execCommand("copy"),Yr&&pu.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:h}=t2(u._getViewModel(),void 0,li);n.writeText(h.text)}}function eC(u,n){if(!u)return;u.addImplementation(1e4,"code-editor",(h,g)=>{let p=h.get(Ye),m=h.get(yi);p.trace("registerExecCommandImpl (addImplementation code-editor for : ",n,")");let _=h.get(Te).getFocusedCodeEditor();if(_&&_.hasTextFocus()&&_.hasModel()){let v=_.getOption(45),S=_.getSelection();if(S&&S.isEmpty()&&!v)return!0;if(_.getOption(171)&&n==="cut")YS(_),p.trace("registerExecCommandImpl (before execCommand copy)"),c_(_,m),_.trigger(void 0,"cut",void 0),p.trace("registerExecCommandImpl (after execCommand copy)");else{if(YS(_),p.trace("registerExecCommandImpl (before execCommand "+n+")"),n==="copy")c_(_,m);else _.getContainerDomNode().ownerDocument.execCommand(n);p.trace("registerExecCommandImpl (after execCommand "+n+")")}return!0}return!1}),u.addImplementation(0,"generic-dom",(h,g)=>{let p=h.get(Ye);return p.trace("registerExecCommandImpl (addImplementation generic-dom for : ",n,")"),p.trace("registerExecCommandImpl (before execCommand "+n+")"),gf().execCommand(n),p.trace("registerExecCommandImpl (after execCommand "+n+")"),!0})}function YS(u){if(u.getOption(171)){let h=L0.get(u.getId());if(h)h.handleWillCopy()}}eC(ND,"cut");eC(MD,"copy");if(d_)d_.addImplementation(1e4,"code-editor",(u,n)=>{let h=u.get(Ye);h.trace("registerExecCommandImpl (addImplementation code-editor for : paste)");let g=u.get(Te),p=u.get(yi),m=g.getFocusedCodeEditor();if(m&&m.hasModel()&&m.hasTextFocus()){if(m.getOption(171)){let S=L0.get(m.getId());if(S)S.handleWillPaste()}h.trace("registerExecCommandImpl (before triggerPaste)");let v=p.triggerPaste(Ge().vscodeWindowId);if(v)return h.trace("registerExecCommandImpl (triggerPaste defined)"),v.then(async()=>(h.trace("registerExecCommandImpl (after triggerPaste)"),od.get(m)?.finishedPaste()??Promise.resolve()));else h.trace("registerExecCommandImpl (triggerPaste undefined)");if(Ns)return h.trace("registerExecCommandImpl (Paste handling on web)"),(async()=>{let S=await p.readText();if(S!==""){let C=Nf.INSTANCE.get(S),L=!1,R=null,Z=null;if(C)L=m.getOption(45)&&!!C.isFromEmptySelection,R=typeof C.multicursorText<"u"?C.multicursorText:null,Z=C.mode;h.trace("registerExecCommandImpl (clipboardText.length : ",S.length," id : ",C?.id,")"),m.trigger("keyboard","paste",{text:S,pasteOnNewLine:L,multicursorText:R,mode:Z})}})();return!0}return!1}),d_.addImplementation(0,"generic-dom",(u,n)=>(u.get(Ye).trace("registerExecCommandImpl (addImplementation generic-dom for : paste)"),u.get(yi).triggerPaste(Ge().vscodeWindowId)??!1));if(JS)O(QS);class nr{constructor(u,n,h){this.languageConfigurationService=h,this._selection=u,this._insertSpace=n,this._usedEndToken=null}static _haystackHasNeedleAtOffset(u,n,h){if(h<0)return!1;let g=n.length,p=u.length;if(h+g>p)return!1;for(let m=0;m<g;m++){let _=u.charCodeAt(h+m),v=n.charCodeAt(m);if(_===v)continue;if(_>=65&&_<=90&&_+32===v)continue;if(v>=65&&v<=90&&v+32===_)continue;return!1}return!0}_createOperationsForBlockComment(u,n,h,g,p,m){let{startLineNumber:_,startColumn:v,endLineNumber:S,endColumn:C}=u,L=p.getLineContent(_),R=p.getLineContent(S),Z=L.lastIndexOf(n,v-1+n.length),Y=R.indexOf(h,C-1-h.length);if(Z!==-1&&Y!==-1)if(_===S){if(L.substring(Z+n.length,Y).indexOf(h)>=0)Z=-1,Y=-1}else{let ee=L.substring(Z+n.length),oe=R.substring(0,Y);if(ee.indexOf(h)>=0||oe.indexOf(h)>=0)Z=-1,Y=-1}let Q;if(Z!==-1&&Y!==-1){if(g&&Z+n.length<L.length&&L.charCodeAt(Z+n.length)===32)n=n+" ";if(g&&Y>0&&R.charCodeAt(Y-1)===32)h=" "+h,Y-=1;Q=nr._createRemoveBlockCommentOperations(new t(_,Z+n.length+1,S,Y+1),n,h)}else Q=nr._createAddBlockCommentOperations(u,n,h,this._insertSpace),this._usedEndToken=Q.length===1?h:null;for(let ee of Q)m.addTrackedEditOperation(ee.range,ee.text)}static _createRemoveBlockCommentOperations(u,n,h){let g=[];if(!t.isEmpty(u))g.push(Jt.delete(new t(u.startLineNumber,u.startColumn-n.length,u.startLineNumber,u.startColumn))),g.push(Jt.delete(new t(u.endLineNumber,u.endColumn,u.endLineNumber,u.endColumn+h.length)));else g.push(Jt.delete(new t(u.startLineNumber,u.startColumn-n.length,u.endLineNumber,u.endColumn+h.length)));return g}static _createAddBlockCommentOperations(u,n,h,g){let p=[];if(!t.isEmpty(u))p.push(Jt.insert(new s(u.startLineNumber,u.startColumn),n+(g?" ":""))),p.push(Jt.insert(new s(u.endLineNumber,u.endColumn),(g?" ":"")+h));else p.push(Jt.replace(new t(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn),n+" "+h));return p}getEditOperations(u,n){let h=this._selection.startLineNumber,g=this._selection.startColumn;u.tokenization.tokenizeIfCheap(h);let p=u.getLanguageIdAtPosition(h,g),m=this.languageConfigurationService.getLanguageConfiguration(p).comments;if(!m||!m.blockCommentStartToken||!m.blockCommentEndToken)return;this._createOperationsForBlockComment(this._selection,m.blockCommentStartToken,m.blockCommentEndToken,this._insertSpace,u,n)}computeCursorState(u,n){let h=n.getInverseEditOperations();if(h.length===2){let g=h[0],p=h[1];return new F(g.range.endLineNumber,g.range.endColumn,p.range.startLineNumber,p.range.startColumn)}else{let g=h[0].range,p=this._usedEndToken?-this._usedEndToken.length-1:0;return new F(g.endLineNumber,g.endColumn+p,g.endLineNumber,g.endColumn+p)}}}class rr{constructor(u,n,h,g,p,m,_){this.languageConfigurationService=u,this._selection=n,this._indentSize=h,this._type=g,this._insertSpace=p,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=m,this._ignoreFirstLine=_||!1}static _gatherPreflightCommentStrings(u,n,h,g){u.tokenization.tokenizeIfCheap(n);let p=u.getLanguageIdAtPosition(n,1),m=g.getLanguageConfiguration(p).comments,_=m?m.lineCommentToken:null;if(!_)return null;let v=[];for(let S=0,C=h-n+1;S<C;S++)v[S]={ignore:!1,commentStr:_,commentStrOffset:0,commentStrLength:_.length};return v}static _analyzeLines(u,n,h,g,p,m,_,v,S){let C=!0,R=v.getLanguageConfiguration(S).comments?.lineCommentNoIndent??!1,Z;if(u===0)Z=!0;else if(u===1)Z=!1;else Z=!0;for(let Y=0,Q=g.length;Y<Q;Y++){let ee=g[Y],oe=p+Y;if(oe===p&&_){ee.ignore=!0;continue}let ne=h.getLineContent(oe),de=Kn(ne);if(de===-1){ee.ignore=m,ee.commentStrOffset=R?0:ne.length;continue}C=!1;let ge=R?0:de;if(ee.ignore=!1,ee.commentStrOffset=ge,Z&&!nr._haystackHasNeedleAtOffset(ne,ee.commentStr,ge))if(u===0)Z=!1;else if(u===1);else ee.ignore=!0;if(Z&&n){let _e=de+ee.commentStrLength;if(_e<ne.length&&ne.charCodeAt(_e)===32)ee.commentStrLength+=1}}if(u===0&&C){Z=!1;for(let Y=0,Q=g.length;Y<Q;Y++)g[Y].ignore=!1}return{supported:!0,shouldRemoveComments:Z,lines:g}}static _gatherPreflightData(u,n,h,g,p,m,_,v){let S=rr._gatherPreflightCommentStrings(h,g,p,v),C=h.getLanguageIdAtPosition(g,1);if(S===null)return{supported:!1};return rr._analyzeLines(u,n,h,S,g,m,_,v,C)}_executeLineComments(u,n,h,g){let p;if(h.shouldRemoveComments)p=rr._createRemoveLineCommentsOperations(h.lines,g.startLineNumber);else rr._normalizeInsertionPoint(u,h.lines,g.startLineNumber,this._indentSize),p=this._createAddLineCommentsOperations(h.lines,g.startLineNumber);let m=new s(g.positionLineNumber,g.positionColumn);for(let _=0,v=p.length;_<v;_++)if(n.addEditOperation(p[_].range,p[_].text),t.isEmpty(p[_].range)&&t.getStartPosition(p[_].range).equals(m)){if(u.getLineContent(m.lineNumber).length+1===m.column)this._deltaColumn=(p[_].text||"").length}this._selectionId=n.trackSelection(g)}_attemptRemoveBlockComment(u,n,h,g){let{startLineNumber:p,endLineNumber:m}=n,_=g.length+Math.max(u.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.startColumn),v=u.getLineContent(p).lastIndexOf(h,_-1),S=u.getLineContent(m).indexOf(g,n.endColumn-1-h.length);if(v!==-1&&S===-1)S=u.getLineContent(p).indexOf(g,v+h.length),m=p;if(v===-1&&S!==-1)v=u.getLineContent(m).lastIndexOf(h,S),p=m;if(n.isEmpty()&&(v===-1||S===-1)){if(v=u.getLineContent(p).indexOf(h),v!==-1)S=u.getLineContent(p).indexOf(g,v+h.length)}if(v!==-1&&u.getLineContent(p).charCodeAt(v+h.length)===32)h+=" ";if(S!==-1&&u.getLineContent(m).charCodeAt(S-1)===32)g=" "+g,S-=1;if(v!==-1&&S!==-1)return nr._createRemoveBlockCommentOperations(new t(p,v+h.length+1,m,S+1),h,g);return null}_executeBlockComment(u,n,h){u.tokenization.tokenizeIfCheap(h.startLineNumber);let g=u.getLanguageIdAtPosition(h.startLineNumber,1),p=this.languageConfigurationService.getLanguageConfiguration(g).comments;if(!p||!p.blockCommentStartToken||!p.blockCommentEndToken)return;let{blockCommentStartToken:m,blockCommentEndToken:_}=p,v=this._attemptRemoveBlockComment(u,h,m,_);if(!v){if(h.isEmpty()){let S=u.getLineContent(h.startLineNumber),C=Kn(S);if(C===-1)C=S.length;v=nr._createAddBlockCommentOperations(new t(h.startLineNumber,C+1,h.startLineNumber,S.length+1),m,_,this._insertSpace)}else v=nr._createAddBlockCommentOperations(new t(h.startLineNumber,u.getLineFirstNonWhitespaceColumn(h.startLineNumber),h.endLineNumber,u.getLineMaxColumn(h.endLineNumber)),m,_,this._insertSpace);if(v.length===1)this._deltaColumn=m.length+1}this._selectionId=n.trackSelection(h);for(let S of v)n.addEditOperation(S.range,S.text)}getEditOperations(u,n){let h=this._selection;if(this._moveEndPositionDown=!1,h.startLineNumber===h.endLineNumber&&this._ignoreFirstLine){n.addEditOperation(new t(h.startLineNumber,u.getLineMaxColumn(h.startLineNumber),h.startLineNumber+1,1),h.startLineNumber===u.getLineCount()?"":`
|
|
7
|
-
`),this._selectionId=n.trackSelection(h);return}if(h.startLineNumber<h.endLineNumber&&h.endColumn===1)this._moveEndPositionDown=!0,h=h.setEndPosition(h.endLineNumber-1,u.getLineMaxColumn(h.endLineNumber-1));let g=rr._gatherPreflightData(this._type,this._insertSpace,u,h.startLineNumber,h.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);if(g.supported)return this._executeLineComments(u,n,g,h);return this._executeBlockComment(u,n,h)}computeCursorState(u,n){let h=n.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown)h=h.setEndPosition(h.endLineNumber+1,1);return new F(h.selectionStartLineNumber,h.selectionStartColumn+this._deltaColumn,h.positionLineNumber,h.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(u,n){let h=[];for(let g=0,p=u.length;g<p;g++){let m=u[g];if(m.ignore)continue;h.push(Jt.delete(new t(n+g,m.commentStrOffset+1,n+g,m.commentStrOffset+m.commentStrLength+1)))}return h}_createAddLineCommentsOperations(u,n){let h=[],g=this._insertSpace?" ":"";for(let p=0,m=u.length;p<m;p++){let _=u[p];if(_.ignore)continue;h.push(Jt.insert(new s(n+p,_.commentStrOffset+1),_.commentStr+g))}return h}static nextVisibleColumn(u,n,h,g){if(h)return u+(n-u%n);return u+g}static _normalizeInsertionPoint(u,n,h,g){let p=1073741824,m,_;for(let v=0,S=n.length;v<S;v++){if(n[v].ignore)continue;let C=u.getLineContent(h+v),L=0;for(let R=0,Z=n[v].commentStrOffset;L<p&&R<Z;R++)L=rr.nextVisibleColumn(L,g,C.charCodeAt(R)===9,1);if(L<p)p=L}p=Math.floor(p/g)*g;for(let v=0,S=n.length;v<S;v++){if(n[v].ignore)continue;let C=u.getLineContent(h+v),L=0;for(m=0,_=n[v].commentStrOffset;L<p&&m<_;m++)L=rr.nextVisibleColumn(L,g,C.charCodeAt(m)===9,1);if(L>p)n[v].commentStrOffset=m-1;else n[v].commentStrOffset=m}}}class Xu extends U{constructor(u,n){super(n);this._type=u}run(u,n){let h=u.get(ht);if(!n.hasModel())return;let g=n.getModel(),p=[],m=g.getOptions(),_=n.getOption(29),v=n.getSelections().map((C,L)=>({selection:C,index:L,ignoreFirstLine:!1}));v.sort((C,L)=>t.compareRangesUsingStarts(C.selection,L.selection));let S=v[0];for(let C=1;C<v.length;C++){let L=v[C];if(S.selection.endLineNumber===L.selection.startLineNumber)if(S.index<L.index)L.ignoreFirstLine=!0;else S.ignoreFirstLine=!0,S=L}for(let C of v)p.push(new rr(h,C.selection,m.indentSize,this._type,_.insertSpace,_.ignoreEmptyLines,C.ignoreFirstLine));n.pushUndoStop(),n.executeCommands(this.id,p),n.pushUndoStop()}}class tC extends Xu{constructor(){super(0,{id:"editor.action.commentLine",label:b(948,"Toggle Line Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:l.MenubarEditMenu,group:"5_insert",title:e(946,"&&Toggle Line Comment"),order:1},canTriggerInlineEdits:!0})}}class iC extends Xu{constructor(){super(1,{id:"editor.action.addCommentLine",label:b(949,"Add Line Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2081),weight:100},canTriggerInlineEdits:!0})}}class oC extends Xu{constructor(){super(2,{id:"editor.action.removeCommentLine",label:b(950,"Remove Line Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2099),weight:100},canTriggerInlineEdits:!0})}}class nC extends U{constructor(){super({id:"editor.action.blockComment",label:b(951,"Toggle Block Comment"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:l.MenubarEditMenu,group:"5_insert",title:e(947,"Toggle &&Block Comment"),order:2},canTriggerInlineEdits:!0})}run(u,n){let h=u.get(ht);if(!n.hasModel())return;let g=n.getOption(29),p=[],m=n.getSelections();for(let _ of m)p.push(new nr(_,g.insertSpace,h));n.pushUndoStop(),n.executeCommands(this.id,p),n.pushUndoStop()}}O(tC);O(iC);O(oC);O(nC);class Yu{constructor(u){this.selections=u}equals(u){let n=this.selections.length,h=u.selections.length;if(n!==h)return!1;for(let g=0;g<n;g++)if(!this.selections[g].equalsSelection(u.selections[g]))return!1;return!0}}class Ju{constructor(u,n,h){this.cursorState=u,this.scrollTop=n,this.scrollLeft=h}}class Hd extends i{static{this.ID="editor.contrib.cursorUndoRedoController"}static get(u){return u.getContribution(Hd.ID)}constructor(u){super();this._editor=u,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(u.onDidChangeModel((n)=>{this._undoStack=[],this._redoStack=[]})),this._register(u.onDidChangeModelContent((n)=>{this._undoStack=[],this._redoStack=[]})),this._register(u.onDidChangeCursorSelection((n)=>{if(this._isCursorUndoRedo)return;if(!n.oldSelections)return;if(n.oldModelVersionId!==n.modelVersionId)return;let h=new Yu(n.oldSelections);if(!(this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(h))){if(this._undoStack.push(new Ju(h,u.getScrollTop(),u.getScrollLeft())),this._redoStack=[],this._undoStack.length>50)this._undoStack.shift()}}))}cursorUndo(){if(!this._editor.hasModel()||this._undoStack.length===0)return;this._redoStack.push(new Ju(new Yu(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop())}cursorRedo(){if(!this._editor.hasModel()||this._redoStack.length===0)return;this._undoStack.push(new Ju(new Yu(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop())}_applyState(u){this._isCursorUndoRedo=!0,this._editor.setSelections(u.cursorState.selections),this._editor.setScrollPosition({scrollTop:u.scrollTop,scrollLeft:u.scrollLeft}),this._isCursorUndoRedo=!1}}class rC extends U{constructor(){super({id:"cursorUndo",label:b(965,"Cursor Undo"),precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:2099,weight:100}})}run(u,n,h){Hd.get(n)?.cursorUndo()}}class sC extends U{constructor(){super({id:"cursorRedo",label:b(966,"Cursor Redo"),precondition:void 0})}run(u,n,h){Hd.get(n)?.cursorRedo()}}fe(Hd.ID,Hd,0);O(rC);O(sC);class h_{constructor(u,n,h){this.selection=u,this.targetPosition=n,this.copy=h,this.targetSelection=null}getEditOperations(u,n){let h=u.getValueInRange(this.selection);if(!this.copy)n.addEditOperation(this.selection,null);if(n.addEditOperation(new t(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),h),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 F(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 F(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 F(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}if(this.selection.endColumn<=this.targetPosition.column)this.targetSelection=new F(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);else this.targetSelection=new F(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(u,n){return this.targetSelection}}function Wd(u){if(ve)return u.altKey;else return u.ctrlKey}class Bd extends i{static{this.ID="editor.contrib.dragAndDrop"}static{this.TRIGGER_KEY_VALUE=ve?6:5}constructor(u){super();this._editor=u,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown((n)=>this._onEditorMouseDown(n))),this._register(this._editor.onMouseUp((n)=>this._onEditorMouseUp(n))),this._register(this._editor.onMouseDrag((n)=>this._onEditorMouseDrag(n))),this._register(this._editor.onMouseDrop((n)=>this._onEditorMouseDrop(n))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown((n)=>this.onEditorKeyDown(n))),this._register(this._editor.onKeyUp((n)=>this.onEditorKeyUp(n))),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(u){if(!this._editor.getOption(42)||this._editor.getOption(28))return;if(Wd(u))this._modifierPressed=!0;if(this._mouseDown&&Wd(u))this._editor.updateOptions({mouseStyle:"copy"})}onEditorKeyUp(u){if(!this._editor.getOption(42)||this._editor.getOption(28))return;if(Wd(u))this._modifierPressed=!1;if(this._mouseDown&&u.keyCode===Bd.TRIGGER_KEY_VALUE)this._editor.updateOptions({mouseStyle:"default"})}_onEditorMouseDown(u){this._mouseDown=!0}_onEditorMouseUp(u){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(u){let n=u.target;if(this._dragSelection===null){let g=(this._editor.getSelections()||[]).filter((p)=>n.position&&p.containsPosition(n.position));if(g.length===1)this._dragSelection=g[0];else return}if(Wd(u.event))this._editor.updateOptions({mouseStyle:"copy"});else this._editor.updateOptions({mouseStyle:"default"});if(n.position)if(this._dragSelection.containsPosition(n.position))this._removeDecoration();else this.showAt(n.position)}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(u){if(u.target&&(this._hitContent(u.target)||this._hitMargin(u.target))&&u.target.position){let n=new s(u.target.position.lineNumber,u.target.position.column);if(this._dragSelection===null){let h=null;if(u.event.shiftKey){let g=this._editor.getSelection();if(g){let{selectionStartLineNumber:p,selectionStartColumn:m}=g;h=[new F(p,m,n.lineNumber,n.column)]}}else h=(this._editor.getSelections()||[]).map((g)=>{if(g.containsPosition(n))return new F(n.lineNumber,n.column,n.lineNumber,n.column);else return g});this._editor.setSelections(h||[],"mouse",3)}else if(!this._dragSelection.containsPosition(n)||(Wd(u.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(n)||this._dragSelection.getStartPosition().equals(n)))this._editor.pushUndoStop(),this._editor.executeCommand(Bd.ID,new h_(this._dragSelection,n,Wd(u.event)||this._modifierPressed)),this._editor.pushUndoStop()}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}static{this._DECORATION_OPTIONS=ue.register({description:"dnd-target",className:"dnd-target"})}showAt(u){this._dndDecorationIds.set([{range:new t(u.lineNumber,u.column,u.lineNumber,u.column),options:Bd._DECORATION_OPTIONS}]),this._editor.revealPosition(u,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(u){return u.type===6||u.type===7}_hitMargin(u){return u.type===2||u.type===3||u.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}fe(Bd.ID,Bd,2);function u_(u,n,h,g){if(u.getLineCount()===1&&u.getLineMaxColumn(1)===1)return[];let p=n.getLanguageConfiguration(u.getLanguageId()).indentRulesSupport;if(!p)return[];let m=new cy(u,p,n);g=Math.min(g,u.getLineCount());while(h<=g){if(!m.shouldIgnore(h))break;h++}if(h>g-1)return[];let{tabSize:_,indentSize:v,insertSpaces:S}=u.getOptions(),C=(ee,oe)=>(oe=oe||1,ts.shiftIndent(ee,ee.length+oe,_,v,S)),L=(ee,oe)=>(oe=oe||1,ts.unshiftIndent(ee,ee.length+oe,_,v,S)),R=[],Z=u.getLineContent(h),Y=Rt(Z),Q=Y;if(m.shouldIncrease(h))Q=C(Q),Y=C(Y);else if(m.shouldIndentNextLine(h))Q=C(Q);h++;for(let ee=h;ee<=g;ee++){if(OD(u,ee))continue;let oe=u.getLineContent(ee),ne=Rt(oe),de=Q;if(m.shouldDecrease(ee,de))Q=L(Q),Y=L(Y);if(ne!==Q)R.push(Jt.replaceMove(new F(ee,1,ee,ne.length+1),ay(Q,v,S)));if(m.shouldIgnore(ee))continue;else if(m.shouldIncrease(ee,de))Y=C(Y),Q=Y;else if(m.shouldIndentNextLine(ee,de))Q=C(Q);else Q=Y}return R}function OD(u,n){if(!u.tokenization.isCheapToTokenize(n))return!1;return u.tokenization.getLineTokens(n).getStandardTokenType(0)===2}function Hi(u,n){let h=0;for(let g=0;g<u.length;g++)if(u.charAt(g)==="\t")h+=n;else h++;return h}function Ea(u,n,h){u=u<0?0:u;let g="";if(!h){let p=Math.floor(u/n);u=u%n;for(let m=0;m<p;m++)g+="\t"}for(let p=0;p<u;p++)g+=" ";return g}var PD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},AD=function(u,n){return function(h,g){n(h,g,u)}};class g_ extends U{static{this.ID="editor.action.indentationToSpaces"}constructor(){super({id:g_.ID,label:b(1204,"Convert Indentation to Spaces"),precondition:r.writable,metadata:{description:b(1205,"Convert the tab indentation to spaces.")}})}run(u,n){let h=n.getModel();if(!h)return;let g=h.getOptions(),p=n.getSelection();if(!p)return;let m=new hC(p,g.tabSize);n.pushUndoStop(),n.executeCommands(this.id,[m]),n.pushUndoStop(),h.updateOptions({insertSpaces:!0})}}class p_ extends U{static{this.ID="editor.action.indentationToTabs"}constructor(){super({id:p_.ID,label:b(1206,"Convert Indentation to Tabs"),precondition:r.writable,metadata:{description:b(1207,"Convert the spaces indentation to tabs.")}})}run(u,n){let h=n.getModel();if(!h)return;let g=h.getOptions(),p=n.getSelection();if(!p)return;let m=new uC(p,g.tabSize);n.pushUndoStop(),n.executeCommands(this.id,[m]),n.pushUndoStop(),h.updateOptions({insertSpaces:!1})}}class ag extends U{constructor(u,n,h){super(h);this.insertSpaces=u,this.displaySizeOnly=n}run(u,n){let h=u.get(kn),g=u.get(Et),p=n.getModel();if(!p)return;let m=g.getCreationOptions(p.getLanguageId(),p.uri,p.isForSimpleWidget),_=p.getOptions(),v=[1,2,3,4,5,6,7,8].map((C)=>({id:C.toString(),label:C.toString(),description:C===m.tabSize&&C===_.tabSize?e(1200,"Configured Tab Size"):C===m.tabSize?e(1201,"Default Tab Size"):C===_.tabSize?e(1202,"Current Tab Size"):void 0})),S=Math.min(p.getOptions().tabSize-1,7);setTimeout(()=>{h.pick(v,{placeHolder:e(1203,"Select Tab Size for Current File"),activeItem:v[S]}).then((C)=>{if(C){if(p&&!p.isDisposed()){let L=parseInt(C.label,10);if(this.displaySizeOnly)p.updateOptions({tabSize:L});else p.updateOptions({tabSize:L,indentSize:L,insertSpaces:this.insertSpaces})}}})},50)}}class m_ extends ag{static{this.ID="editor.action.indentUsingTabs"}constructor(){super(!1,!1,{id:m_.ID,label:b(1208,"Indent Using Tabs"),precondition:void 0,metadata:{description:b(1209,"Use indentation with tabs.")}})}}class f_ extends ag{static{this.ID="editor.action.indentUsingSpaces"}constructor(){super(!0,!1,{id:f_.ID,label:b(1210,"Indent Using Spaces"),precondition:void 0,metadata:{description:b(1211,"Use indentation with spaces.")}})}}class __ extends ag{static{this.ID="editor.action.changeTabDisplaySize"}constructor(){super(!0,!0,{id:__.ID,label:b(1212,"Change Tab Display Size"),precondition:void 0,metadata:{description:b(1213,"Change the space size equivalent of the tab.")}})}}class b_ extends U{static{this.ID="editor.action.detectIndentation"}constructor(){super({id:b_.ID,label:b(1214,"Detect Indentation from Content"),precondition:void 0,metadata:{description:b(1215,"Detect the indentation from content.")}})}run(u,n){let h=u.get(Et),g=n.getModel();if(!g)return;let p=h.getCreationOptions(g.getLanguageId(),g.uri,g.isForSimpleWidget);g.detectIndentation(p.insertSpaces,p.tabSize)}}class aC extends U{constructor(){super({id:"editor.action.reindentlines",label:b(1216,"Reindent Lines"),precondition:r.writable,metadata:{description:b(1217,"Reindent the lines of the editor.")},canTriggerInlineEdits:!0})}run(u,n){let h=u.get(ht),g=n.getModel();if(!g)return;let p=u_(g,h,1,g.getLineCount());if(p.length>0)n.pushUndoStop(),n.executeEdits(this.id,p),n.pushUndoStop()}}class dC extends U{constructor(){super({id:"editor.action.reindentselectedlines",label:b(1218,"Reindent Selected Lines"),precondition:r.writable,metadata:{description:b(1219,"Reindent the selected lines of the editor.")},canTriggerInlineEdits:!0})}run(u,n){let h=u.get(ht),g=n.getModel();if(!g)return;let p=n.getSelections();if(p===null)return;let m=[];for(let _ of p){let{startLineNumber:v,endLineNumber:S}=_;if(v!==S&&_.endColumn===1)S--;if(v===1){if(v===S)continue}else v--;let C=u_(g,h,v,S);m.push(...C)}if(m.length>0)n.pushUndoStop(),n.executeEdits(this.id,m),n.pushUndoStop()}}class cC{constructor(u,n){this._initialSelection=n,this._edits=[],this._selectionId=null;for(let h of u)if(h.range&&typeof h.text==="string")this._edits.push(h)}getEditOperations(u,n){for(let g of this._edits)n.addEditOperation(t.lift(g.range),g.text);let h=!1;if(Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()){if(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber)h=!0,this._selectionId=n.trackSelection(this._initialSelection,!0);else if(this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber)h=!0,this._selectionId=n.trackSelection(this._initialSelection,!1)}if(!h)this._selectionId=n.trackSelection(this._initialSelection)}computeCursorState(u,n){return n.getTrackedSelection(this._selectionId)}}var Qu=class u{static{this.ID="editor.contrib.autoIndentOnPaste"}constructor(n,h){this.editor=n,this._languageConfigurationService=h,this.callOnDispose=new d,this.callOnModel=new d,this.callOnDispose.add(n.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(n.onDidChangeModel(()=>this.update())),this.callOnDispose.add(n.onDidChangeModelLanguage(()=>this.update()))}update(){if(this.callOnModel.clear(),!this.editor.getOption(17)||this.editor.getOption(16)<4)return;if(!this.editor.hasModel())return;this.callOnModel.add(this.editor.onDidPaste(({range:n})=>{this.trigger(n)}))}trigger(n){let h=this.editor.getSelections();if(h===null||h.length>1)return;let g=this.editor.getModel();if(!g)return;if(this.rangeContainsOnlyWhitespaceCharacters(g,n))return;if(!this.editor.getOption(18)&&FD(g,n))return;if(!g.tokenization.isCheapToTokenize(n.getStartPosition().lineNumber))return;let m=this.editor.getOption(16),{tabSize:_,indentSize:v,insertSpaces:S}=g.getOptions(),C=[],L={shiftIndent:(Q)=>ts.shiftIndent(Q,Q.length+1,_,v,S),unshiftIndent:(Q)=>ts.unshiftIndent(Q,Q.length+1,_,v,S)},R=n.startLineNumber,Z=g.getLineContent(R);if(!/\S/.test(Z.substring(0,n.startColumn-1))){let Q=kg(m,g,g.getLanguageId(),R,L,this._languageConfigurationService);if(Q!==null){let ee=Rt(Z),oe=Hi(Q,_),ne=Hi(ee,_);if(oe!==ne){let de=Ea(oe,_,S);C.push({range:new t(R,1,R,ee.length+1),text:de}),Z=de+Z.substring(ee.length)}else{let de=x1(g,R,this._languageConfigurationService);if(de===0||de===8)return}}}let Y=R;while(R<n.endLineNumber){if(!/\S/.test(g.getLineContent(R+1))){R++;continue}break}if(R!==n.endLineNumber){let ee=kg(m,{tokenization:{getLineTokens:(oe)=>g.tokenization.getLineTokens(oe),getLanguageId:()=>g.getLanguageId(),getLanguageIdAtPosition:(oe,ne)=>g.getLanguageIdAtPosition(oe,ne)},getLineContent:(oe)=>{if(oe===Y)return Z;else return g.getLineContent(oe)}},g.getLanguageId(),R+1,L,this._languageConfigurationService);if(ee!==null){let oe=Hi(ee,_),ne=Hi(Rt(g.getLineContent(R+1)),_);if(oe!==ne){let de=oe-ne;for(let ge=R+1;ge<=n.endLineNumber;ge++){let _e=g.getLineContent(ge),Se=Rt(_e),pe=Hi(Se,_)+de,Ne=Ea(pe,_,S);if(Ne!==Se)C.push({range:new t(ge,1,ge,Se.length+1),text:Ne})}}}}if(C.length>0){this.editor.pushUndoStop();let Q=new cC(C,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",Q),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(n,h){let g=(m)=>m.trim().length===0,p=!0;if(h.startLineNumber===h.endLineNumber){let _=n.getLineContent(h.startLineNumber).substring(h.startColumn-1,h.endColumn-1);p=g(_)}else for(let m=h.startLineNumber;m<=h.endLineNumber;m++){let _=n.getLineContent(m);if(m===h.startLineNumber){let v=_.substring(h.startColumn-1);p=g(v)}else if(m===h.endLineNumber){let v=_.substring(0,h.endColumn-1);p=g(v)}else p=n.getLineFirstNonWhitespaceColumn(m)===0;if(!p)break}return p}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};Qu=PD([AD(1,ht)],Qu);function FD(u,n){let h=(g)=>WM(u,g)===2;return h(n.getStartPosition())||h(n.getEndPosition())}function lC(u,n,h,g){if(u.getLineCount()===1&&u.getLineMaxColumn(1)===1)return;let p="";for(let _=0;_<h;_++)p+=" ";let m=new RegExp(p,"gi");for(let _=1,v=u.getLineCount();_<=v;_++){let S=u.getLineFirstNonWhitespaceColumn(_);if(S===0)S=u.getLineMaxColumn(_);if(S===1)continue;let C=new t(_,1,_,S),L=u.getValueInRange(C),R=g?L.replace(/\t/ig,p):L.replace(m,"\t");n.addEditOperation(C,R)}}class hC{constructor(u,n){this.selection=u,this.tabSize=n,this.selectionId=null}getEditOperations(u,n){this.selectionId=n.trackSelection(this.selection),lC(u,n,this.tabSize,!0)}computeCursorState(u,n){return n.getTrackedSelection(this.selectionId)}}class uC{constructor(u,n){this.selection=u,this.tabSize=n,this.selectionId=null}getEditOperations(u,n){this.selectionId=n.trackSelection(this.selection),lC(u,n,this.tabSize,!1)}computeCursorState(u,n){return n.getTrackedSelection(this.selectionId)}}fe(Qu.ID,Qu,2);O(g_);O(p_);O(m_);O(f_);O(__);O(b_);O(aC);O(dC);class gC extends U{constructor(){super({id:"expandLineSelection",label:b(1309,"Expand Line Selection"),precondition:void 0,kbOpts:{weight:0,kbExpr:r.textInputFocus,primary:2090}})}run(u,n,h){if(h=h||{},!n.hasModel())return;let g=n._getViewModel();g.model.pushStackElement(),g.setCursorStates(h.source,3,Pi.expandLineSelection(g,g.getCursorStates())),g.revealAllCursors(h.source,!0)}}O(gC);class v_{constructor(u,n,h){this._selection=u,this._cursors=n,this._selectionId=null,this._trimInRegexesAndStrings=h}getEditOperations(u,n){let h=HD(u,this._cursors,this._trimInRegexesAndStrings);for(let g=0,p=h.length;g<p;g++){let m=h[g];n.addEditOperation(m.range,m.text)}this._selectionId=n.trackSelection(this._selection)}computeCursorState(u,n){return n.getTrackedSelection(this._selectionId)}}function HD(u,n,h){n.sort((v,S)=>{if(v.lineNumber===S.lineNumber)return v.column-S.column;return v.lineNumber-S.lineNumber});for(let v=n.length-2;v>=0;v--)if(n[v].lineNumber===n[v+1].lineNumber)n.splice(v,1);let g=[],p=0,m=0,_=n.length;for(let v=1,S=u.getLineCount();v<=S;v++){let C=u.getLineContent(v),L=C.length+1,R=0;if(m<_&&n[m].lineNumber===v){if(R=n[m].column,m++,R===L)continue}if(C.length===0)continue;let Z=dr(C),Y=0;if(Z===-1)Y=1;else if(Z!==C.length-1)Y=Z+2;else continue;if(!h){if(!u.tokenization.hasAccurateTokensForLine(v))continue;let Q=u.tokenization.getLineTokens(v),ee=Q.getStandardTokenType(Q.findTokenIndexAtOffset(Y));if(ee===2||ee===3)continue}Y=Math.max(R,Y),g[p++]=Jt.delete(new t(v,Y,v,L))}return g}class dg{constructor(u,n,h){this._selection=u,this._isCopyingDown=n,this._noop=h||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(u,n){let h=this._selection;if(this._startLineNumberDelta=0,this._endLineNumberDelta=0,h.startLineNumber<h.endLineNumber&&h.endColumn===1)this._endLineNumberDelta=1,h=h.setEndPosition(h.endLineNumber-1,u.getLineMaxColumn(h.endLineNumber-1));let g=[];for(let m=h.startLineNumber;m<=h.endLineNumber;m++)g.push(u.getLineContent(m));let p=g.join(`
|
|
8
|
-
`);if(p===""){if(this._isCopyingDown)this._startLineNumberDelta++,this._endLineNumberDelta++}if(this._noop)n.addEditOperation(new t(h.endLineNumber,u.getLineMaxColumn(h.endLineNumber),h.endLineNumber+1,1),h.endLineNumber===u.getLineCount()?"":`
|
|
9
|
-
`);else if(!this._isCopyingDown)n.addEditOperation(new t(h.endLineNumber,u.getLineMaxColumn(h.endLineNumber),h.endLineNumber,u.getLineMaxColumn(h.endLineNumber)),`
|
|
10
|
-
`+p);else n.addEditOperation(new t(h.startLineNumber,1,h.startLineNumber,1),p+`
|
|
11
|
-
`);this._selectionId=n.trackSelection(h),this._selectionDirection=this._selection.getDirection()}computeCursorState(u,n){let h=n.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let g=h.startLineNumber,p=h.startColumn,m=h.endLineNumber,_=h.endColumn;if(this._startLineNumberDelta!==0)g=g+this._startLineNumberDelta,p=1;if(this._endLineNumberDelta!==0)m=m+this._endLineNumberDelta,_=1;h=F.createWithDirection(g,p,m,_,this._selectionDirection)}return h}}var WD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},BD=function(u,n){return function(h,g){n(h,g,u)}},cg=class u{constructor(n,h,g,p){this._languageConfigurationService=p,this._selection=n,this._isMovingDown=h,this._autoIndent=g,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(n,h,g){return{tokenization:{getLineTokens:(p)=>n.tokenization.getLineTokens(h(p)),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(p,m)=>n.getLanguageIdAtPosition(p,m)},getLineContent:(p)=>{let m=g?.(p);if(m!==void 0)return m;return n.getLineContent(h(p))}}}getEditOperations(n,h){let g=n.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===g){this._selectionId=h.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=h.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let p=this._selection;if(p.startLineNumber<p.endLineNumber&&p.endColumn===1)this._moveEndPositionDown=!0,p=p.setEndPosition(p.endLineNumber-1,n.getLineMaxColumn(p.endLineNumber-1));let{tabSize:m,indentSize:_,insertSpaces:v}=n.getOptions(),S=this.buildIndentConverter(m,_,v);if(p.startLineNumber===p.endLineNumber&&n.getLineMaxColumn(p.startLineNumber)===1){let C=p.startLineNumber,L=this._isMovingDown?C+1:C-1;if(n.getLineMaxColumn(L)===1)h.addEditOperation(new t(1,1,1,1),null);else h.addEditOperation(new t(C,1,C,1),n.getLineContent(L)),h.addEditOperation(new t(L,1,L,n.getLineMaxColumn(L)),null);p=new F(L,1,L,1)}else{let C,L;if(this._isMovingDown){C=p.endLineNumber+1,L=n.getLineContent(C),h.addEditOperation(new t(C-1,n.getLineMaxColumn(C-1),C,n.getLineMaxColumn(C)),null);let R=L;if(this.shouldAutoIndent(n,p)){let Z=this.matchEnterRule(n,S,m,C,p.startLineNumber-1);if(Z!==null){let Q=Rt(n.getLineContent(C)),ee=Z+Hi(Q,m);R=Ea(ee,m,v)+this.trimStart(L)}else{let Q=this.createVirtualModel(n,(oe)=>oe===p.startLineNumber?C:oe),ee=kg(this._autoIndent,Q,n.getLanguageIdAtPosition(C,1),p.startLineNumber,S,this._languageConfigurationService);if(ee!==null){let oe=Rt(n.getLineContent(C)),ne=Hi(ee,m),de=Hi(oe,m);if(ne!==de)R=Ea(ne,m,v)+this.trimStart(L)}}h.addEditOperation(new t(p.startLineNumber,1,p.startLineNumber,1),R+`
|
|
12
|
-
`);let Y=this.matchEnterRuleMovingDown(n,S,m,p.startLineNumber,C,R);if(Y!==null){if(Y!==0)this.getIndentEditsOfMovingBlock(n,h,p,m,v,Y)}else{let Q=this.createVirtualModel(n,(oe)=>{if(oe===p.startLineNumber)return C;else if(oe>=p.startLineNumber+1&&oe<=p.endLineNumber+1)return oe-1;else return oe},(oe)=>oe===p.startLineNumber?R:void 0),ee=kg(this._autoIndent,Q,n.getLanguageIdAtPosition(C,1),p.startLineNumber+1,S,this._languageConfigurationService);if(ee!==null){let oe=Rt(n.getLineContent(p.startLineNumber)),ne=Hi(ee,m),de=Hi(oe,m);if(ne!==de){let ge=ne-de;this.getIndentEditsOfMovingBlock(n,h,p,m,v,ge)}}}}else h.addEditOperation(new t(p.startLineNumber,1,p.startLineNumber,1),R+`
|
|
13
|
-
`)}else if(C=p.startLineNumber-1,L=n.getLineContent(C),h.addEditOperation(new t(C,1,C+1,1),null),h.addEditOperation(new t(p.endLineNumber,n.getLineMaxColumn(p.endLineNumber),p.endLineNumber,n.getLineMaxColumn(p.endLineNumber)),`
|
|
14
|
-
`+L),this.shouldAutoIndent(n,p)){let R=this.createVirtualModel(n,(Y)=>Y===C?p.startLineNumber:Y),Z=this.matchEnterRule(n,S,m,p.startLineNumber,p.startLineNumber-2);if(Z!==null){if(Z!==0)this.getIndentEditsOfMovingBlock(n,h,p,m,v,Z)}else{let Y=kg(this._autoIndent,R,n.getLanguageIdAtPosition(p.startLineNumber,1),C,S,this._languageConfigurationService);if(Y!==null){let Q=Rt(n.getLineContent(p.startLineNumber)),ee=Hi(Y,m),oe=Hi(Q,m);if(ee!==oe){let ne=ee-oe;this.getIndentEditsOfMovingBlock(n,h,p,m,v,ne)}}}}}this._selectionId=h.trackSelection(p)}buildIndentConverter(n,h,g){return{shiftIndent:(p)=>ts.shiftIndent(p,p.length+1,n,h,g),unshiftIndent:(p)=>ts.unshiftIndent(p,p.length+1,n,h,g)}}parseEnterResult(n,h,g,p,m){if(m){let _=m.indentation;if(m.indentAction===si.None)_=m.indentation+m.appendText;else if(m.indentAction===si.Indent)_=m.indentation+m.appendText;else if(m.indentAction===si.IndentOutdent)_=m.indentation;else if(m.indentAction===si.Outdent)_=h.unshiftIndent(m.indentation)+m.appendText;let v=n.getLineContent(p);if(this.trimStart(v).indexOf(this.trimStart(_))>=0){let S=Rt(n.getLineContent(p)),C=Rt(_),L=x1(n,p,this._languageConfigurationService);if(L!==null&&L&2)C=h.unshiftIndent(C);let R=Hi(C,g),Z=Hi(S,g);return R-Z}}return null}matchEnterRuleMovingDown(n,h,g,p,m,_){if(dr(_)>=0){let v=n.getLineMaxColumn(m),S=Jh(this._autoIndent,n,new t(m,v,m,v),this._languageConfigurationService);return this.parseEnterResult(n,h,g,p,S)}else{let v=p-1;while(v>=1){let L=n.getLineContent(v);if(dr(L)>=0)break;v--}if(v<1||p>n.getLineCount())return null;let S=n.getLineMaxColumn(v),C=Jh(this._autoIndent,n,new t(v,S,v,S),this._languageConfigurationService);return this.parseEnterResult(n,h,g,p,C)}}matchEnterRule(n,h,g,p,m,_){let v=m;while(v>=1){let L;if(v===m&&_!==void 0)L=_;else L=n.getLineContent(v);if(dr(L)>=0)break;v--}if(v<1||p>n.getLineCount())return null;let S=n.getLineMaxColumn(v),C=Jh(this._autoIndent,n,new t(v,S,v,S),this._languageConfigurationService);return this.parseEnterResult(n,h,g,p,C)}trimStart(n){return n.replace(/^\s+/,"")}shouldAutoIndent(n,h){if(this._autoIndent<4)return!1;if(!n.tokenization.isCheapToTokenize(h.startLineNumber))return!1;let g=n.getLanguageIdAtPosition(h.startLineNumber,1),p=n.getLanguageIdAtPosition(h.endLineNumber,1);if(g!==p)return!1;if(this._languageConfigurationService.getLanguageConfiguration(g).indentRulesSupport===null)return!1;return!0}getIndentEditsOfMovingBlock(n,h,g,p,m,_){for(let v=g.startLineNumber;v<=g.endLineNumber;v++){let S=n.getLineContent(v),C=Rt(S),R=Hi(C,p)+_,Z=Ea(R,p,m);if(Z!==C){if(h.addEditOperation(new t(v,1,v,C.length+1),Z),v===g.endLineNumber&&g.endColumn<=C.length+1&&Z==="")this._moveEndLineSelectionShrink=!0}}}computeCursorState(n,h){let g=h.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown)g=g.setEndPosition(g.endLineNumber+1,1);if(this._moveEndLineSelectionShrink&&g.startLineNumber<g.endLineNumber)g=g.setEndPosition(g.endLineNumber,2);return g}};cg=WD([BD(3,ht)],cg);class ll{static{this._COLLATOR=hc.Collator()}constructor(u,n){this.selection=u,this.descending=n,this.selectionId=null}getEditOperations(u,n){let h=VD(u,this.selection,this.descending);if(h)n.addEditOperation(h.range,h.text);this.selectionId=n.trackSelection(this.selection)}computeCursorState(u,n){return n.getTrackedSelection(this.selectionId)}static canRun(u,n,h){if(u===null)return!1;let g=pC(u,n,h);if(!g)return!1;for(let p=0,m=g.before.length;p<m;p++)if(g.before[p]!==g.after[p])return!0;return!1}}function pC(u,n,h){let{startLineNumber:g,endLineNumber:p}=n;if(n.endColumn===1)p--;if(g>=p)return null;let m=[];for(let v=g;v<=p;v++)m.push(u.getLineContent(v));let _=m.slice(0);if(_.sort(ll._COLLATOR.value.compare),h===!0)_=_.reverse();return{startLineNumber:g,endLineNumber:p,before:m,after:_}}function VD(u,n,h){let g=pC(u,n,h);if(!g)return null;return Jt.replace(new t(g.startLineNumber,1,g.endLineNumber,u.getLineMaxColumn(g.endLineNumber)),g.after.join(`
|
|
15
|
-
`))}class w_ extends U{constructor(u,n){super(n);this.down=u}run(u,n){if(!n.hasModel())return;let h=n.getSelections().map((m,_)=>({selection:m,index:_,ignore:!1}));h.sort((m,_)=>t.compareRangesUsingStarts(m.selection,_.selection));let g=h[0];for(let m=1;m<h.length;m++){let _=h[m];if(g.selection.endLineNumber===_.selection.startLineNumber)if(g.index<_.index)_.ignore=!0;else g.ignore=!0,g=_}let p=[];for(let m of h)p.push(new dg(m.selection,this.down,m.ignore));n.pushUndoStop(),n.executeCommands(this.id,p),n.pushUndoStop()}}class mC extends w_{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:b(1315,"Copy Line Up"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"2_line",title:e(1310,"&&Copy Line Up"),order:1},canTriggerInlineEdits:!0})}}class fC extends w_{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:b(1316,"Copy Line Down"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"2_line",title:e(1311,"Co&&py Line Down"),order:2},canTriggerInlineEdits:!0})}}class _C extends U{constructor(){super({id:"editor.action.duplicateSelection",label:b(1317,"Duplicate Selection"),precondition:r.writable,menuOpts:{menuId:l.MenubarSelectionMenu,group:"2_line",title:e(1312,"&&Duplicate Selection"),order:5},canTriggerInlineEdits:!0})}run(u,n,h){if(!n.hasModel())return;let g=[],p=n.getSelections(),m=n.getModel();for(let _ of p)if(_.isEmpty())g.push(new dg(_,!0));else{let v=new F(_.endLineNumber,_.endColumn,_.endLineNumber,_.endColumn);g.push(new AI(v,m.getValueInRange(_)))}n.pushUndoStop(),n.executeCommands(this.id,g),n.pushUndoStop()}}class S_ extends U{constructor(u,n){super(n);this.down=u}run(u,n){let h=u.get(ht),g=[],p=n.getSelections()||[],m=n.getOption(16);for(let _ of p)g.push(new cg(_,this.down,m,h));n.pushUndoStop(),n.executeCommands(this.id,g),n.pushUndoStop()}}class bC extends S_{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:b(1318,"Move Line Up"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"2_line",title:e(1313,"Mo&&ve Line Up"),order:3},canTriggerInlineEdits:!0})}}class vC extends S_{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:b(1319,"Move Line Down"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"2_line",title:e(1314,"Move &&Line Down"),order:4},canTriggerInlineEdits:!0})}}class C_ extends U{constructor(u,n){super(n);this.descending=u}run(u,n){if(!n.hasModel())return;let h=n.getModel(),g=n.getSelections();if(g.length===1&&g[0].isSingleLine())g=[new F(1,1,h.getLineCount(),h.getLineMaxColumn(h.getLineCount()))];for(let m of g)if(!ll.canRun(n.getModel(),m,this.descending))return;let p=[];for(let m=0,_=g.length;m<_;m++)p[m]=new ll(g[m],this.descending);n.pushUndoStop(),n.executeCommands(this.id,p),n.pushUndoStop()}}class wC extends C_{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:b(1320,"Sort Lines Ascending"),precondition:r.writable,canTriggerInlineEdits:!0})}}class SC extends C_{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:b(1321,"Sort Lines Descending"),precondition:r.writable,canTriggerInlineEdits:!0})}}class CC extends U{constructor(){super({id:"editor.action.removeDuplicateLines",label:b(1322,"Delete Duplicate Lines"),precondition:r.writable,canTriggerInlineEdits:!0})}run(u,n){if(!n.hasModel())return;let h=n.getModel();if(h.getLineCount()===1&&h.getLineMaxColumn(1)===1)return;let g=[],p=[],m=0,_=!0,v=n.getSelections();if(v.length===1&&v[0].isSingleLine())v=[new F(1,1,h.getLineCount(),h.getLineMaxColumn(h.getLineCount()))],_=!1;for(let S of v){let C=new Set,L=[];for(let Q=S.startLineNumber;Q<=S.endLineNumber;Q++){let ee=h.getLineContent(Q);if(C.has(ee))continue;L.push(ee),C.add(ee)}let R=new F(S.startLineNumber,1,S.endLineNumber,h.getLineMaxColumn(S.endLineNumber)),Z=S.startLineNumber-m,Y=new F(Z,1,Z+L.length-1,L[L.length-1].length+1);g.push(Jt.replace(R,L.join(`
|
|
16
|
-
`))),p.push(Y),m+=S.endLineNumber-S.startLineNumber+1-L.length}n.pushUndoStop(),n.executeEdits(this.id,g,_?p:void 0),n.pushUndoStop()}}class yC extends U{constructor(){super({id:"editor.action.reverseLines",label:b(1323,"Reverse lines"),precondition:r.writable,canTriggerInlineEdits:!0})}run(u,n){if(!n.hasModel())return;let h=n.getModel(),g=n.getSelections(),p=g;if(p.length===1&&p[0].isSingleLine())p=[new F(1,1,h.getLineCount(),h.getLineMaxColumn(h.getLineCount()))];let m=[],_=[];for(let v=0;v<p.length;v++){let S=p[v],C=g[v],L=S.endLineNumber;if(S.startLineNumber<S.endLineNumber&&S.endColumn===1)L--;let R=new t(S.startLineNumber,1,L,h.getLineMaxColumn(L));if(L===h.getLineCount()&&h.getLineContent(R.endLineNumber)==="")R=R.setEndPosition(R.endLineNumber-1,h.getLineMaxColumn(R.endLineNumber-1));let Z=[];for(let oe=R.endLineNumber;oe>=R.startLineNumber;oe--)Z.push(h.getLineContent(oe));let Y=Jt.replace(R,Z.join(`
|
|
17
|
-
`));m.push(Y);let Q=function(oe){return oe<=R.endLineNumber?R.endLineNumber-oe+R.startLineNumber:oe},ee=function(oe){if(oe.isEmpty())return new F(Q(oe.positionLineNumber),oe.positionColumn,Q(oe.positionLineNumber),oe.positionColumn);else{let ne=Q(oe.selectionStartLineNumber),de=Q(oe.positionLineNumber),{selectionStartColumn:ge,positionColumn:_e}=oe;return new F(ne,ge,de,_e)}};_.push(ee(C))}n.pushUndoStop(),n.executeEdits(this.id,m,_),n.pushUndoStop()}}class y_ extends U{static{this.ID="editor.action.trimTrailingWhitespace"}constructor(){super({id:y_.ID,label:b(1324,"Trim Trailing Whitespace"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2102),weight:100}})}run(u,n,h){let g=[];if(h.reason==="auto-save")g=(n.getSelections()||[]).map((C)=>new s(C.positionLineNumber,C.positionColumn));let p=n.getSelection();if(p===null)return;let m=u.get(re),_=n.getModel(),v=m.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:_?.getLanguageId(),resource:_?.uri}),S=new v_(p,g,v);n.pushUndoStop(),n.executeCommands(this.id,[S]),n.pushUndoStop()}}class xC extends U{constructor(){super({id:"editor.action.deleteLines",label:b(1325,"Delete Line"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(u,n){if(!n.hasModel())return;let h=this._getLinesToRemove(n),g=n.getModel();if(g.getLineCount()===1&&g.getLineMaxColumn(1)===1)return;let p=0,m=[],_=[];for(let v=0,S=h.length;v<S;v++){let C=h[v],{startLineNumber:L,endLineNumber:R}=C,Z=1,Y=g.getLineMaxColumn(R);if(R<g.getLineCount())R+=1,Y=1;else if(L>1)L-=1,Z=g.getLineMaxColumn(L);m.push(Jt.replace(new F(L,Z,R,Y),"")),_.push(new F(L-p,C.positionColumn,L-p,C.positionColumn)),p+=C.endLineNumber-C.startLineNumber+1}n.pushUndoStop(),n.executeEdits(this.id,m,_),n.revealAllCursors(!0),n.pushUndoStop()}_getLinesToRemove(u){let n=u.getSelections().map((p)=>{let m=p.endLineNumber;if(p.startLineNumber<p.endLineNumber&&p.endColumn===1)m-=1;return{startLineNumber:p.startLineNumber,selectionStartColumn:p.selectionStartColumn,endLineNumber:m,positionColumn:p.positionColumn}});n.sort((p,m)=>{if(p.startLineNumber===m.startLineNumber)return p.endLineNumber-m.endLineNumber;return p.startLineNumber-m.startLineNumber});let h=[],g=n[0];for(let p=1;p<n.length;p++)if(g.endLineNumber+1>=n[p].startLineNumber)g.endLineNumber=n[p].endLineNumber;else h.push(g),g=n[p];return h.push(g),h}}class IC extends U{constructor(){super({id:"editor.action.indentLines",label:b(1326,"Indent Line"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(u,n){let h=n._getViewModel();if(!h)return;n.pushUndoStop(),n.executeCommands(this.id,mc.indent(h.cursorConfig,n.getModel(),n.getSelections())),n.pushUndoStop()}}class LC extends U{constructor(){super({id:"editor.action.outdentLines",label:b(1327,"Outdent Line"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(u,n){Of.Outdent.runEditorCommand(u,n,null)}}class hl extends U{static{this.ID="editor.action.insertLineBefore"}constructor(){super({id:hl.ID,label:b(1328,"Insert Line Above"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(u,n){let h=n._getViewModel();if(!h)return;n.pushUndoStop(),n.executeCommands(this.id,Af.lineInsertBefore(h.cursorConfig,n.getModel(),n.getSelections()))}}class ul extends U{static{this.ID="editor.action.insertLineAfter"}constructor(){super({id:ul.ID,label:b(1329,"Insert Line Below"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(u,n){let h=n._getViewModel();if(!h)return;n.pushUndoStop(),n.executeCommands(this.id,Af.lineInsertAfter(h.cursorConfig,n.getModel(),n.getSelections()))}}class x_ extends U{run(u,n){if(!n.hasModel())return;let h=n.getSelection(),g=this._getRangesToDelete(n),p=[];for(let v=0,S=g.length-1;v<S;v++){let C=g[v],L=g[v+1];if(t.intersectRanges(C,L)===null)p.push(C);else g[v+1]=t.plusRange(C,L)}p.push(g[g.length-1]);let m=this._getEndCursorState(h,p),_=p.map((v)=>Jt.replace(v,""));n.pushUndoStop(),n.executeEdits(this.id,_,m),n.pushUndoStop()}}class kC extends x_{constructor(){super({id:"deleteAllLeft",label:b(1330,"Delete All Left"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(u,n){let h=null,g=[],p=0;if(n.forEach((m)=>{let _;if(m.endColumn===1&&p>0){let v=m.startLineNumber-p;_=new F(v,m.startColumn,v,m.startColumn)}else _=new F(m.startLineNumber,m.startColumn,m.startLineNumber,m.startColumn);if(p+=m.endLineNumber-m.startLineNumber,m.intersectRanges(u))h=_;else g.push(_)}),h)g.unshift(h);return g}_getRangesToDelete(u){let n=u.getSelections();if(n===null)return[];let h=n,g=u.getModel();if(g===null)return[];return h.sort(t.compareRangesUsingStarts),h=h.map((p)=>{if(p.isEmpty())if(p.startColumn===1){let m=Math.max(1,p.startLineNumber-1),_=p.startLineNumber===1?1:g.getLineLength(m)+1;return new t(m,_,p.startLineNumber,1)}else return new t(p.startLineNumber,1,p.startLineNumber,p.startColumn);else return new t(p.startLineNumber,1,p.endLineNumber,p.endColumn)}),h}}class EC extends x_{constructor(){super({id:"deleteAllRight",label:b(1331,"Delete All Right"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(u,n){let h=null,g=[];for(let p=0,m=n.length,_=0;p<m;p++){let v=n[p],S=new F(v.startLineNumber-_,v.startColumn,v.startLineNumber-_,v.startColumn);if(v.intersectRanges(u))h=S;else g.push(S)}if(h)g.unshift(h);return g}_getRangesToDelete(u){let n=u.getModel();if(n===null)return[];let h=u.getSelections();if(h===null)return[];let g=h.map((p)=>{if(p.isEmpty()){let m=n.getLineMaxColumn(p.startLineNumber);if(p.startColumn===m)return new t(p.startLineNumber,p.startColumn,p.startLineNumber+1,1);else return new t(p.startLineNumber,p.startColumn,p.startLineNumber,m)}return p});return g.sort(t.compareRangesUsingStarts),g}}class DC extends U{constructor(){super({id:"editor.action.joinLines",label:b(1332,"Join Lines"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(u,n){let h=n.getSelections();if(h===null)return;let g=n.getSelection();if(g===null)return;h.sort(t.compareRangesUsingStarts);let p=[],m=h.reduce((R,Z)=>{if(R.isEmpty()){if(R.endLineNumber===Z.startLineNumber){if(g.equalsSelection(R))g=Z;return Z}if(Z.startLineNumber>R.endLineNumber+1)return p.push(R),Z;else return new F(R.startLineNumber,R.startColumn,Z.endLineNumber,Z.endColumn)}else if(Z.startLineNumber>R.endLineNumber)return p.push(R),Z;else return new F(R.startLineNumber,R.startColumn,Z.endLineNumber,Z.endColumn)});p.push(m);let _=n.getModel();if(_===null)return;let v=[],S=[],C=g,L=0;for(let R=0,Z=p.length;R<Z;R++){let Y=p[R],Q=Y.startLineNumber,ee=1,oe=0,ne,de,ge=_.getLineLength(Y.endLineNumber)-Y.endColumn;if(Y.isEmpty()||Y.startLineNumber===Y.endLineNumber){let ae=Y.getStartPosition();if(ae.lineNumber<_.getLineCount())ne=Q+1,de=_.getLineMaxColumn(ne);else ne=ae.lineNumber,de=_.getLineMaxColumn(ae.lineNumber)}else ne=Y.endLineNumber,de=_.getLineMaxColumn(ne);let _e=_.getLineContent(Q);for(let ae=Q+1;ae<=ne;ae++){let pe=_.getLineContent(ae),Ne=_.getLineFirstNonWhitespaceColumn(ae);if(Ne>=1){let Me=!0;if(_e==="")Me=!1;if(Me&&(_e.charAt(_e.length-1)===" "||_e.charAt(_e.length-1)==="\t"))Me=!1,_e=_e.replace(/[\s\uFEFF\xA0]+$/g," ");let Oe=pe.substr(Ne-1);if(_e+=(Me?" ":"")+Oe,Me)oe=Oe.length+1;else oe=Oe.length}else oe=0}let Se=new t(Q,1,ne,de);if(!Se.isEmpty()){let ae;if(Y.isEmpty())v.push(Jt.replace(Se,_e)),ae=new F(Se.startLineNumber-L,_e.length-oe+1,Q-L,_e.length-oe+1);else if(Y.startLineNumber===Y.endLineNumber)v.push(Jt.replace(Se,_e)),ae=new F(Y.startLineNumber-L,Y.startColumn,Y.endLineNumber-L,Y.endColumn);else v.push(Jt.replace(Se,_e)),ae=new F(Y.startLineNumber-L,Y.startColumn,Y.startLineNumber-L,_e.length-ge);if(t.intersectRanges(Se,g)!==null)C=ae;else S.push(ae)}L+=Se.endLineNumber-Se.startLineNumber}S.unshift(C),n.pushUndoStop(),n.executeEdits(this.id,v,S),n.pushUndoStop()}}class TC extends U{constructor(){super({id:"editor.action.transpose",label:b(1333,"Transpose Characters around the Cursor"),precondition:r.writable,canTriggerInlineEdits:!0})}run(u,n){let h=n.getSelections();if(h===null)return;let g=n.getModel();if(g===null)return;let p=[];for(let m=0,_=h.length;m<_;m++){let v=h[m];if(!v.isEmpty())continue;let S=v.getStartPosition(),C=g.getLineMaxColumn(S.lineNumber);if(S.column>=C){if(S.lineNumber===g.getLineCount())continue;let L=new t(S.lineNumber,Math.max(1,S.column-1),S.lineNumber+1,1),R=g.getValueInRange(L).split("").reverse().join("");p.push(new Ti(new F(S.lineNumber,Math.max(1,S.column-1),S.lineNumber+1,1),R))}else{let L=new t(S.lineNumber,Math.max(1,S.column-1),S.lineNumber,S.column+1),R=g.getValueInRange(L).split("").reverse().join("");p.push(new Cg(L,R,new F(S.lineNumber,S.column+1,S.lineNumber,S.column+1)))}}n.pushUndoStop(),n.executeCommands(this.id,p),n.pushUndoStop()}}class Cs extends U{run(u,n){let h=n.getSelections();if(h===null)return;let g=n.getModel();if(g===null)return;let p=n.getOption(148),m=[];for(let _ of h)if(_.isEmpty()){let v=_.getStartPosition(),S=n.getConfiguredWordAtPosition(v);if(!S)continue;let C=new t(v.lineNumber,S.startColumn,v.lineNumber,S.endColumn),L=g.getValueInRange(C);m.push(Jt.replace(C,this._modifyText(L,p)))}else{let v=g.getValueInRange(_);m.push(Jt.replace(_,this._modifyText(v,p)))}n.pushUndoStop(),n.executeEdits(this.id,m),n.pushUndoStop()}}class RC extends Cs{constructor(){super({id:"editor.action.transformToUppercase",label:b(1334,"Transform to Uppercase"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){return u.toLocaleUpperCase()}}class NC extends Cs{constructor(){super({id:"editor.action.transformToLowercase",label:b(1335,"Transform to Lowercase"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){return u.toLocaleLowerCase()}}class qo{constructor(u,n){this._pattern=u,this._flags=n,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(u){}}return this._actual}isSupported(){return this.get()!==null}}class Ig extends Cs{static{this.titleBoundary=new qo("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu")}constructor(){super({id:"editor.action.transformToTitlecase",label:b(1336,"Transform to Title Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){let h=Ig.titleBoundary.get();if(!h)return u;return u.toLocaleLowerCase().replace(h,(g)=>g.toLocaleUpperCase())}}class Vd extends Cs{static{this.caseBoundary=new qo("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new qo("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu")}constructor(){super({id:"editor.action.transformToSnakecase",label:b(1337,"Transform to Snake Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){let h=Vd.caseBoundary.get(),g=Vd.singleLetters.get();if(!h||!g)return u;return u.replace(h,"$1_$2").replace(g,"$1_$2$3").toLocaleLowerCase()}}class Da extends Cs{static{this.singleLineWordBoundary=new qo("[_\\s-]+","gm")}static{this.multiLineWordBoundary=new qo("[_-]+","gm")}static{this.validWordStart=new qo("^(\\p{Lu}[^\\p{Lu}])","gmu")}constructor(){super({id:"editor.action.transformToCamelcase",label:b(1338,"Transform to Camel Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){let h=/\r\n|\r|\n/.test(u)?Da.multiLineWordBoundary.get():Da.singleLineWordBoundary.get(),g=Da.validWordStart.get();if(!h||!g)return u;let p=u.split(h);return p.shift()?.replace(g,(_)=>_.toLocaleLowerCase())+p.map((_)=>_.substring(0,1).toLocaleUpperCase()+_.substring(1)).join("")}}class zd extends Cs{static{this.wordBoundary=new qo("[_ \\t-]","gm")}static{this.wordBoundaryToMaintain=new qo("(?<=\\.)","gm")}static{this.upperCaseWordMatcher=new qo("^\\p{Lu}+$","mu")}constructor(){super({id:"editor.action.transformToPascalcase",label:b(1339,"Transform to Pascal Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){let h=zd.wordBoundary.get(),g=zd.wordBoundaryToMaintain.get(),p=zd.upperCaseWordMatcher.get();if(!h||!g||!p)return u;return u.split(g).map((v)=>v.split(h)).flat().map((v)=>{let S=v.charAt(0).toLocaleUpperCase()+v.slice(1);if(S.length>1&&p.test(S))return S.charAt(0)+S.slice(1).toLocaleLowerCase();return S}).join("")}}class Kd extends Cs{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((n)=>n.isSupported())}static{this.caseBoundary=new qo("(\\p{Ll})(\\p{Lu})","gmu")}static{this.singleLetters=new qo("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu")}static{this.underscoreBoundary=new qo("(\\S)(_)(\\S)","gm")}constructor(){super({id:"editor.action.transformToKebabcase",label:b(1340,"Transform to Kebab Case"),precondition:r.writable,canTriggerInlineEdits:!0})}_modifyText(u,n){let h=Kd.caseBoundary.get(),g=Kd.singleLetters.get(),p=Kd.underscoreBoundary.get();if(!h||!g||!p)return u;return u.replace(p,"$1-$3").replace(h,"$1-$2").replace(g,"$1-$2").toLocaleLowerCase()}}O(mC);O(fC);O(_C);O(bC);O(vC);O(wC);O(SC);O(CC);O(y_);O(xC);O(IC);O(LC);O(hl);O(ul);O(kC);O(EC);O(DC);O(TC);O(RC);O(NC);O(yC);if(Vd.caseBoundary.isSupported()&&Vd.singleLetters.isSupported())O(Vd);if(Da.singleLineWordBoundary.isSupported()&&Da.multiLineWordBoundary.isSupported())O(Da);if(zd.wordBoundary.isSupported())O(zd);if(Ig.titleBoundary.isSupported())O(Ig);if(Kd.isSupported())O(Kd);class Lo{constructor(u){this._editor=u,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(){if(this._findScopeDecorationIds[0])return this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]);return null}getFindScopes(){if(this._findScopeDecorationIds.length){let u=this._findScopeDecorationIds.map((n)=>this._editor.getModel().getDecorationRange(n)).filter((n)=>!!n);if(u.length)return u}return null}getStartPosition(){return this._startPosition}setStartPosition(u){this._startPosition=u,this.setCurrentFindMatch(null)}_getDecorationIndex(u){let n=this._decorations.indexOf(u);if(n>=0)return n+1;return 1}getDecorationRangeAt(u){let n=u<this._decorations.length?this._decorations[u]:null;if(n)return this._editor.getModel().getDecorationRange(n);return null}getCurrentMatchesPosition(u){let n=this._editor.getModel().getDecorationsInRange(u);for(let h of n){let g=h.options;if(g===Lo._FIND_MATCH_DECORATION||g===Lo._FIND_MATCH_NO_OVERVIEW_DECORATION||g===Lo._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(h.id)}return 0}setCurrentFindMatch(u){let n=null,h=0;if(u)for(let g=0,p=this._decorations.length;g<p;g++){let m=this._editor.getModel().getDecorationRange(this._decorations[g]);if(u.equalsRange(m)){n=this._decorations[g],h=g+1;break}}if(this._highlightedDecorationId!==null||n!==null)this._editor.changeDecorations((g)=>{if(this._highlightedDecorationId!==null)g.changeDecorationOptions(this._highlightedDecorationId,Lo._FIND_MATCH_DECORATION),this._highlightedDecorationId=null;if(n!==null)this._highlightedDecorationId=n,g.changeDecorationOptions(this._highlightedDecorationId,Lo._CURRENT_FIND_MATCH_DECORATION);if(this._rangeHighlightDecorationId!==null)g.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null;if(n!==null){let p=this._editor.getModel().getDecorationRange(n);if(p.startLineNumber!==p.endLineNumber&&p.endColumn===1){let m=p.endLineNumber-1,_=this._editor.getModel().getLineMaxColumn(m);p=new t(p.startLineNumber,p.startColumn,m,_)}this._rangeHighlightDecorationId=g.addDecoration(p,Lo._RANGE_HIGHLIGHT_DECORATION)}});return h}set(u,n){this._editor.changeDecorations((h)=>{let g=Lo._FIND_MATCH_DECORATION,p=[];if(u.length>1000){g=Lo._FIND_MATCH_NO_OVERVIEW_DECORATION;let _=this._editor.getModel().getLineCount(),S=this._editor.getLayoutInfo().height/_,C=Math.max(2,Math.ceil(3/S)),L=u[0].range.startLineNumber,R=u[0].range.endLineNumber;for(let Z=1,Y=u.length;Z<Y;Z++){let Q=u[Z].range;if(R+C>=Q.startLineNumber){if(Q.endLineNumber>R)R=Q.endLineNumber}else p.push({range:new t(L,1,R,1),options:Lo._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),L=Q.startLineNumber,R=Q.endLineNumber}p.push({range:new t(L,1,R,1),options:Lo._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let m=Array(u.length);for(let _=0,v=u.length;_<v;_++)m[_]={range:u[_].range,options:g};if(this._decorations=h.deltaDecorations(this._decorations,m),this._overviewRulerApproximateDecorations=h.deltaDecorations(this._overviewRulerApproximateDecorations,p),this._rangeHighlightDecorationId)h.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null;if(this._findScopeDecorationIds.length)this._findScopeDecorationIds.forEach((_)=>h.removeDecoration(_)),this._findScopeDecorationIds=[];if(n?.length)this._findScopeDecorationIds=n.map((_)=>h.addDecoration(_,Lo._FIND_SCOPE_DECORATION))})}matchBeforePosition(u){if(this._decorations.length===0)return null;for(let n=this._decorations.length-1;n>=0;n--){let h=this._decorations[n],g=this._editor.getModel().getDecorationRange(h);if(!g||g.endLineNumber>u.lineNumber)continue;if(g.endLineNumber<u.lineNumber)return g;if(g.endColumn>u.column)continue;return g}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(u){if(this._decorations.length===0)return null;for(let n=0,h=this._decorations.length;n<h;n++){let g=this._decorations[n],p=this._editor.getModel().getDecorationRange(g);if(!p||p.startLineNumber<u.lineNumber)continue;if(p.startLineNumber>u.lineNumber)return p;if(p.startColumn<u.column)continue;return p}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let u=[];if(u=u.concat(this._decorations),u=u.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length)u.push(...this._findScopeDecorationIds);if(this._rangeHighlightDecorationId)u.push(this._rangeHighlightDecorationId);return u}static{this._CURRENT_FIND_MATCH_DECORATION=ue.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:bn(g1),position:Jo.Center},minimap:{color:bn(w0),position:1}})}static{this._FIND_MATCH_DECORATION=ue.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:bn(g1),position:Jo.Center},minimap:{color:bn(w0),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=ue.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=ue.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:bn(g1),position:Jo.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=ue.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=ue.register({description:"find-scope",className:"findScope",isWholeLine:!0})}}class I_{constructor(u,n,h){this._editorSelection=u,this._ranges=n,this._replaceStrings=h,this._trackedEditorSelectionId=null}getEditOperations(u,n){if(this._ranges.length>0){let h=[];for(let m=0;m<this._ranges.length;m++)h.push({range:this._ranges[m],text:this._replaceStrings[m]});h.sort((m,_)=>t.compareRangesUsingStarts(m.range,_.range));let g=[],p=h[0];for(let m=1;m<h.length;m++)if(p.range.endLineNumber===h[m].range.startLineNumber&&p.range.endColumn===h[m].range.startColumn)p.range=p.range.plusRange(h[m].range),p.text=p.text+h[m].text;else g.push(p),p=h[m];g.push(p);for(let m of g)n.addEditOperation(m.range,m.text)}this._trackedEditorSelectionId=n.trackSelection(this._editorSelection)}computeCursorState(u,n){return n.getTrackedSelection(this._trackedEditorSelectionId)}}function L_(u,n){if(u&&u[0]!==""){let h=MC(u,n,"-"),g=MC(u,n,"_");if(h&&!g)return OC(u,n,"-");else if(!h&&g)return OC(u,n,"_");if(u[0].toUpperCase()===u[0])return n.toUpperCase();else if(u[0].toLowerCase()===u[0])return n.toLowerCase();else if(TM(u[0][0])&&n.length>0)return n[0].toUpperCase()+n.substr(1);else if(u[0][0].toUpperCase()!==u[0][0]&&n.length>0)return n[0].toLowerCase()+n.substr(1);else return n}else return n}function MC(u,n,h){return u[0].indexOf(h)!==-1&&n.indexOf(h)!==-1&&u[0].split(h).length===n.split(h).length}function OC(u,n,h){let g=n.split(h),p=u[0].split(h),m="";return g.forEach((_,v)=>{m+=L_([p[v]],_)+h}),m.slice(0,-1)}class k_{constructor(u){this.staticValue=u,this.kind=0}}class PC{constructor(u){this.pieces=u,this.kind=1}}class Ra{static fromStaticValue(u){return new Ra([Ta.staticValue(u)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(u){if(!u||u.length===0)this._state=new k_("");else if(u.length===1&&u[0].staticValue!==null)this._state=new k_(u[0].staticValue);else this._state=new PC(u)}buildReplaceString(u,n){if(this._state.kind===0)if(n)return L_(u,this._state.staticValue);else return this._state.staticValue;let h="";for(let g=0,p=this._state.pieces.length;g<p;g++){let m=this._state.pieces[g];if(m.staticValue!==null){h+=m.staticValue;continue}let _=Ra._substitute(m.matchIndex,u);if(m.caseOps!==null&&m.caseOps.length>0){let v=[],S=m.caseOps.length,C=0;for(let L=0,R=_.length;L<R;L++){if(C>=S){v.push(_.slice(L));break}switch(m.caseOps[C]){case"U":v.push(_[L].toUpperCase());break;case"u":v.push(_[L].toUpperCase()),C++;break;case"L":v.push(_[L].toLowerCase());break;case"l":v.push(_[L].toLowerCase()),C++;break;default:v.push(_[L])}}_=v.join("")}h+=_}return h}static _substitute(u,n){if(n===null)return"";if(u===0)return n[0];let h="";while(u>0){if(u<n.length)return(n[u]||"")+h;h=String(u%10)+h,u=Math.floor(u/10)}return"$"+h}}class Ta{static staticValue(u){return new Ta(u,-1,null)}static caseOps(u,n){return new Ta(null,u,n)}constructor(u,n,h){if(this.staticValue=u,this.matchIndex=n,!h||h.length===0)this.caseOps=null;else this.caseOps=h.slice(0)}}class AC{constructor(u){this._source=u,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(u){this._emitStatic(this._source.substring(this._lastCharIndex,u)),this._lastCharIndex=u}emitStatic(u,n){this._emitStatic(u),this._lastCharIndex=n}_emitStatic(u){if(u.length===0)return;this._currentStaticPiece+=u}emitMatchIndex(u,n,h){if(this._currentStaticPiece.length!==0)this._result[this._resultLen++]=Ta.staticValue(this._currentStaticPiece),this._currentStaticPiece="";this._result[this._resultLen++]=Ta.caseOps(u,h),this._lastCharIndex=n}finalize(){if(this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0)this._result[this._resultLen++]=Ta.staticValue(this._currentStaticPiece),this._currentStaticPiece="";return new Ra(this._result)}}function FC(u){if(!u||u.length===0)return new Ra(null);let n=[],h=new AC(u);for(let g=0,p=u.length;g<p;g++){let m=u.charCodeAt(g);if(m===92){if(g++,g>=p)break;let _=u.charCodeAt(g);switch(_){case 92:h.emitUnchanged(g-1),h.emitStatic("\\",g+1);break;case 110:h.emitUnchanged(g-1),h.emitStatic(`
|
|
18
|
-
`,g+1);break;case 116:h.emitUnchanged(g-1),h.emitStatic("\t",g+1);break;case 117:case 85:case 108:case 76:h.emitUnchanged(g-1),h.emitStatic("",g+1),n.push(String.fromCharCode(_));break}continue}if(m===36){if(g++,g>=p)break;let _=u.charCodeAt(g);if(_===36){h.emitUnchanged(g-1),h.emitStatic("$",g+1);continue}if(_===48||_===38){h.emitUnchanged(g-1),h.emitMatchIndex(0,g+1,n),n.length=0;continue}if(49<=_&&_<=57){let v=_-48;if(g+1<p){let S=u.charCodeAt(g+1);if(48<=S&&S<=57){g++,v=v*10+(S-48),h.emitUnchanged(g-2),h.emitMatchIndex(v,g+1,n),n.length=0;continue}}h.emitUnchanged(g-1),h.emitMatchIndex(v,g+1,n),n.length=0;continue}}}return h.finalize()}var ar=new M("findWidgetVisible",!1);ar.toNegated();var qd=new M("findInputFocussed",!1),pl=new M("replaceInputFocussed",!1),jC=new M("findWidgetFocused",!1),ml={primary:545,mac:{primary:2593}},fl={primary:565,mac:{primary:2613}},Nl={primary:560,mac:{primary:2608}},Ml={primary:554,mac:{primary:2602}},Ol={primary:558,mac:{primary:2606}},bt={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"},sr=19999,zD=240;class Ud{constructor(u,n){this._toDispose=new d,this._editor=u,this._state=n,this._isDisposed=!1,this._startSearchingTimer=new di,this._decorations=new Lo(u),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new ke(()=>{if(!this._editor.hasModel())return;return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((h)=>{if(h.reason===3||h.reason===5||h.reason===6)this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((h)=>{if(this._ignoreModelContentChanged)return;if(h.isFlush)this._decorations.reset();this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule()})),this._toDispose.add(this._state.onFindReplaceStateChange((h)=>this._onStateChanged(h))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Be(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(u){if(this._isDisposed)return;if(!this._editor.hasModel())return;if(u.searchString||u.isReplaceRevealed||u.isRegex||u.wholeWord||u.matchCase||u.searchScope)if(this._editor.getModel().isTooLargeForSyncing())this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{if(u.searchScope)this.research(u.moveCursor,this._state.searchScope);else this.research(u.moveCursor)},zD);else if(u.searchScope)this.research(u.moveCursor,this._state.searchScope);else this.research(u.moveCursor)}static _getSearchRange(u,n){if(n)return n;return u.getFullModelRange()}research(u,n){let h=null;if(typeof n<"u"){if(n!==null)if(!Array.isArray(n))h=[n];else h=n}else h=this._decorations.getFindScopes();if(h!==null)h=h.map((_)=>{if(_.startLineNumber!==_.endLineNumber){let v=_.endLineNumber;if(_.endColumn===1)v=v-1;return new t(_.startLineNumber,1,v,this._editor.getModel().getLineMaxColumn(v))}return _});let g=this._findMatches(h,!1,sr);this._decorations.set(g,h);let p=this._editor.getSelection(),m=this._decorations.getCurrentMatchesPosition(p);if(m===0&&g.length>0){let _=Cf(g.map((v)=>v.range),(v)=>t.compareRangesUsingStarts(v,p)>=0);m=_>0?_-1+1:m}if(this._state.changeMatchInfo(m,this._decorations.getCount(),void 0),u&&this._editor.getOption(50).cursorMoveOnType)this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let u=this._decorations.getFindScope();if(u)this._editor.revealRangeInCenterIfOutsideViewport(u,0);return!0}return!1}_setCurrentFindMatch(u){let n=this._decorations.setCurrentFindMatch(u);this._state.changeMatchInfo(n,this._decorations.getCount(),u),this._editor.setSelection(u),this._editor.revealRangeInCenterIfOutsideViewport(u,0)}_prevSearchPosition(u){let n=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:h,column:g}=u,p=this._editor.getModel();if(n||g===1){if(h===1)h=p.getLineCount();else h--;g=p.getLineMaxColumn(h)}else g--;return new s(h,g)}_moveToPrevMatch(u,n=!1){if(!this._state.canNavigateBack()){let C=this._decorations.matchAfterPosition(u);if(C)this._setCurrentFindMatch(C);return}if(this._decorations.getCount()<sr){let C=this._decorations.matchBeforePosition(u);if(C&&C.isEmpty()&&C.getStartPosition().equals(u))u=this._prevSearchPosition(u),C=this._decorations.matchBeforePosition(u);if(C)this._setCurrentFindMatch(C);return}if(this._cannotFind())return;let h=this._decorations.getFindScope(),g=Ud._getSearchRange(this._editor.getModel(),h);if(g.getEndPosition().isBefore(u))u=g.getEndPosition();if(u.isBefore(g.getStartPosition()))u=g.getEndPosition();let{lineNumber:p,column:m}=u,_=this._editor.getModel(),v=new s(p,m),S=_.findPreviousMatch(this._state.searchString,v,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(S&&S.range.isEmpty()&&S.range.getStartPosition().equals(v))v=this._prevSearchPosition(v),S=_.findPreviousMatch(this._state.searchString,v,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(!S)return;if(!n&&!g.containsRange(S.range))return this._moveToPrevMatch(S.range.getStartPosition(),!0);this._setCurrentFindMatch(S.range)}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(u){let n=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),{lineNumber:h,column:g}=u,p=this._editor.getModel();if(n||g===p.getLineMaxColumn(h)){if(h===p.getLineCount())h=1;else h++;g=1}else g++;return new s(h,g)}_moveToNextMatch(u){if(!this._state.canNavigateForward()){let h=this._decorations.matchBeforePosition(u);if(h)this._setCurrentFindMatch(h);return}if(this._decorations.getCount()<sr){let h=this._decorations.matchAfterPosition(u);if(h&&h.isEmpty()&&h.getStartPosition().equals(u))u=this._nextSearchPosition(u),h=this._decorations.matchAfterPosition(u);if(h)this._setCurrentFindMatch(h);return}let n=this._getNextMatch(u,!1,!0);if(n)this._setCurrentFindMatch(n.range)}_getNextMatch(u,n,h,g=!1){if(this._cannotFind())return null;let p=this._decorations.getFindScope(),m=Ud._getSearchRange(this._editor.getModel(),p);if(m.getEndPosition().isBefore(u))u=m.getStartPosition();if(u.isBefore(m.getStartPosition()))u=m.getStartPosition();let{lineNumber:_,column:v}=u,S=this._editor.getModel(),C=new s(_,v),L=S.findNextMatch(this._state.searchString,C,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n);if(h&&L&&L.range.isEmpty()&&L.range.getStartPosition().equals(C))C=this._nextSearchPosition(C),L=S.findNextMatch(this._state.searchString,C,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n);if(!L)return null;if(!g&&!m.containsRange(L.range))return this._getNextMatch(L.range.getEndPosition(),n,h,!0);return L}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(u){let n=this._decorations.getDecorationRangeAt(u);if(n)this._setCurrentFindMatch(n)}moveToMatch(u){this._moveToMatch(u)}_getReplacePattern(){if(this._state.isRegex)return FC(this._state.replaceString);return Ra.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let u=this._getReplacePattern(),n=this._editor.getSelection(),h=this._getNextMatch(n.getStartPosition(),!0,!1);if(h)if(n.equalsRange(h.range)){let g=u.buildReplaceString(h.matches,this._state.preserveCase),p=new Ti(n,g);this._executeEditorCommand("replace",p),this._decorations.setStartPosition(new s(n.startLineNumber,n.startColumn+g.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(h.range)}_findMatches(u,n,h){let g=(u||[null]).map((p)=>Ud._getSearchRange(this._editor.getModel(),p));return this._editor.getModel().findMatches(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n,h)}replaceAll(){if(!this._hasMatches())return;let u=this._decorations.getFindScopes();if(u===null&&this._state.matchesCount>=sr)this._largeReplaceAll();else this._regularReplaceAll(u);this.research(!1)}_largeReplaceAll(){let n=new cu(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!n)return;let h=n.regex;if(!h.multiline){let L="mu";if(h.ignoreCase)L+="i";if(h.global)L+="g";h=new RegExp(h.source,L)}let g=this._editor.getModel(),p=g.getValue(1),m=g.getFullModelRange(),_=this._getReplacePattern(),v,S=this._state.preserveCase;if(_.hasReplacementPatterns||S)v=p.replace(h,function(){return _.buildReplaceString(arguments,S)});else v=p.replace(h,_.buildReplaceString(null,S));let C=new Cg(m,v,this._editor.getSelection());this._executeEditorCommand("replaceAll",C)}_regularReplaceAll(u){let n=this._getReplacePattern(),h=this._findMatches(u,n.hasReplacementPatterns||this._state.preserveCase,1073741824),g=[];for(let m=0,_=h.length;m<_;m++)g[m]=n.buildReplaceString(h[m].matches,this._state.preserveCase);let p=new I_(this._editor.getSelection(),h.map((m)=>m.range),g);this._executeEditorCommand("replaceAll",p)}selectAllMatches(){if(!this._hasMatches())return;let u=this._decorations.getFindScopes(),h=this._findMatches(u,!1,1073741824).map((p)=>new F(p.range.startLineNumber,p.range.startColumn,p.range.endLineNumber,p.range.endColumn)),g=this._editor.getSelection();for(let p=0,m=h.length;p<m;p++)if(h[p].equalsRange(g)){h=[g].concat(h.slice(0,p)).concat(h.slice(p+1));break}this._editor.setSelections(h)}_executeEditorCommand(u,n){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(u,n),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}var KD=e(5,"input"),UD=e(6,"Preserve Case");class $C extends _c{constructor(u){super({icon:x.preserveCase,title:UD+u.appendTitle,isChecked:u.isChecked,hoverLifecycleOptions:u.hoverLifecycleOptions,inputActiveOptionBorder:u.inputActiveOptionBorder,inputActiveOptionForeground:u.inputActiveOptionForeground,inputActiveOptionBackground:u.inputActiveOptionBackground})}}class E_ extends Ei{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(u,n,h,g){super();this._showOptionButtons=h,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new o),this._onKeyDown=this._register(new o),this._onMouseDown=this._register(new o),this._onInput=this._register(new o),this._onKeyUp=this._register(new o),this._onPreserveCaseKeyDown=this._register(new o),this.contextViewProvider=n,this.placeholder=g.placeholder||"",this.validation=g.validation,this.label=g.label||KD;let p=g.appendPreserveCaseLabel||"",m=g.history||new Set([]),_=!!g.flexibleHeight,v=!!g.flexibleWidth,S=g.flexibleMaxHeight;if(this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new W0(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:m,showHistoryHint:g.showHistoryHint,flexibleHeight:_,flexibleWidth:v,flexibleMaxHeight:S,inputBoxStyles:g.inputBoxStyles})),this.preserveCase=this._register(new $C({appendTitle:p,isChecked:!1,hoverLifecycleOptions:g.hoverLifecycleOptions,...g.toggleStyles})),this._register(this.preserveCase.onChange((R)=>{if(this._onDidOptionChange.fire(R),!R&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus();this.validate()})),this._register(this.preserveCase.onKeyDown((R)=>{this._onPreserveCaseKeyDown.fire(R)})),this._showOptionButtons)this.cachedOptionsWidth=this.preserveCase.width();else this.cachedOptionsWidth=0;let C=[this.preserveCase.domNode];this.onkeydown(this.domNode,(R)=>{F1(R,this.domNode,()=>C,()=>this.inputBox.focus())});let L=document.createElement("div");L.className="controls",L.style.display=this._showOptionButtons?"block":"none",L.appendChild(this.preserveCase.domNode),this.domNode.appendChild(L),u?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(R)=>this._onKeyDown.fire(R)),this.onkeyup(this.inputBox.inputElement,(R)=>this._onKeyUp.fire(R)),this.oninput(this.inputBox.inputElement,(R)=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,(R)=>this._onMouseDown.fire(R))}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(u){if(u)this.enable();else this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(u){this.preserveCase.checked=u}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(u){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=u+"px"}}var QC=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ey=function(u,n){return function(h,g){n(h,g,u)}},Pg=new M("suggestWidgetVisible",!1,e(1793,"Whether suggestion are visible")),D_="historyNavigationWidgetFocus",Cy="historyNavigationForwardsEnabled",yy="historyNavigationBackwardsEnabled",Pl=void 0,Rg=[];function Iy(u,n){if(Rg.includes(n))throw Error("Cannot register the same widget multiple times");Rg.push(n);let h=new d,g=new M(D_,!1).bindTo(u),p=new M(Cy,!0).bindTo(u),m=new M(yy,!0).bindTo(u),_=()=>{g.set(!0),Pl=n},v=()=>{if(g.set(!1),Pl===n)Pl=void 0};if(Fs(n.element))_();return h.add(n.onDidFocus(()=>_())),h.add(n.onDidBlur(()=>v())),h.add(N(()=>{Rg.splice(Rg.indexOf(n),1),v()})),{historyNavigationForwardsEnablement:p,historyNavigationBackwardsEnablement:m,dispose(){h.dispose()}}}var Mg=class u extends V0{constructor(n,h,g,p){super(n,h,g);let m=this._register(p.createScoped(this.inputBox.element));this._register(Iy(m,this.inputBox))}};Mg=QC([ey(3,G)],Mg);var Og=class u extends E_{constructor(n,h,g,p,m=!1){super(n,h,m,g);let _=this._register(p.createScoped(this.inputBox.element));this._register(Iy(_,this.inputBox))}};Og=QC([ey(3,G)],Og);Dn.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:T.and(T.has(D_),T.equals(yy,!0),Pg.isEqualTo(!1)),primary:16,secondary:[528],handler:(u)=>{Pl?.showPreviousValue()}});Dn.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:T.and(T.has(D_),T.equals(Cy,!0),Pg.isEqualTo(!1)),primary:18,secondary:[530],handler:(u)=>{Pl?.showNextValue()}});function T_(u){return u.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()==="Up"&&u.lookupKeybinding("history.showNext")?.getElectronAccelerator()==="Down"}var Ly=Mt("find-collapsed",x.chevronRight,e(1011,"Icon to indicate that the editor find widget is collapsed.")),ky=Mt("find-expanded",x.chevronDown,e(1012,"Icon to indicate that the editor find widget is expanded.")),qD=Mt("find-selection",x.selection,e(1013,"Icon for 'Find in Selection' in the editor find widget.")),jD=Mt("find-replace",x.replace,e(1014,"Icon for 'Replace' in the editor find widget.")),$D=Mt("find-replace-all",x.replaceAll,e(1015,"Icon for 'Replace All' in the editor find widget.")),GD=Mt("find-previous-match",x.arrowUp,e(1016,"Icon for 'Find Previous' in the editor find widget.")),ZD=Mt("find-next-match",x.arrowDown,e(1017,"Icon for 'Find Next' in the editor find widget.")),XD=e(1018,"Find / Replace"),R_=e(1019,"Find"),YD=e(1020,"Find"),JD=e(1021,"Previous Match"),QD=e(1022,"Next Match"),i2=e(1023,"Find in Selection"),c2=e(1024,"Close"),N_=e(1025,"Replace"),l2=e(1026,"Replace"),p2=e(1027,"Replace"),f2=e(1028,"Replace All"),_2=e(1029,"Toggle Replace"),w2=e(1030,"Only the first {0} results are highlighted, but all find operations work on the entire text.",sr),S2=e(1031,"{0} of {1}"),Hg=e(1032,"No results"),lr=419,C2=275,x2=C2-54,Al=69,I2=33,Ey=ve?256:2048;class Fg{constructor(u){this.afterLineNumber=u,this.heightInPx=I2,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function Dy(u,n,h){let g=!!n.match(/\n/);if(h&&g&&h.selectionStart>0){u.stopPropagation();return}}function Ty(u,n,h){let g=!!n.match(/\n/);if(h&&g&&h.selectionEnd<h.value.length){u.stopPropagation();return}}class rd extends Ei{static{this.ID="editor.contrib.findWidget"}constructor(u,n,h,g,p,m,_,v,S,C,L){super();if(this._hoverService=_,this._findWidgetSearchHistory=v,this._replaceWidgetHistory=S,this._configurationService=C,this._accessibilityService=L,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=u,this._controller=n,this._state=h,this._contextViewProvider=g,this._keybindingService=p,this._contextKeyService=m,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new qi(500),this._register(N(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange((R)=>this._onStateChanged(R))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((R)=>{if(R.hasChanged(104)){if(this._codeEditor.getOption(104))this._state.change({isReplaceRevealed:!1},!1);this._updateButtons()}if(R.hasChanged(166))this._tryUpdateWidgetWidth();if(R.hasChanged(2))this.updateAccessibilitySupport();if(R.hasChanged(50)){let Z=this._codeEditor.getOption(50).loop;this._state.change({loop:Z},!1);let Y=this._codeEditor.getOption(50).addExtraSpaceOnTop;if(Y&&!this._viewZone)this._viewZone=new Fg(0),this._showViewZone();if(!Y&&this._viewZone)this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{if(this._isVisible)this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){let R=await this._controller.getGlobalBufferTerm();if(R&&R!==this._state.searchString)this._state.change({searchString:R},!1),this._findInput.select()}})),this._findInputFocused=qd.bindTo(m),this._findFocusTracker=this._register(vi(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=pl.bindTo(m),this._replaceFocusTracker=this._register(vi(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=jC.bindTo(m),this._widgetFocusTracker=this._register(vi(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(c(this._domNode,"focusin",(R)=>{if($e(R.target))this._lastFocusedElement=R.target})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop)this._viewZone=new Fg(0);this._register(this._codeEditor.onDidChangeModel(()=>{if(!this._isVisible)return;this._viewZoneId=void 0})),this._register(this._codeEditor.onDidScrollChange((R)=>{if(R.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return rd.ID}getDomNode(){return this._domNode}getPosition(){if(this._isVisible)return{preference:0};return null}_onStateChanged(u){if(u.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(u.replaceString)this._replaceInput.inputBox.value=this._state.replaceString;if(u.isRevealed)if(this._state.isRevealed)this._reveal();else this._hide(!0);if(u.isReplaceRevealed){if(this._state.isReplaceRevealed){if(!this._codeEditor.getOption(104)&&!this._isReplaceVisible)this._isReplaceVisible=!0,this._replaceInput.width=Ao(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()}else if(this._isReplaceVisible)this._isReplaceVisible=!1,this._updateButtons()}if((u.isRevealed||u.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)){if(this._tryUpdateHeight())this._showViewZone()}if(u.isRegex)this._findInput.setRegex(this._state.isRegex);if(u.wholeWord)this._findInput.setWholeWords(this._state.wholeWord);if(u.matchCase)this._findInput.setCaseSensitive(this._state.matchCase);if(u.preserveCase)this._replaceInput.setPreserveCase(this._state.preserveCase);if(u.searchScope){if(this._state.searchScope)this._toggleSelectionFind.checked=!0;else this._toggleSelectionFind.checked=!1;this._updateToggleSelectionFindButton()}if(u.searchString||u.matchesCount||u.matchesPosition){let n=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",n),this._updateMatchesCount(),this._updateButtons()}if(u.searchString||u.currentMatch)this._layoutViewZone();if(u.updateHistory)this._delayedUpdateHistory();if(u.loop)this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,X)}_updateHistory(){if(this._state.searchString)this._findInput.inputBox.addToHistory();if(this._state.replaceString)this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){if(this._matchesCount.style.minWidth=Al+"px",this._state.matchesCount>=sr)this._matchesCount.title=w2;else this._matchesCount.title="";this._matchesCount.firstChild?.remove();let u;if(this._state.matchesCount>0){let n=String(this._state.matchesCount);if(this._state.matchesCount>=sr)n+="+";let h=String(this._state.matchesPosition);if(h==="0")h="?";u=za(S2,h,n)}else u=Hg;this._matchesCount.appendChild(document.createTextNode(u)),zn(this._getAriaLabel(u,this._state.currentMatch,this._state.searchString)),Al=Math.max(Al,this._matchesCount.clientWidth)}_getAriaLabel(u,n,h){let g;if(u===Hg)g=h===""?e(1033,"{0} found",u):e(1034,"{0} found for '{1}'",u,h);else if(n){let p=e(1035,"{0} found for '{1}', at {2}",u,h,n.startLineNumber+":"+n.startColumn),m=this._codeEditor.getModel();if(m&&n.startLineNumber<=m.getLineCount()&&n.startLineNumber>=1)g=`${m.getLineContent(n.startLineNumber)}, ${p}`;else g=p}else g=e(1036,"{0} found for '{1}'",u,h);return g}_updateToggleSelectionFindButton(){let u=this._codeEditor.getSelection(),n=u?u.startLineNumber!==u.endLineNumber||u.startColumn!==u.endColumn:!1,h=this._toggleSelectionFind.checked;if(this._isVisible&&(h||n))this._toggleSelectionFind.enable();else this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let u=this._state.searchString.length>0,n=this._state.matchesCount?!0:!1;this._prevBtn.setEnabled(this._isVisible&&u&&n&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&u&&n&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&u),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&u),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let h=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&h)}_reveal(){if(this._revealTimeouts.forEach((u)=>{clearTimeout(u)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let u=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 h=!!u&&u.startLineNumber!==u.endLineNumber;this._toggleSelectionFind.checked=h;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 n=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&u){let h=this._codeEditor.getDomNode();if(h){let g=kt(h),p=this._codeEditor.getScrolledVisiblePosition(u.getStartPosition()),m=g.left+(p?p.left:0),_=p?p.top:0;if(this._viewZone&&_<this._viewZone.heightInPx){if(u.endLineNumber>u.startLineNumber)n=!1;let v=a1(this._domNode).left;if(m>v)n=!1;let S=this._codeEditor.getScrolledVisiblePosition(u.getEndPosition());if(g.left+(S?S.left:0)>v)n=!1}}}this._showViewZone(n)}}_hide(u){if(this._revealTimeouts.forEach((n)=>{clearTimeout(n)}),this._revealTimeouts=[],this._isVisible){if(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),u)this._codeEditor.focus();this._codeEditor.layoutOverlayWidget(this),this._removeViewZone()}}_layoutViewZone(u){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;let h=this._viewZone;if(this._viewZoneId!==void 0||!h)return;this._codeEditor.changeViewZones((g)=>{h.heightInPx=this._getHeight(),this._viewZoneId=g.addZone(h),this._codeEditor.setScrollTop(u||this._codeEditor.getScrollTop()+h.heightInPx)})}_showViewZone(u=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;if(this._viewZone===void 0)this._viewZone=new Fg(0);let h=this._viewZone;this._codeEditor.changeViewZones((g)=>{if(this._viewZoneId!==void 0){let p=this._getHeight();if(p===h.heightInPx)return;let m=p-h.heightInPx;if(h.heightInPx=p,g.layoutZone(this._viewZoneId),u)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+m);return}else{let p=this._getHeight();if(p-=this._codeEditor.getOption(96).top,p<=0)return;if(h.heightInPx=p,this._viewZoneId=g.addZone(h),u)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+p)}})}_removeViewZone(){this._codeEditor.changeViewZones((u)=>{if(this._viewZoneId!==void 0){if(u.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)return;if(!this._domNode.isConnected)return;let u=this._codeEditor.getLayoutInfo();if(u.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else if(this._domNode.classList.contains("hiddenEditor"))this._domNode.classList.remove("hiddenEditor");let h=u.width,g=u.minimap.minimapWidth,p=!1,m=!1,_=!1;if(this._resized){if(Ao(this._domNode)>lr){this._domNode.style.maxWidth=`${h-28-g-15}px`,this._replaceInput.width=Ao(this._findInput.domNode);return}}if(lr+28+g>=h)m=!0;if(lr+28+g-Al>=h)_=!0;if(lr+28+g-Al>=h+50)p=!0;if(this._domNode.classList.toggle("collapsed-find-widget",p),this._domNode.classList.toggle("narrow-find-widget",_),this._domNode.classList.toggle("reduced-find-widget",m),!_&&!p)this._domNode.style.maxWidth=`${h-28-g-15}px`;if(this._findInput.layout({collapsedFindWidget:p,narrowFindWidget:_,reducedFindWidget:m}),this._resized){let v=this._findInput.inputBox.element.clientWidth;if(v>0)this._replaceInput.width=v}else if(this._isReplaceVisible)this._replaceInput.width=Ao(this._findInput.domNode)}_getHeight(){let u=0;if(u+=4,u+=this._findInput.inputBox.height+2,this._isReplaceVisible)u+=4,u+=this._replaceInput.inputBox.height+2;return u+=4,u}_tryUpdateHeight(){let u=this._getHeight();if(this._cachedHeight!==null&&this._cachedHeight===u)return!1;return this._cachedHeight=u,this._domNode.style.height=`${u}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())return;if(this._toggleSelectionFind.checked){let u=this._codeEditor.getSelections();if(u.map((n)=>{if(n.endColumn===1&&n.endLineNumber>n.startLineNumber)n=n.setEndPosition(n.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(n.endLineNumber-1));let h=this._state.currentMatch;if(n.startLineNumber!==n.endLineNumber){if(!t.equalsRange(n,h))return n}return null}).filter((n)=>!!n),u.length)this._state.change({searchScope:u},!0)}}_onFindInputMouseDown(u){if(u.middleButton)u.stopPropagation()}_onFindInputKeyDown(u){if(u.equals(Ey|3))if(this._keybindingService.dispatchEvent(u,u.target)){u.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
|
|
19
|
-
`),u.preventDefault();return}if(u.equals(2)){if(this._isReplaceVisible)this._replaceInput.focus();else this._findInput.focusOnCaseSensitive();u.preventDefault();return}if(u.equals(2066)){this._codeEditor.focus(),u.preventDefault();return}if(u.equals(16))return Dy(u,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(u.equals(18))return Ty(u,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(u){if(u.equals(Ey|3))if(this._keybindingService.dispatchEvent(u,u.target)){u.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`
|
|
20
|
-
`),u.preventDefault();return}if(u.equals(2)){this._findInput.focusOnCaseSensitive(),u.preventDefault();return}if(u.equals(1026)){this._findInput.focus(),u.preventDefault();return}if(u.equals(2066)){this._codeEditor.focus(),u.preventDefault();return}if(u.equals(16))return Dy(u,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(u.equals(18))return Ty(u,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(u){return 0}_keybindingLabelFor(u){return this._keybindingService.appendKeybinding("",u)}_buildDomNode(){let h=this._codeEditor.getOption(50).history,g=this._codeEditor.getOption(50).replaceHistory;if(this._findInput=this._register(new Mg(null,this._contextViewProvider,{width:x2,label:R_,placeholder:YD,appendCaseSensitiveLabel:this._keybindingLabelFor(bt.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(bt.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(bt.ToggleRegexCommand),validation:(L)=>{if(L.length===0||!this._findInput.getRegex())return null;try{return new RegExp(L,"gu"),null}catch(R){return{content:R.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>T_(this._keybindingService),inputBoxStyles:gy,toggleStyles:my,history:h==="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((L)=>{if(L.equals(3)&&!this._codeEditor.getOption(50).findOnType)this._state.change({searchString:this._findInput.getValue()},!0);this._onFindInputKeyDown(L)})),this._register(this._findInput.inputBox.onDidChange(()=>{if(this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType)return;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((L)=>{if(L.equals(1026)){if(this._isReplaceVisible)this._replaceInput.focus(),L.preventDefault()}})),this._register(this._findInput.onRegexKeyDown((L)=>{if(L.equals(2)){if(this._isReplaceVisible)this._replaceInput.focusOnPreserve(),L.preventDefault()}})),this._register(this._findInput.inputBox.onDidHeightChange((L)=>{if(this._tryUpdateHeight())this._showViewZone()})),ai)this._register(this._findInput.onMouseDown((L)=>this._onFindInputMouseDown(L)));this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();let p={groupId:"find-widget"};this._prevBtn=this._register(new Hr({label:JD+this._keybindingLabelFor(bt.PreviousMatchFindAction),icon:GD,hoverLifecycleOptions:p,onTrigger:()=>{oc(this._codeEditor.getAction(bt.PreviousMatchFindAction)).run().then(void 0,X)}},this._hoverService)),this._nextBtn=this._register(new Hr({label:QD+this._keybindingLabelFor(bt.NextMatchFindAction),icon:ZD,hoverLifecycleOptions:p,onTrigger:()=>{oc(this._codeEditor.getAction(bt.NextMatchFindAction)).run().then(void 0,X)}},this._hoverService));let m=document.createElement("div");m.className="find-part",m.appendChild(this._findInput.domNode);let _=document.createElement("div");_.className="find-actions",m.appendChild(_),_.appendChild(this._matchesCount),_.appendChild(this._prevBtn.domNode),_.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new _c({icon:qD,title:i2+this._keybindingLabelFor(bt.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:p,inputActiveOptionBackground:P(qh),inputActiveOptionBorder:P(wg),inputActiveOptionForeground:P(xg)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let L=this._codeEditor.getSelections();if(L=L.map((R)=>{if(R.endColumn===1&&R.endLineNumber>R.startLineNumber)R=R.setEndPosition(R.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(R.endLineNumber-1));if(!R.isEmpty())return R;return null}).filter((R)=>!!R),L.length)this._state.change({searchScope:L},!0)}}else this._state.change({searchScope:null},!0)})),_.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Hr({label:c2+this._keybindingLabelFor(bt.CloseFindWidgetCommand),icon:Z1,hoverLifecycleOptions:p,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:(L)=>{if(L.equals(2)){if(this._isReplaceVisible){if(this._replaceBtn.isEnabled())this._replaceBtn.focus();else this._codeEditor.focus();L.preventDefault()}}}},this._hoverService)),this._replaceInput=this._register(new Og(null,void 0,{label:N_,placeholder:l2,appendPreserveCaseLabel:this._keybindingLabelFor(bt.TogglePreserveCaseCommand),history:g==="workspace"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>T_(this._keybindingService),inputBoxStyles:gy,toggleStyles:my,hoverLifecycleOptions:p},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((L)=>this._onReplaceInputKeyDown(L))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange((L)=>{if(this._isReplaceVisible&&this._tryUpdateHeight())this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown((L)=>{if(L.equals(2)){if(this._prevBtn.isEnabled())this._prevBtn.focus();else if(this._nextBtn.isEnabled())this._nextBtn.focus();else if(this._toggleSelectionFind.enabled)this._toggleSelectionFind.focus();else if(this._closeBtn.isEnabled())this._closeBtn.focus();L.preventDefault()}})),this._replaceBtn=this._register(new Hr({label:p2+this._keybindingLabelFor(bt.ReplaceOneAction),icon:jD,hoverLifecycleOptions:p,onTrigger:()=>{this._controller.replace()},onKeyDown:(L)=>{if(L.equals(1026))this._closeBtn.focus(),L.preventDefault()}},this._hoverService)),this._replaceAllBtn=this._register(new Hr({label:f2+this._keybindingLabelFor(bt.ReplaceAllAction),icon:$D,hoverLifecycleOptions:p,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let v=document.createElement("div");v.className="replace-part",v.appendChild(this._replaceInput.domNode);let S=document.createElement("div");S.className="replace-actions",v.appendChild(S),S.appendChild(this._replaceBtn.domNode),S.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Hr({label:_2,className:"codicon toggle left",onTrigger:()=>{if(this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible)this._replaceInput.width=Ao(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=XD,this._domNode.role="dialog",this._domNode.style.width=`${lr}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(m),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(v),this._resizeSash=this._register(new mo(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let C=lr;this._register(this._resizeSash.onDidStart(()=>{C=Ao(this._domNode)})),this._register(this._resizeSash.onDidChange((L)=>{this._resized=!0;let R=C+L.startX-L.currentX;if(R<lr)return;let Z=parseFloat(p0(this._domNode).maxWidth)||0;if(R>Z)return;if(this._domNode.style.width=`${R}px`,this._isReplaceVisible)this._replaceInput.width=Ao(this._findInput.domNode);this._findInput.inputBox.layout(),this._tryUpdateHeight()})),this._register(this._resizeSash.onDidReset(()=>{let L=Ao(this._domNode);if(L<lr)return;let R=lr;if(!this._resized||L===lr){let Z=this._codeEditor.getLayoutInfo();R=Z.width-28-Z.minimap.minimapWidth-15,this._resized=!0}if(this._domNode.style.width=`${R}px`,this._isReplaceVisible)this._replaceInput.width=Ao(this._findInput.domNode);this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let u=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(u!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let u=R_,n=N_;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue("accessibility.verbosity.find")&&this._accessibilityService.isScreenReaderOptimized()){let h=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel();if(h){let g=e(1037,"Press {0} for accessibility help",h);u=e(1038,"{0}, {1}",u,g),n=e(1039,"{0}, {1}",n,g)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=gi(()=>{if(this._isVisible)this._findInput.inputBox.setAriaLabel(R_),this._replaceInput.inputBox.setAriaLabel(N_)},1000)}this._findInput.inputBox.setAriaLabel(u),this._replaceInput.inputBox.setAriaLabel(n)}getViewState(){let u=!1;if(this._viewZone&&this._viewZoneId)u=this._viewZone.heightInPx>this._codeEditor.getScrollTop();return{widgetViewZoneVisible:u,scrollTop:this._codeEditor.getScrollTop()}}setViewState(u){if(!u)return;if(u.widgetViewZoneVisible)this._layoutViewZone(u.scrollTop)}}class Hr extends Ei{constructor(u,n){super();this._opts=u;let h="button";if(this._opts.className)h=h+" "+this._opts.className;if(this._opts.icon)h=h+" "+J.asClassName(this._opts.icon);this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=h,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(n.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},u.hoverLifecycleOptions)),this.onclick(this._domNode,(g)=>{this._opts.onTrigger(),g.preventDefault()}),this.onkeydown(this._domNode,(g)=>{if(g.equals(10)||g.equals(3)){this._opts.onTrigger(),g.preventDefault();return}this._opts.onKeyDown?.(g)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(u){this._domNode.classList.toggle("disabled",!u),this._domNode.setAttribute("aria-disabled",String(!u)),this._domNode.tabIndex=u?0:-1}setExpanded(u){if(this._domNode.setAttribute("aria-expanded",String(!!u)),u)this._domNode.classList.remove(...J.asClassNameArray(Ly)),this._domNode.classList.add(...J.asClassNameArray(ky));else this._domNode.classList.remove(...J.asClassNameArray(ky)),this._domNode.classList.add(...J.asClassNameArray(Ly))}}Li((u,n)=>{let h=u.getColor(fc);if(h)n.addRule(`.monaco-editor .findMatch { border: 1px ${fr(u.type)?"dotted":"solid"} ${h}; box-sizing: border-box; }`);let g=u.getColor(JM);if(g)n.addRule(`.monaco-editor .findScope { border: 1px ${fr(u.type)?"dashed":"solid"} ${g}; }`);let p=u.getColor(je);if(p)n.addRule(`.monaco-editor .find-widget { border: 1px solid ${p}; }`);let m=u.getColor(GM);if(m)n.addRule(`.monaco-editor .findMatchInline { color: ${m}; }`);let _=u.getColor(KM);if(_)n.addRule(`.monaco-editor .currentFindMatchInline { color: ${_}; }`)});class Wg extends Ei{static{this.ID="editor.contrib.findOptionsWidget"}constructor(u,n,h){super();this._hideSoon=this._register(new ke(()=>this._hide(),2000)),this._isVisible=!1,this._editor=u,this._state=n,this._keybindingService=h,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 g={inputActiveOptionBorder:P(wg),inputActiveOptionForeground:P(xg),inputActiveOptionBackground:P(qh)},p={groupId:"find-options-widget"};this.caseSensitive=this._register(new H0({appendTitle:this._keybindingLabelFor(bt.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:p,...g})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new B0({appendTitle:this._keybindingLabelFor(bt.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:p,...g})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new z0({appendTitle:this._keybindingLabelFor(bt.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:p,...g})),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((m)=>{let _=!1;if(m.isRegex)this.regex.checked=this._state.isRegex,_=!0;if(m.wholeWord)this.wholeWords.checked=this._state.wholeWord,_=!0;if(m.matchCase)this.caseSensitive.checked=this._state.matchCase,_=!0;if(!this._state.isRevealed&&_)this._revealTemporarily()})),this._register(c(this._domNode,E.MOUSE_LEAVE,(m)=>this._onMouseLeave())),this._register(c(this._domNode,"mouseover",(m)=>this._onMouseOver()))}_keybindingLabelFor(u){return this._keybindingService.appendKeybinding("",u)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Wg.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(){if(this._isVisible)return;this._isVisible=!0,this._domNode.style.display="block"}_hide(){if(!this._isVisible)return;this._isVisible=!1,this._domNode.style.display="none"}}function Bg(u,n){if(u===1)return!0;if(u===2)return!1;return n}class M_ extends i{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Bg(this._isRegexOverride,this._isRegex)}get wholeWord(){return Bg(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Bg(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Bg(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 o),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(u,n,h){let g={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},p=!1;if(n===0)u=0;if(u>n)u=n;if(this._matchesPosition!==u)this._matchesPosition=u,g.matchesPosition=!0,p=!0;if(this._matchesCount!==n)this._matchesCount=n,g.matchesCount=!0,p=!0;if(typeof h<"u"){if(!t.equalsRange(this._currentMatch,h))this._currentMatch=h,g.currentMatch=!0,p=!0}if(p)this._onFindReplaceStateChange.fire(g)}change(u,n,h=!0){let g={moveCursor:n,updateHistory:h,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},p=!1,m=this.isRegex,_=this.wholeWord,v=this.matchCase,S=this.preserveCase;if(typeof u.searchString<"u"){if(this._searchString!==u.searchString)this._searchString=u.searchString,g.searchString=!0,p=!0}if(typeof u.replaceString<"u"){if(this._replaceString!==u.replaceString)this._replaceString=u.replaceString,g.replaceString=!0,p=!0}if(typeof u.isRevealed<"u"){if(this._isRevealed!==u.isRevealed)this._isRevealed=u.isRevealed,g.isRevealed=!0,p=!0}if(typeof u.isReplaceRevealed<"u"){if(this._isReplaceRevealed!==u.isReplaceRevealed)this._isReplaceRevealed=u.isReplaceRevealed,g.isReplaceRevealed=!0,p=!0}if(typeof u.isRegex<"u")this._isRegex=u.isRegex;if(typeof u.wholeWord<"u")this._wholeWord=u.wholeWord;if(typeof u.matchCase<"u")this._matchCase=u.matchCase;if(typeof u.preserveCase<"u")this._preserveCase=u.preserveCase;if(typeof u.searchScope<"u"){if(!u.searchScope?.every((C)=>this._searchScope?.some((L)=>!t.equalsRange(L,C))))this._searchScope=u.searchScope,g.searchScope=!0,p=!0}if(typeof u.loop<"u"){if(this._loop!==u.loop)this._loop=u.loop,g.loop=!0,p=!0}if(typeof u.isSearching<"u"){if(this._isSearching!==u.isSearching)this._isSearching=u.isSearching,g.isSearching=!0,p=!0}if(typeof u.filters<"u"){if(this._filters)this._filters.update(u.filters);else this._filters=u.filters;g.filters=!0,p=!0}if(this._isRegexOverride=typeof u.isRegexOverride<"u"?u.isRegexOverride:0,this._wholeWordOverride=typeof u.wholeWordOverride<"u"?u.wholeWordOverride:0,this._matchCaseOverride=typeof u.matchCaseOverride<"u"?u.matchCaseOverride:0,this._preserveCaseOverride=typeof u.preserveCaseOverride<"u"?u.preserveCaseOverride:0,m!==this.isRegex)p=!0,g.isRegex=!0;if(_!==this.wholeWord)p=!0,g.wholeWord=!0;if(v!==this.matchCase)p=!0,g.matchCase=!0;if(S!==this.preserveCase)p=!0,g.preserveCase=!0;if(p)this._onFindReplaceStateChange.fire(g)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=sr}}var L2=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},k2=function(u,n){return function(h,g){n(h,g,u)}},Ls,Vg=class u{static{Ls=this}static{this.FIND_HISTORY_KEY="workbench.find.history"}static{this._instance=null}static getOrCreate(n){if(!Ls._instance)Ls._instance=new Ls(n);return Ls._instance}constructor(n){this.storageService=n,this.inMemoryValues=new Set,this._onDidChangeEmitter=new o,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(n){let h=this.inMemoryValues.delete(n);return this.save(),h}add(n){return this.inMemoryValues.add(n),this.save(),this}has(n){return this.inMemoryValues.has(n)}forEach(n,h){return this.load(),this.inMemoryValues.forEach(n)}replace(n){this.inMemoryValues=new Set(n),this.save()}load(){let n,h=this.storageService.get(Ls.FIND_HISTORY_KEY,1);if(h)try{n=JSON.parse(h)}catch(g){}this.inMemoryValues=new Set(n||[])}save(){let n=[];return this.inMemoryValues.forEach((h)=>n.push(h)),new Promise((h)=>{this.storageService.store(Ls.FIND_HISTORY_KEY,JSON.stringify(n),1,0),this._onDidChangeEmitter.fire(n),h()})}};Vg=Ls=L2([k2(0,Mn)],Vg);var E2=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},D2=function(u,n){return function(h,g){n(h,g,u)}},ks,zg=class u{static{ks=this}static{this.FIND_HISTORY_KEY="workbench.replace.history"}static{this._instance=null}static getOrCreate(n){if(!ks._instance)ks._instance=new ks(n);return ks._instance}constructor(n){this.storageService=n,this.inMemoryValues=new Set,this._onDidChangeEmitter=new o,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(n){let h=this.inMemoryValues.delete(n);return this.save(),h}add(n){return this.inMemoryValues.add(n),this.save(),this}has(n){return this.inMemoryValues.has(n)}forEach(n,h){return this.load(),this.inMemoryValues.forEach(n)}replace(n){this.inMemoryValues=new Set(n),this.save()}load(){let n,h=this.storageService.get(ks.FIND_HISTORY_KEY,1);if(h)try{n=JSON.parse(h)}catch(g){}this.inMemoryValues=new Set(n||[])}save(){let n=[];return this.inMemoryValues.forEach((h)=>n.push(h)),new Promise((h)=>{this.storageService.store(ks.FIND_HISTORY_KEY,JSON.stringify(n),1,0),this._onDidChangeEmitter.fire(n),h()})}};zg=ks=E2([D2(0,Mn)],zg);var Ry=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ko=function(u,n){return function(h,g){n(h,g,u)}},O_,T2=524288;function P_(u,n="single",h=!1){if(!u.hasModel())return null;let g=u.getSelection();if(n==="single"&&g.startLineNumber===g.endLineNumber||n==="multiple"){if(g.isEmpty()){let p=u.getConfiguredWordAtPosition(g.getStartPosition());if(p&&h===!1)return p.word}else if(u.getModel().getValueLengthInRange(g)<T2)return u.getModel().getValueInRange(g)}return null}var Wi=class u extends i{static{O_=this}static{this.ID="editor.contrib.findController"}get editor(){return this._editor}static get(n){return n.getContribution(O_.ID)}constructor(n,h,g,p,m,_){super();this._editor=n,this._findWidgetVisible=ar.bindTo(h),this._contextKeyService=h,this._storageService=g,this._clipboardService=p,this._notificationService=m,this._hoverService=_,this._updateHistoryDelayer=this._register(new qi(500)),this._state=this._register(new M_),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((v)=>this._onStateChanged(v))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let v=this._editor.getModel()&&this._state.isRevealed;if(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),v)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(){if(this._model)this._model.dispose(),this._model=null}_onStateChanged(n){if(this.saveQueryState(n),n.isRevealed)if(this._state.isRevealed)this._findWidgetVisible.set(!0);else this._findWidgetVisible.reset(),this.disposeModel();if(n.searchString)this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(n){if(n.isRegex)this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1);if(n.wholeWord)this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1);if(n.matchCase)this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1);if(n.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!!qd.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){if(this._state.change({matchCase:!this._state.matchCase},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleWholeWords(){if(this._state.change({wholeWord:!this._state.wholeWord},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleRegex(){if(this._state.change({isRegex:!this._state.isRegex},!1),!this._state.isRevealed)this.highlightFindOptions()}togglePreserveCase(){if(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 n=this._editor.getSelections();if(n=n.map((h)=>{if(h.endColumn===1&&h.endLineNumber>h.startLineNumber)h=h.setEndPosition(h.endLineNumber-1,this._editor.getModel().getLineMaxColumn(h.endLineNumber-1));if(!h.isEmpty())return h;return null}).filter((h)=>!!h),n.length)this._state.change({searchScope:n},!0)}}setSearchString(n){if(this._state.isRegex)n=Ui(n);this._state.change({searchString:n},!1)}highlightFindOptions(n=!1){}async _start(n,h){if(this.disposeModel(),!this._editor.hasModel())return;let g={...h,isRevealed:!0};if(n.seedSearchStringFromSelection==="single"){let p=P_(this._editor,n.seedSearchStringFromSelection,n.seedSearchStringFromNonEmptySelection);if(p)if(this._state.isRegex)g.searchString=Ui(p);else g.searchString=p}else if(n.seedSearchStringFromSelection==="multiple"&&!n.updateSearchScope){let p=P_(this._editor,n.seedSearchStringFromSelection);if(p)g.searchString=p}if(!g.searchString&&n.seedSearchStringFromGlobalClipboard){let p=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;if(p)g.searchString=p}if(n.forceRevealReplace||g.isReplaceRevealed)g.isReplaceRevealed=!0;else if(!this._findWidgetVisible.get())g.isReplaceRevealed=!1;if(n.updateSearchScope){let p=this._editor.getSelections();if(p.some((m)=>!m.isEmpty()))g.searchScope=p}if(g.loop=n.loop,this._state.change(g,!1),!this._model)this._model=new Ud(this._editor,this._state)}start(n,h){return this._start(n,h)}moveToNextMatch(){if(this._model)return this._model.moveToNextMatch(),!0;return!1}moveToPrevMatch(){if(this._model)return this._model.moveToPrevMatch(),!0;return!1}goToMatch(n){if(this._model)return this._model.moveToMatch(n),!0;return!1}replace(){if(this._model)return this._model.replace(),!0;return!1}replaceAll(){if(this._model){if(this._editor.getModel()?.isTooLargeForHeapOperation())return this._notificationService.warn(e(994,"The file is too large to perform a replace all operation.")),!1;return this._model.replaceAll(),!0}return!1}selectAllMatches(){if(this._model)return this._model.selectAllMatches(),this._editor.focus(),!0;return!1}async getGlobalBufferTerm(){if(this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing())return this._clipboardService.readFindText();return""}setGlobalBufferTerm(n){if(this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing())this._clipboardService.writeFindText(n)}};Wi=O_=Ry([ko(1,G),ko(2,Mn),ko(3,yi),ko(4,yt),ko(5,An)],Wi);var A_=class u extends Wi{constructor(n,h,g,p,m,_,v,S,C,L){super(n,g,_,v,m,S);this._contextViewService=h,this._keybindingService=p,this._configurationService=C,this._accessibilityService=L,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=Vg.getOrCreate(_),this._replaceWidgetHistory=zg.getOrCreate(_)}async _start(n,h){if(!this._widget)this._createFindWidget();let g=this._editor.getSelection(),p=!1;switch(this._editor.getOption(50).autoFindInSelection){case"always":p=!0;break;case"never":p=!1;break;case"multiline":{p=!!g&&g.startLineNumber!==g.endLineNumber;break}}if(n.updateSearchScope=n.updateSearchScope||p,await super._start(n,h),this._widget){if(n.shouldFocus===2)this._widget.focusReplaceInput();else if(n.shouldFocus===1)this._widget.focusFindInput()}}highlightFindOptions(n=!1){if(!this._widget)this._createFindWidget();if(this._state.isRevealed&&!n)this._widget.highlightFindOptions();else this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new rd(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 Wg(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(n){this._widget?.setViewState(n)}};A_=Ry([ko(1,ws),ko(2,G),ko(3,me),ko(4,yt),ko(5,Mn),ko(6,yi),ko(7,An),ko(8,re),ko(9,on)],A_);var R2=m0(new Yv({id:bt.StartFindAction,label:b(1002,"Find"),precondition:T.or(r.focus,T.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:l.MenubarEditMenu,group:"3_find",title:e(995,"&&Find"),order:1}}));R2.addImplementation(0,(u,n,h)=>{let g=Wi.get(n);if(!g)return!1;return g.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:n.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:n.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:n.getOption(50).loop})});var N2={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"}}}}]};class Ny extends U{constructor(){super({id:bt.StartFindWithArgs,label:b(1003,"Find with Arguments"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:N2})}async run(u,n,h){let g=Wi.get(n);if(g){let p=h?{searchString:h.searchString,replaceString:h.replaceString,isReplaceRevealed:h.replaceString!==void 0,isRegex:h.isRegex,wholeWord:h.matchWholeWord,matchCase:h.isCaseSensitive,preserveCase:h.preserveCase}:{};await g.start({forceRevealReplace:!1,seedSearchStringFromSelection:g.getState().searchString.length===0&&n.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:n.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:h?.findInSelection||!1,loop:n.getOption(50).loop},p),g.setGlobalBufferTerm(g.getState().searchString)}}}class My extends U{constructor(){super({id:bt.StartFindWithSelection,label:b(1004,"Find with Selection"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(u,n){let h=Wi.get(n);if(h)await h.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:n.getOption(50).loop}),h.setGlobalBufferTerm(h.getState().searchString)}}async function Oy(u,n){let h=Wi.get(u);if(!h)return;let g=u.getOption(50).closeOnResult,p=h.getState().isRevealed,m=()=>{let _=h.editor.getSelection(),v=n?h.moveToNextMatch():h.moveToPrevMatch(),S=!1;if(v){let C=h.editor.getSelection();if(!_&&C)S=!0;else if(_&&C&&!_.equalsSelection(C))S=!0}if(S){if(h.editor.pushUndoStop(),g&&p&&h.isFindInputFocused())h.closeFindWidget();return!0}return!1};if(!m()){if(await h.start({forceRevealReplace:!1,seedSearchStringFromSelection:h.getState().searchString.length===0&&u.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:u.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:u.getOption(50).loop}),!m()){let _=h.getState();if(p&&_.matchesCount===0&&_.searchString)zn(e(996,"{0} found for '{1}'",Hg,_.searchString))}}}var M2=m0(new Yv({id:bt.NextMatchFindAction,label:b(1005,"Find Next"),precondition:void 0,kbOpts:[{kbExpr:r.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:T.and(r.focus,qd),primary:3,weight:100}]}));M2.addImplementation(0,async(u,n,h)=>Oy(n,!0));var O2=m0(new Yv({id:bt.PreviousMatchFindAction,label:b(1006,"Find Previous"),precondition:void 0,kbOpts:[{kbExpr:r.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:T.and(r.focus,qd),primary:1027,weight:100}]}));O2.addImplementation(0,async(u,n,h)=>Oy(n,!1));class Py extends U{constructor(){super({id:bt.GoToMatchFindAction,label:b(1007,"Go to Match..."),precondition:ar});this._highlightDecorations=[]}run(u,n){let h=Wi.get(n);if(!h)return;let g=h.getState().matchesCount;if(g<1){u.get(yt).notify({severity:bc.Warning,message:e(997,"No matches. Try searching for something else.")});return}let p=u.get(kn),m=new d,_=m.add(p.createInputBox());_.placeholder=e(998,"Type a number to go to a specific match (between 1 and {0})",g);let v=(C)=>{let L=parseInt(C);if(isNaN(L))return;let R=h.getState().matchesCount;if(L>0&&L<=R)return L-1;else if(L<0&&L>=-R)return R+L;return},S=(C)=>{let L=v(C);if(typeof L==="number"){_.validationMessage=void 0,h.goToMatch(L);let R=h.getState().currentMatch;if(R)this.addDecorations(n,R)}else _.validationMessage=e(999,"Please type a number between 1 and {0}",h.getState().matchesCount),this.clearDecorations(n)};m.add(_.onDidChangeValue((C)=>{S(C)})),m.add(_.onDidAccept(()=>{let C=v(_.value);if(typeof C==="number")h.goToMatch(C),_.hide();else _.validationMessage=e(1000,"Please type a number between 1 and {0}",h.getState().matchesCount)})),m.add(_.onDidHide(()=>{this.clearDecorations(n),m.dispose()})),_.show()}clearDecorations(u){u.changeDecorations((n)=>{this._highlightDecorations=n.deltaDecorations(this._highlightDecorations,[])})}addDecorations(u,n){u.changeDecorations((h)=>{this._highlightDecorations=h.deltaDecorations(this._highlightDecorations,[{range:n,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:n,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:bn(_1),position:Jo.Full}}}])})}}class F_ extends U{async run(u,n){let h=Wi.get(n);if(!h)return;let g=P_(n,"single",!1);if(g)h.setSearchString(g);if(!this._run(h))await h.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:n.getOption(50).loop}),this._run(h)}}class Ay extends F_{constructor(){super({id:bt.NextSelectionMatchFindAction,label:b(1008,"Find Next Selection"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:2109,weight:100}})}_run(u){return u.moveToNextMatch()}}class Fy extends F_{constructor(){super({id:bt.PreviousSelectionMatchFindAction,label:b(1009,"Find Previous Selection"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:3133,weight:100}})}_run(u){return u.moveToPrevMatch()}}var P2=m0(new Yv({id:bt.StartFindReplaceAction,label:b(1010,"Replace"),precondition:T.or(r.focus,T.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:l.MenubarEditMenu,group:"3_find",title:e(1001,"&&Replace"),order:2}}));P2.addImplementation(0,(u,n,h)=>{if(!n.hasModel()||n.getOption(104))return!1;let g=Wi.get(n);if(!g)return!1;let p=n.getSelection(),m=g.isFindInputFocused(),_=!p.isEmpty()&&p.startLineNumber===p.endLineNumber&&n.getOption(50).seedSearchStringFromSelection!=="never"&&!m,v=m||_?2:1;return g.start({forceRevealReplace:!0,seedSearchStringFromSelection:_?"single":"none",seedSearchStringFromNonEmptySelection:n.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:n.getOption(50).seedSearchStringFromSelection!=="never",shouldFocus:v,shouldAnimate:!0,updateSearchScope:!1,loop:n.getOption(50).loop})});fe(Wi.ID,A_,0);O(Ny);O(My);O(Py);O(Ay);O(Fy);var Vn=en.bindToContribution(Wi.get);K(new Vn({id:bt.CloseFindWidgetCommand,precondition:ar,handler:(u)=>u.closeFindWidget(),kbOpts:{weight:105,kbExpr:r.focus,primary:9,secondary:[1033]}}));K(new Vn({id:bt.ToggleCaseSensitiveCommand,precondition:void 0,handler:(u)=>u.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:r.focus,primary:ml.primary,mac:ml.mac,win:ml.win,linux:ml.linux}}));K(new Vn({id:bt.ToggleWholeWordCommand,precondition:void 0,handler:(u)=>u.toggleWholeWords(),kbOpts:{weight:105,kbExpr:r.focus,primary:fl.primary,mac:fl.mac,win:fl.win,linux:fl.linux}}));K(new Vn({id:bt.ToggleRegexCommand,precondition:void 0,handler:(u)=>u.toggleRegex(),kbOpts:{weight:105,kbExpr:r.focus,primary:Nl.primary,mac:Nl.mac,win:Nl.win,linux:Nl.linux}}));K(new Vn({id:bt.ToggleSearchScopeCommand,precondition:void 0,handler:(u)=>u.toggleSearchScope(),kbOpts:{weight:105,kbExpr:r.focus,primary:Ml.primary,mac:Ml.mac,win:Ml.win,linux:Ml.linux}}));K(new Vn({id:bt.TogglePreserveCaseCommand,precondition:void 0,handler:(u)=>u.togglePreserveCase(),kbOpts:{weight:105,kbExpr:r.focus,primary:Ol.primary,mac:Ol.mac,win:Ol.win,linux:Ol.linux}}));K(new Vn({id:bt.ReplaceOneAction,precondition:ar,handler:(u)=>u.replace(),kbOpts:{weight:105,kbExpr:r.focus,primary:3094}}));K(new Vn({id:bt.ReplaceOneAction,precondition:ar,handler:(u)=>u.replace(),kbOpts:{weight:105,kbExpr:T.and(r.focus,pl),primary:3}}));K(new Vn({id:bt.ReplaceAllAction,precondition:ar,handler:(u)=>u.replaceAll(),kbOpts:{weight:105,kbExpr:r.focus,primary:2563}}));K(new Vn({id:bt.ReplaceAllAction,precondition:ar,handler:(u)=>u.replaceAll(),kbOpts:{weight:105,kbExpr:T.and(r.focus,pl),primary:void 0,mac:{primary:2051}}}));K(new Vn({id:bt.SelectAllMatchesAction,precondition:ar,handler:(u)=>u.selectAllMatches(),kbOpts:{weight:105,kbExpr:r.focus,primary:515}}));var A2=a("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},e(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);a("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},e(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);a("editor.wordHighlightTextBackground",A2,e(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 F2=a("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Zt,hcLight:Zt},e(1640,"Border color of a symbol during read-access, like reading a variable."));a("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Zt,hcLight:Zt},e(1641,"Border color of a symbol during write-access, like writing to a variable."));a("editor.wordHighlightTextBorder",F2,e(1642,"Border color of a textual occurrence for a symbol."));var H2=a("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",e(1643,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),W2=a("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",e(1644,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),B2=a("editorOverviewRuler.wordHighlightTextForeground",DI,e(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),V2=ue.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:bn(W2),position:Jo.Center},minimap:{color:bn(x0),position:1}}),z2=ue.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:bn(B2),position:Jo.Center},minimap:{color:bn(x0),position:1}}),K2=ue.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:bn(DI),position:Jo.Center},minimap:{color:bn(x0),position:1}}),U2=ue.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),q2=ue.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:bn(H2),position:Jo.Center},minimap:{color:bn(x0),position:1}});function vM(u){if(u===Fh.Write)return V2;else if(u===Fh.Text)return z2;else return q2}function Hy(u){return u?U2:K2}Li((u,n)=>{let h=u.getColor(vg);if(h)n.addRule(`.monaco-editor .selectionHighlight { background-color: ${h.transparent(0.5)}; }`)});var j2=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},$2=function(u,n){return function(h,g){n(h,g,u)}},H_;function Es(u,n){let h=n.filter((g)=>!u.find((p)=>p.equals(g)));if(h.length>=1){let g=h.map((m)=>`line ${m.viewState.position.lineNumber} column ${m.viewState.position.column}`).join(", "),p=h.length===1?e(1354,"Cursor added: {0}",g):e(1355,"Cursors added: {0}",g);jo(p)}}class By extends U{constructor(){super({id:"editor.action.insertCursorAbove",label:b(1364,"Add Cursor Above"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"3_multi",title:e(1356,"&&Add Cursor Above"),order:2}})}run(u,n,h){if(!n.hasModel())return;let g=!0;if(h&&h.logicalLine===!1)g=!1;let p=n._getViewModel();if(p.cursorConfig.readOnly)return;p.model.pushStackElement();let m=p.getCursorStates();p.setCursorStates(h.source,3,Pi.addCursorUp(p,m,g)),p.revealTopMostCursor(h.source),Es(m,p.getCursorStates())}}class Vy extends U{constructor(){super({id:"editor.action.insertCursorBelow",label:b(1365,"Add Cursor Below"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"3_multi",title:e(1357,"A&&dd Cursor Below"),order:3}})}run(u,n,h){if(!n.hasModel())return;let g=!0;if(h&&h.logicalLine===!1)g=!1;let p=n._getViewModel();if(p.cursorConfig.readOnly)return;p.model.pushStackElement();let m=p.getCursorStates();p.setCursorStates(h.source,3,Pi.addCursorDown(p,m,g)),p.revealBottomMostCursor(h.source),Es(m,p.getCursorStates())}}class zy extends U{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:b(1366,"Add Cursors to Line Ends"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"3_multi",title:e(1358,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(u,n,h){if(u.isEmpty())return;for(let g=u.startLineNumber;g<u.endLineNumber;g++){let p=n.getLineMaxColumn(g);h.push(new F(g,p,g,p))}if(u.endColumn>1)h.push(new F(u.endLineNumber,u.endColumn,u.endLineNumber,u.endColumn))}run(u,n){if(!n.hasModel())return;let h=n.getModel(),g=n.getSelections(),p=n._getViewModel(),m=p.getCursorStates(),_=[];if(g.forEach((v)=>this.getCursorsForSelection(v,h,_)),_.length>0)n.setSelections(_);Es(m,p.getCursorStates())}}class Ky extends U{constructor(){super({id:"editor.action.addCursorsToBottom",label:b(1367,"Add Cursors to Bottom"),precondition:void 0})}run(u,n){if(!n.hasModel())return;let h=n.getSelections(),g=n.getModel().getLineCount(),p=[];for(let v=h[0].startLineNumber;v<=g;v++)p.push(new F(v,h[0].startColumn,v,h[0].endColumn));let m=n._getViewModel(),_=m.getCursorStates();if(p.length>0)n.setSelections(p);Es(_,m.getCursorStates())}}class Uy extends U{constructor(){super({id:"editor.action.addCursorsToTop",label:b(1368,"Add Cursors to Top"),precondition:void 0})}run(u,n){if(!n.hasModel())return;let h=n.getSelections(),g=[];for(let _=h[0].startLineNumber;_>=1;_--)g.push(new F(_,h[0].startColumn,_,h[0].endColumn));let p=n._getViewModel(),m=p.getCursorStates();if(g.length>0)n.setSelections(g);Es(m,p.getCursorStates())}}class Fl{constructor(u,n,h){this.selections=u,this.revealRange=n,this.revealScrollType=h}}class Hl{static create(u,n){if(!u.hasModel())return null;let h=n.getState();if(!u.hasTextFocus()&&h.isRevealed&&h.searchString.length>0)return new Hl(u,n,!1,h.searchString,h.wholeWord,h.matchCase,null);let g=!1,p,m,_=u.getSelections();if(_.length===1&&_[0].isEmpty())g=!0,p=!0,m=!0;else p=h.wholeWord,m=h.matchCase;let v=u.getSelection(),S,C=null;if(v.isEmpty()){let L=u.getConfiguredWordAtPosition(v.getStartPosition());if(!L)return null;S=L.word,C=new F(v.startLineNumber,L.startColumn,v.startLineNumber,L.endColumn)}else S=u.getModel().getValueInRange(v).replace(/\r\n/g,`
|
|
21
|
-
`);return new Hl(u,n,g,S,p,m,C)}constructor(u,n,h,g,p,m,_){this._editor=u,this.findController=n,this.isDisconnectedFromFindController=h,this.searchText=g,this.wholeWord=p,this.matchCase=m,this.currentMatch=_}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let u=this._getNextMatch();if(!u)return null;let n=this._editor.getSelections();return new Fl(n.concat(u),u,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let u=this._getNextMatch();if(!u)return null;let n=this._editor.getSelections();return new Fl(n.slice(0,n.length-1).concat(u),u,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let g=this.currentMatch;return this.currentMatch=null,g}this.findController.highlightFindOptions();let u=this._editor.getSelections(),n=u[u.length-1],h=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);if(!h)return null;return new F(h.range.startLineNumber,h.range.startColumn,h.range.endLineNumber,h.range.endColumn)}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let u=this._getPreviousMatch();if(!u)return null;let n=this._editor.getSelections();return new Fl(n.concat(u),u,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let u=this._getPreviousMatch();if(!u)return null;let n=this._editor.getSelections();return new Fl(n.slice(0,n.length-1).concat(u),u,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let g=this.currentMatch;return this.currentMatch=null,g}this.findController.highlightFindOptions();let u=this._editor.getSelections(),n=u[u.length-1],h=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);if(!h)return null;return new F(h.range.startLineNumber,h.range.startColumn,h.range.endLineNumber,h.range.endColumn)}selectAll(u){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();let n=this._editor.getModel();if(u)return n.findMatches(this.searchText,u,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824);return n.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}}class jd extends i{static{this.ID="editor.contrib.multiCursorController"}static get(u){return u.getContribution(jd.ID)}constructor(u){super();this._sessionDispose=this._register(new d),this._editor=u,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(u){if(!this._session){let n=Hl.create(this._editor,u);if(!n)return;this._session=n;let h={searchString:this._session.searchText};if(this._session.isDisconnectedFromFindController)h.wholeWordOverride=1,h.matchCaseOverride=1,h.isRegexOverride=2;u.getState().change(h,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((g)=>{if(this._ignoreSelectionChange)return;this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(u.getState().onFindReplaceStateChange((g)=>{if(g.matchCase||g.wholeWord)this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){let u={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(u,!1)}this._session=null}_setSelections(u){this._ignoreSelectionChange=!0,this._editor.setSelections(u),this._ignoreSelectionChange=!1}_expandEmptyToWord(u,n){if(!n.isEmpty())return n;let h=this._editor.getConfiguredWordAtPosition(n.getStartPosition());if(!h)return n;return new F(n.startLineNumber,h.startColumn,n.startLineNumber,h.endColumn)}_applySessionResult(u){if(!u)return;if(this._setSelections(u.selections),u.revealRange)this._editor.revealRangeInCenterIfOutsideViewport(u.revealRange,u.revealScrollType)}getSession(u){return this._session}addSelectionToNextFindMatch(u){if(!this._editor.hasModel())return;if(!this._session){let n=this._editor.getSelections();if(n.length>1){let g=u.getState().matchCase;if(!Jy(this._editor.getModel(),n,g)){let m=this._editor.getModel(),_=[];for(let v=0,S=n.length;v<S;v++)_[v]=this._expandEmptyToWord(m,n[v]);this._editor.setSelections(_);return}}}if(this._beginSessionIfNeeded(u),this._session)this._applySessionResult(this._session.addSelectionToNextFindMatch())}addSelectionToPreviousFindMatch(u){if(this._beginSessionIfNeeded(u),this._session)this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(u){if(this._beginSessionIfNeeded(u),this._session)this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(u){if(this._beginSessionIfNeeded(u),this._session)this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(u){if(!this._editor.hasModel())return;let n=null,h=u.getState();if(h.isRevealed&&h.searchString.length>0&&h.isRegex){let g=this._editor.getModel();if(h.searchScope)n=g.findMatches(h.searchString,h.searchScope,h.isRegex,h.matchCase,h.wholeWord?this._editor.getOption(148):null,!1,1073741824);else n=g.findMatches(h.searchString,!0,h.isRegex,h.matchCase,h.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(u),!this._session)return;n=this._session.selectAll(h.searchScope)}if(n.length>0){let g=this._editor.getSelection();for(let p=0,m=n.length;p<m;p++){let _=n[p];if(_.range.intersectRanges(g)){n[p]=n[0],n[0]=_;break}}this._setSelections(n.map((p)=>new F(p.range.startLineNumber,p.range.startColumn,p.range.endLineNumber,p.range.endColumn)))}}}class Na extends U{run(u,n){let h=jd.get(n);if(!h)return;let g=n._getViewModel();if(g){let p=g.getCursorStates(),m=Wi.get(n);if(m)this._run(h,m);else{let _=u.get(A).createInstance(Wi,n);this._run(h,_),_.dispose()}Es(p,g.getCursorStates())}}}class qy extends Na{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:b(1369,"Add Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:2082,weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"3_multi",title:e(1359,"Add &&Next Occurrence"),order:5}})}_run(u,n){u.addSelectionToNextFindMatch(n)}}class jy extends Na{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:b(1370,"Add Selection to Previous Find Match"),precondition:void 0,menuOpts:{menuId:l.MenubarSelectionMenu,group:"3_multi",title:e(1360,"Add P&&revious Occurrence"),order:6}})}_run(u,n){u.addSelectionToPreviousFindMatch(n)}}class $y extends Na{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:b(1371,"Move Last Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:un(2089,2082),weight:100}})}_run(u,n){u.moveSelectionToNextFindMatch(n)}}class Gy extends Na{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:b(1372,"Move Last Selection to Previous Find Match"),precondition:void 0})}_run(u,n){u.moveSelectionToPreviousFindMatch(n)}}class Zy extends Na{constructor(){super({id:"editor.action.selectHighlights",label:b(1373,"Select All Occurrences of Find Match"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:3114,weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"3_multi",title:e(1361,"Select All &&Occurrences"),order:7}})}_run(u,n){u.selectAll(n)}}class Xy extends Na{constructor(){super({id:"editor.action.changeAll",label:b(1374,"Change All Occurrences"),precondition:T.and(r.writable,r.editorTextFocus),kbOpts:{kbExpr:r.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(u,n){u.selectAll(n)}}class Yy{constructor(u,n,h,g,p){if(this._model=u,this._searchText=n,this._matchCase=h,this._wordSeparators=g,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),p&&this._model===p._model&&this._searchText===p._searchText&&this._matchCase===p._matchCase&&this._wordSeparators===p._wordSeparators&&this._modelVersionId===p._modelVersionId)this._cachedFindMatches=p._cachedFindMatches}findMatches(){if(this._cachedFindMatches===null)this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((u)=>u.range),this._cachedFindMatches.sort(t.compareRangesUsingStarts);return this._cachedFindMatches}}var Kg=class u extends i{static{H_=this}static{this.ID="editor.contrib.selectionHighlighter"}constructor(n,h){super();this._languageFeaturesService=h,this.editor=n,this._isEnabled=n.getOption(122),this._isEnabledMultiline=n.getOption(124),this._maxLength=n.getOption(123),this._decorations=n.createDecorationsCollection(),this.updateSoon=this._register(new ke(()=>this._update(),300)),this.state=null,this._register(n.onDidChangeConfiguration((p)=>{this._isEnabled=n.getOption(122),this._isEnabledMultiline=n.getOption(124),this._maxLength=n.getOption(123)})),this._register(n.onDidChangeCursorSelection((p)=>{if(!this._isEnabled)return;if(p.selection.isEmpty())if(p.reason===3){if(this.state)this._setState(null);this.updateSoon.schedule()}else this._setState(null);else this._update()})),this._register(n.onDidChangeModel((p)=>{this._setState(null)})),this._register(n.onDidChangeModelContent((p)=>{if(this._isEnabled)this.updateSoon.schedule()}));let g=Wi.get(n);if(g)this._register(g.getState().onFindReplaceStateChange((p)=>{this._update()}));this.updateSoon.schedule()}_update(){this._setState(H_._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(n,h,g,p,m){if(!h)return null;if(!m.hasModel())return null;if(!g){let R=m.getSelection();if(R.startLineNumber!==R.endLineNumber)return null}let _=jd.get(m);if(!_)return null;let v=Wi.get(m);if(!v)return null;let S=_.getSession(v);if(!S){let R=m.getSelections();if(R.length>1){let Y=v.getState().matchCase;if(!Jy(m.getModel(),R,Y))return null}S=Hl.create(m,v)}if(!S)return null;if(S.currentMatch)return null;if(/^[ \t]+$/.test(S.searchText))return null;if(p>0&&S.searchText.length>p)return null;let C=v.getState(),L=C.matchCase;if(C.isRevealed){let R=C.searchString;if(!L)R=R.toLowerCase();let Z=S.searchText;if(!L)Z=Z.toLowerCase();if(R===Z&&S.matchCase===C.matchCase&&S.wholeWord===C.wholeWord&&!C.isRegex)return null}return new Yy(m.getModel(),S.searchText,S.matchCase,S.wholeWord?m.getOption(148):null,n)}_setState(n){if(this.state=n,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;let h=this.editor.getModel();if(h.isTooLargeForTokenization())return;let g=this.state.findMatches(),p=this.editor.getSelections();p.sort(t.compareRangesUsingStarts);let m=[];for(let C=0,L=0,R=g.length,Z=p.length;C<R;){let Y=g[C];if(L>=Z)m.push(Y),C++;else{let Q=t.compareRangesUsingStarts(Y,p[L]);if(Q<0){if(p[L].isEmpty()||!t.areIntersecting(Y,p[L]))m.push(Y);C++}else if(Q>0)L++;else C++,L++}}let _=this.editor.getOption(90)!=="off",v=this._languageFeaturesService.documentHighlightProvider.has(h)&&_,S=m.map((C)=>({range:C,options:Hy(v)}));this._decorations.set(S)}dispose(){this._setState(null),super.dispose()}};Kg=H_=j2([$2(1,z)],Kg);function Jy(u,n,h){let g=Wy(u,n[0],!h);for(let p=1,m=n.length;p<m;p++){let _=n[p];if(_.isEmpty())return!1;let v=Wy(u,_,!h);if(g!==v)return!1}return!0}function Wy(u,n,h){let g=u.getValueInRange(n);return h?g.toLowerCase():g}class Qy extends U{constructor(){super({id:"editor.action.focusNextCursor",label:b(1375,"Focus Next Cursor"),metadata:{description:e(1362,"Focuses the next cursor"),args:[]},precondition:void 0})}run(u,n,h){if(!n.hasModel())return;let g=n._getViewModel();if(g.cursorConfig.readOnly)return;g.model.pushStackElement();let p=Array.from(g.getCursorStates()),m=p.shift();if(!m)return;p.push(m),g.setCursorStates(h.source,3,p),g.revealPrimaryCursor(h.source,!0),Es(p,g.getCursorStates())}}class ex extends U{constructor(){super({id:"editor.action.focusPreviousCursor",label:b(1376,"Focus Previous Cursor"),metadata:{description:e(1363,"Focuses the previous cursor"),args:[]},precondition:void 0})}run(u,n,h){if(!n.hasModel())return;let g=n._getViewModel();if(g.cursorConfig.readOnly)return;g.model.pushStackElement();let p=Array.from(g.getCursorStates()),m=p.pop();if(!m)return;p.unshift(m),g.setCursorStates(h.source,3,p),g.revealPrimaryCursor(h.source,!0),Es(p,g.getCursorStates())}}fe(jd.ID,jd,4);fe(Kg.ID,Kg,1);O(By);O(Vy);O(zy);O(qy);O(jy);O($y);O(Gy);O(Zy);O(Xy);O(Ky);O(Uy);O(Qy);O(ex);class Eo{async provideSelectionRanges(u,n){let h=[];for(let g of n){let p=[];h.push(p);let m=new Map;await new Promise((_)=>Eo._bracketsRightYield(_,0,u,g,m)),await new Promise((_)=>Eo._bracketsLeftYield(_,0,u,g,m,p))}return h}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(u,n,h,g,p){let m=new Map,_=Date.now();while(!0){if(n>=Eo._maxRounds){u();break}if(!g){u();break}let v=h.bracketPairs.findNextBracket(g);if(!v){u();break}if(Date.now()-_>Eo._maxDuration){setTimeout(()=>Eo._bracketsRightYield(u,n+1,h,g,p));break}if(v.bracketInfo.isOpeningBracket){let C=v.bracketInfo.bracketText,L=m.has(C)?m.get(C):0;m.set(C,L+1)}else{let C=v.bracketInfo.getOpeningBrackets()[0].bracketText,L=m.has(C)?m.get(C):0;if(L-=1,m.set(C,Math.max(0,L)),L<0){let R=p.get(C);if(!R)R=new Hn,p.set(C,R);R.push(v.range)}}g=v.range.getEndPosition()}}static _bracketsLeftYield(u,n,h,g,p,m){let _=new Map,v=Date.now();while(!0){if(n>=Eo._maxRounds&&p.size===0){u();break}if(!g){u();break}let S=h.bracketPairs.findPrevBracket(g);if(!S){u();break}if(Date.now()-v>Eo._maxDuration){setTimeout(()=>Eo._bracketsLeftYield(u,n+1,h,g,p,m));break}if(!S.bracketInfo.isOpeningBracket){let L=S.bracketInfo.getOpeningBrackets()[0].bracketText,R=_.has(L)?_.get(L):0;_.set(L,R+1)}else{let L=S.bracketInfo.bracketText,R=_.has(L)?_.get(L):0;if(R-=1,_.set(L,Math.max(0,R)),R<0){let Z=p.get(L);if(Z){let Y=Z.shift();if(Z.size===0)p.delete(L);let Q=t.fromPositions(S.range.getEndPosition(),Y.getStartPosition()),ee=t.fromPositions(S.range.getStartPosition(),Y.getEndPosition());m.push({range:Q}),m.push({range:ee}),Eo._addBracketLeading(h,ee,m)}}}g=S.range.getStartPosition()}}static _addBracketLeading(u,n,h){if(n.startLineNumber===n.endLineNumber)return;let g=n.startLineNumber,p=u.getLineFirstNonWhitespaceColumn(g);if(p!==0&&p!==n.startColumn)h.push({range:t.fromPositions(new s(g,p),n.getEndPosition())}),h.push({range:t.fromPositions(new s(g,1),n.getEndPosition())});let m=g-1;if(m>0){let _=u.getLineFirstNonWhitespaceColumn(m);if(_===n.startColumn&&_!==u.getLineLastNonWhitespaceColumn(m))h.push({range:t.fromPositions(new s(m,_),n.getEndPosition())}),h.push({range:t.fromPositions(new s(m,1),n.getEndPosition())})}}}class W_{constructor(u=!0){this.selectSubwords=u}provideSelectionRanges(u,n){let h=[];for(let g of n){let p=[];if(h.push(p),this.selectSubwords)this._addInWordRanges(p,u,g);this._addWordRanges(p,u,g),this._addWhitespaceLine(p,u,g),p.push({range:u.getFullModelRange()})}return h}_addInWordRanges(u,n,h){let g=n.getWordAtPosition(h);if(!g)return;let{word:p,startColumn:m}=g,_=h.column-m,v=_,S=_,C=0;for(;v>=0;v--){let L=p.charCodeAt(v);if(v!==_&&(L===95||L===45))break;else if(nu(L)&&wl(C))break;C=L}v+=1;for(;S<p.length;S++){let L=p.charCodeAt(S);if(wl(L)&&nu(C))break;else if(L===95||L===45)break;C=L}if(v<S)u.push({range:new t(h.lineNumber,m+v,h.lineNumber,m+S)})}_addWordRanges(u,n,h){let g=n.getWordAtPosition(h);if(g)u.push({range:new t(h.lineNumber,g.startColumn,h.lineNumber,g.endColumn)})}_addWhitespaceLine(u,n,h){if(n.getLineLength(h.lineNumber)>0&&n.getLineFirstNonWhitespaceColumn(h.lineNumber)===0&&n.getLineLastNonWhitespaceColumn(h.lineNumber)===0)u.push({range:new t(h.lineNumber,1,h.lineNumber,n.getLineMaxColumn(h.lineNumber))})}}var G2=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Z2=function(u,n){return function(h,g){n(h,g,u)}},B_;class V_{constructor(u,n){this.index=u,this.ranges=n}mov(u){let n=this.index+(u?1:-1);if(n<0||n>=this.ranges.length)return this;let h=new V_(n,this.ranges);if(h.ranges[n].equalsRange(this.ranges[this.index]))return h.mov(u);return h}}var Wl=class u{static{B_=this}static{this.ID="editor.contrib.smartSelectController"}static get(n){return n.getContribution(B_.ID)}constructor(n,h){this._editor=n,this._languageFeaturesService=h,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(n){if(!this._editor.hasModel())return;let h=this._editor.getSelections(),g=this._editor.getModel();if(!this._state)await ox(this._languageFeaturesService.selectionRangeProvider,g,h.map((m)=>m.getPosition()),this._editor.getOption(129),ye.None).then((m)=>{if(!qn(m)||m.length!==h.length)return;if(!this._editor.hasModel()||!ot(this._editor.getSelections(),h,(_,v)=>_.equalsSelection(v)))return;for(let _=0;_<m.length;_++)m[_]=m[_].filter((v)=>v.containsPosition(h[_].getStartPosition())&&v.containsPosition(h[_].getEndPosition())),m[_].unshift(h[_]);this._state=m.map((_)=>new V_(0,_)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{if(!this._ignoreSelection)this._selectionListener?.dispose(),this._state=void 0})});if(!this._state)return;this._state=this._state.map((m)=>m.mov(n));let p=this._state.map((m)=>F.fromPositions(m.ranges[m.index].getStartPosition(),m.ranges[m.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(p)}finally{this._ignoreSelection=!1}}};Wl=B_=G2([Z2(1,z)],Wl);class z_ extends U{constructor(u,n){super(n);this._forward=u}async run(u,n){let h=Wl.get(n);if(h)await h.run(this._forward)}}class tx extends z_{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:b(1469,"Expand Selection"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"1_basic",title:e(1467,"&&Expand Selection"),order:2}})}}Le.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class ix extends z_{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:b(1470,"Shrink Selection"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:l.MenubarSelectionMenu,group:"1_basic",title:e(1468,"&&Shrink Selection"),order:3}})}}fe(Wl.ID,Wl,4);O(tx);O(ix);async function ox(u,n,h,g,p){let m=u.all(n).concat(new W_(g.selectSubwords));if(m.length===1)m.unshift(new Eo);let _=[],v=[];for(let S of m)_.push(Promise.resolve(S.provideSelectionRanges(n,h,p)).then((C)=>{if(qn(C)&&C.length===h.length)for(let L=0;L<h.length;L++){if(!v[L])v[L]=[];for(let R of C[L])if(t.isIRange(R.range)&&t.containsPosition(R.range,h[L]))v[L].push(t.lift(R.range))}},vt));return await Promise.all(_),v.map((S)=>{if(S.length===0)return[];S.sort((Z,Y)=>{if(s.isBefore(Z.getStartPosition(),Y.getStartPosition()))return 1;else if(s.isBefore(Y.getStartPosition(),Z.getStartPosition()))return-1;else if(s.isBefore(Z.getEndPosition(),Y.getEndPosition()))return-1;else if(s.isBefore(Y.getEndPosition(),Z.getEndPosition()))return 1;else return 0});let C=[],L;for(let Z of S)if(!L||t.containsRange(Z,L)&&!t.equalsRange(Z,L))C.push(Z),L=Z;if(!g.selectLeadingAndTrailingWhitespace)return C;let R=[C[0]];for(let Z=1;Z<C.length;Z++){let Y=C[Z-1],Q=C[Z];if(Q.startLineNumber!==Y.startLineNumber||Q.endLineNumber!==Y.endLineNumber){let ee=new t(Y.startLineNumber,n.getLineFirstNonWhitespaceColumn(Y.startLineNumber),Y.endLineNumber,n.getLineLastNonWhitespaceColumn(Y.endLineNumber));if(ee.containsRange(Y)&&!ee.equalsRange(Y)&&Q.containsRange(ee)&&!Q.equalsRange(ee))R.push(ee);let oe=new t(Y.startLineNumber,1,Y.endLineNumber,n.getLineMaxColumn(Y.endLineNumber));if(oe.containsRange(Y)&&!oe.equalsRange(ee)&&Q.containsRange(oe)&&!Q.equalsRange(oe))R.push(oe)}R.push(Q)}return R})}Le.registerCommand("_executeSelectionRangeProvider",async function(u,...n){let[h,g]=n;Fe(q.isUri(h)),Fe(xM(g,(_)=>s.isIPosition(_)));let p=u.get(z).selectionRangeProvider,m=await u.get(Rn).createModelReference(h);try{return ox(p,m.object.textEditorModel,g.map(s.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},ye.None)}finally{m.dispose()}});class $d extends en{constructor(u){super(u);this._inSelectionMode=u.inSelectionMode,this._wordNavigationType=u.wordNavigationType}runEditorCommand(u,n,h){if(!n.hasModel())return;let g=Qr(n.getOption(148),n.getOption(147)),p=n.getModel(),m=n.getSelections(),_=m.length>1,v=m.map((S)=>{let C=new s(S.positionLineNumber,S.positionColumn),L=this._move(g,p,C,this._wordNavigationType,_);return this._moveTo(S,L,this._inSelectionMode)});if(p.pushStackElement(),n._getViewModel().setCursorStates("moveWordCommand",3,v.map((S)=>et.fromModelSelection(S))),v.length===1){let S=new s(v[0].positionLineNumber,v[0].positionColumn);n.revealPosition(S,0)}}_moveTo(u,n,h){if(h)return new F(u.selectionStartLineNumber,u.selectionStartColumn,n.lineNumber,n.column);else return new F(n.lineNumber,n.column,n.lineNumber,n.column)}}class Wr extends $d{_move(u,n,h,g,p){return Nt.moveWordLeft(u,n,h,g,p)}}class Br extends $d{_move(u,n,h,g,p){return Nt.moveWordRight(u,n,h,g)}}class nx extends Wr{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class rx extends Wr{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class sx extends Wr{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:T.and(r.textInputFocus,T.and(Vh,M0)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}class ax extends Wr{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class dx extends Wr{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class cx extends Wr{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:T.and(r.textInputFocus,T.and(Vh,M0)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class lx extends Wr{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(u,n,h,g,p){return super._move(Qr(ho.wordSeparators.defaultValue,u.intlSegmenterLocales),n,h,g,p)}}class hx extends Wr{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(u,n,h,g,p){return super._move(Qr(ho.wordSeparators.defaultValue,u.intlSegmenterLocales),n,h,g,p)}}class ux extends Br{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class gx extends Br{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:T.and(r.textInputFocus,T.and(Vh,M0)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}class px extends Br{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class mx extends Br{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class fx extends Br{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:T.and(r.textInputFocus,T.and(Vh,M0)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class _x extends Br{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class bx extends Br{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(u,n,h,g,p){return super._move(Qr(ho.wordSeparators.defaultValue,u.intlSegmenterLocales),n,h,g,p)}}class vx extends Br{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(u,n,h,g,p){return super._move(Qr(ho.wordSeparators.defaultValue,u.intlSegmenterLocales),n,h,g,p)}}class Gd extends en{constructor(u){super({canTriggerInlineEdits:!0,...u});this._whitespaceHeuristics=u.whitespaceHeuristics,this._wordNavigationType=u.wordNavigationType}runEditorCommand(u,n,h){let g=u?.get(ht);if(!n.hasModel()||!g)return;let p=Qr(n.getOption(148),n.getOption(147)),m=n.getModel(),_=n.getSelections(),v=n.getOption(10),S=n.getOption(15),C=g.getLanguageConfiguration(m.getLanguageId()).getAutoClosingPairs(),L=n._getViewModel(),R=_.map((Z)=>{let Y=this._delete({wordSeparators:p,model:m,selection:Z,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:n.getOption(13),autoClosingBrackets:v,autoClosingQuotes:S,autoClosingPairs:C,autoClosedCharacters:L.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Ti(Y,"")});n.pushUndoStop(),n.executeCommands(this.id,R),n.pushUndoStop()}}class Ug extends Gd{_delete(u,n){let h=Nt.deleteWordLeft(u,n);if(h)return h;return new t(1,1,1,1)}}class qg extends Gd{_delete(u,n){let h=Nt.deleteWordRight(u,n);if(h)return h;let g=u.model.getLineCount(),p=u.model.getLineMaxColumn(g);return new t(g,p,g,p)}}class wx extends Ug{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:r.writable})}}class Sx extends Ug{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:r.writable})}}class Cx extends Ug{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class yx extends qg{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:r.writable})}}class xx extends qg{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:r.writable})}}class Ix extends qg{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class Lx extends U{constructor(){super({id:"deleteInsideWord",precondition:r.writable,label:b(1650,"Delete Word"),metadata:{description:b(1651,"Delete the word at the cursor"),args:[{name:"args",schema:{type:"object",properties:{onlyWord:{type:"boolean",default:!1,description:e(1649,"Delete only the word and leave surrounding whitespace")}}}}]}})}run(u,n,h){if(!n.hasModel())return;let g=!!(h&&typeof h==="object"&&h.onlyWord),p=Qr(n.getOption(148),n.getOption(147)),m=n.getModel(),v=n.getSelections().map((S)=>{let C=Nt.deleteInsideWord(p,m,S,g);return new Ti(C,"")});n.pushUndoStop(),n.executeCommands(this.id,v),n.pushUndoStop()}}K(new nx);K(new rx);K(new sx);K(new ax);K(new dx);K(new cx);K(new ux);K(new gx);K(new px);K(new mx);K(new fx);K(new _x);K(new lx);K(new hx);K(new bx);K(new vx);K(new wx);K(new Sx);K(new Cx);K(new yx);K(new xx);K(new Ix);O(Lx);class kx extends Gd{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(u,n){let h=ly.deleteWordPartLeft(u);if(h)return h;return new t(1,1,1,1)}}class Ex extends Gd{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(u,n){let h=ly.deleteWordPartRight(u);if(h)return h;let g=u.model.getLineCount(),p=u.model.getLineMaxColumn(g);return new t(g,p,g,p)}}class K_ extends $d{_move(u,n,h,g,p){return ly.moveWordPartLeft(u,n,h,p)}}class Dx extends K_{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Le.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class Tx extends K_{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Le.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class U_ extends $d{_move(u,n,h,g,p){return ly.moveWordPartRight(u,n,h)}}class Rx extends U_{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class Nx extends U_{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}K(new kx);K(new Ex);K(new Dx);K(new Tx);K(new Rx);K(new Nx);var X2={[0]:" ",[1]:"u",[2]:"r"};var Zd=16777215;class jg{constructor(u){let n=Math.ceil(u/32);this._states=new Uint32Array(n)}get(u){let n=u/32|0,h=u%32;return(this._states[n]&1<<h)!==0}set(u,n){let h=u/32|0,g=u%32,p=this._states[h];if(n)this._states[h]=p|1<<g;else this._states[h]=p&~(1<<g)}}class Ri{constructor(u,n,h){if(u.length!==n.length||u.length>65535)throw Error("invalid startIndexes or endIndexes size");this._startIndexes=u,this._endIndexes=n,this._collapseStates=new jg(u.length),this._userDefinedStates=new jg(u.length),this._recoveredStates=new jg(u.length),this._types=h,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let u=[],n=(h,g)=>{let p=u[u.length-1];return this.getStartLineNumber(p)<=h&&this.getEndLineNumber(p)>=g};for(let h=0,g=this._startIndexes.length;h<g;h++){let p=this._startIndexes[h],m=this._endIndexes[h];if(p>16777215||m>16777215)throw Error("startLineNumber or endLineNumber must not exceed 16777215");while(u.length>0&&!n(p,m))u.pop();let _=u.length>0?u[u.length-1]:-1;u.push(h),this._startIndexes[h]=p+((_&255)<<24),this._endIndexes[h]=m+((_&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(u){return this._startIndexes[u]&16777215}getEndLineNumber(u){return this._endIndexes[u]&16777215}getType(u){return this._types?this._types[u]:void 0}hasTypes(){return!!this._types}isCollapsed(u){return this._collapseStates.get(u)}setCollapsed(u,n){this._collapseStates.set(u,n)}isUserDefined(u){return this._userDefinedStates.get(u)}setUserDefined(u,n){return this._userDefinedStates.set(u,n)}isRecovered(u){return this._recoveredStates.get(u)}setRecovered(u,n){return this._recoveredStates.set(u,n)}getSource(u){if(this.isUserDefined(u))return 1;else if(this.isRecovered(u))return 2;return 0}setSource(u,n){if(n===1)this.setUserDefined(u,!0),this.setRecovered(u,!1);else if(n===2)this.setUserDefined(u,!1),this.setRecovered(u,!0);else this.setUserDefined(u,!1),this.setRecovered(u,!1)}setCollapsedAllOfType(u,n){let h=!1;if(this._types){for(let g=0;g<this._types.length;g++)if(this._types[g]===u)this.setCollapsed(g,n),h=!0}return h}toRegion(u){return new Mx(this,u)}getParentIndex(u){this.ensureParentIndices();let n=((this._startIndexes[u]&4278190080)>>>24)+((this._endIndexes[u]&4278190080)>>>16);if(n===65535)return-1;return n}contains(u,n){return this.getStartLineNumber(u)<=n&&this.getEndLineNumber(u)>=n}findIndex(u){let n=0,h=this._startIndexes.length;if(h===0)return-1;while(n<h){let g=Math.floor((n+h)/2);if(u<this.getStartLineNumber(g))h=g;else n=g+1}return n-1}findRange(u){let n=this.findIndex(u);if(n>=0){if(this.getEndLineNumber(n)>=u)return n;n=this.getParentIndex(n);while(n!==-1){if(this.contains(n,u))return n;n=this.getParentIndex(n)}}return-1}toString(){let u=[];for(let n=0;n<this.length;n++)u[n]=`[${X2[this.getSource(n)]}${this.isCollapsed(n)?"+":"-"}] ${this.getStartLineNumber(n)}/${this.getEndLineNumber(n)}`;return u.join(", ")}toFoldRange(u){return{startLineNumber:this._startIndexes[u]&16777215,endLineNumber:this._endIndexes[u]&16777215,type:this._types?this._types[u]:void 0,isCollapsed:this.isCollapsed(u),source:this.getSource(u)}}static fromFoldRanges(u){let n=u.length,h=new Uint32Array(n),g=new Uint32Array(n),p=[],m=!1;for(let v=0;v<n;v++){let S=u[v];if(h[v]=S.startLineNumber,g[v]=S.endLineNumber,p.push(S.type),S.type)m=!0}if(!m)p=void 0;let _=new Ri(h,g,p);for(let v=0;v<n;v++){if(u[v].isCollapsed)_.setCollapsed(v,!0);_.setSource(v,u[v].source)}return _}static sanitizeAndMerge(u,n,h,g){h=h??Number.MAX_VALUE;let p=(ee,oe)=>Array.isArray(ee)?(ne)=>ne<oe?ee[ne]:void 0:(ne)=>ne<oe?ee.toFoldRange(ne):void 0,m=p(u,u.length),_=p(n,n.length),v=0,S=0,C=m(0),L=_(0),R=[],Z,Y=0,Q=[];while(C||L){let ee=void 0;if(L&&(!C||C.startLineNumber>=L.startLineNumber)){if(C&&C.startLineNumber===L.startLineNumber){if(L.source===1)ee=L;else ee=C,ee.isCollapsed=L.isCollapsed&&(C.endLineNumber===L.endLineNumber||!g?.startsInside(C.startLineNumber+1,C.endLineNumber+1)),ee.source=0;C=m(++v)}else if(ee=L,L.isCollapsed&&L.source===0)ee.source=2;L=_(++S)}else{let oe=S,ne=L;while(!0){if(!ne||ne.startLineNumber>C.endLineNumber){ee=C;break}if(ne.source===1&&ne.endLineNumber>C.endLineNumber)break;ne=_(++oe)}C=m(++v)}if(ee){while(Z&&Z.endLineNumber<ee.startLineNumber)Z=R.pop();if(ee.endLineNumber>ee.startLineNumber&&ee.startLineNumber>Y&&ee.endLineNumber<=h&&(!Z||Z.endLineNumber>=ee.endLineNumber)){if(Q.push(ee),Y=ee.startLineNumber,Z)R.push(Z);Z=ee}}}return Q}}class Mx{constructor(u,n){this.ranges=u,this.index=n}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(u){return u.startLineNumber<=this.startLineNumber&&u.endLineNumber>=this.endLineNumber}containsLine(u){return this.startLineNumber<=u&&u<=this.endLineNumber}}class q_{get regions(){return this._regions}get textModel(){return this._textModel}constructor(u,n){this._updateEventEmitter=new o,this.onDidChange=this._updateEventEmitter.event,this._textModel=u,this._decorationProvider=n,this._regions=new Ri(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(u){if(!u.length)return;u=u.sort((h,g)=>h.regionIndex-g.regionIndex);let n={};this._decorationProvider.changeDecorations((h)=>{let g=0,p=-1,m=-1,_=(v)=>{while(g<v){let S=this._regions.getEndLineNumber(g),C=this._regions.isCollapsed(g);if(S<=p){let L=this.regions.getSource(g)!==0;h.changeDecorationOptions(this._editorDecorationIds[g],this._decorationProvider.getDecorationOption(C,S<=m,L))}if(C&&S>m)m=S;g++}};for(let v of u){let S=v.regionIndex,C=this._editorDecorationIds[S];if(C&&!n[C]){n[C]=!0,_(S);let L=!this._regions.isCollapsed(S);this._regions.setCollapsed(S,L),p=Math.max(p,this._regions.getEndLineNumber(S))}}_(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:u})}removeManualRanges(u){let n=new Set,h=!1;for(let m of u)if(t.isEmpty(m)){let _=this._regions.findRange(m.startLineNumber);while(_!==-1&&this._regions.getSource(_)===0)_=this._regions.getParentIndex(_);if(_===-1)h=!0;else n.add(_)}let g=[],p=(m)=>{for(let _ of u)if(!t.isEmpty(_)&&!(_.startLineNumber>m.endLineNumber||m.startLineNumber>_.endLineNumber))return!0;return!1};for(let m=0;m<this._regions.length;m++){let _=this._regions.toFoldRange(m);if(_.source===0||!h&&!n.has(m)&&!p(_))g.push(_)}this.updatePost(Ri.fromFoldRanges(g))}update(u,n){let h=this._currentFoldedOrManualRanges(n),g=Ri.sanitizeAndMerge(u,h,this._textModel.getLineCount(),n);this.updatePost(Ri.fromFoldRanges(g))}updatePost(u){let n=[],h=-1;for(let g=0,p=u.length;g<p;g++){let m=u.getStartLineNumber(g),_=u.getEndLineNumber(g),v=u.isCollapsed(g),S=u.getSource(g)!==0,C={startLineNumber:m,startColumn:this._textModel.getLineMaxColumn(m),endLineNumber:_,endColumn:this._textModel.getLineMaxColumn(_)+1};if(n.push({range:C,options:this._decorationProvider.getDecorationOption(v,_<=h,S)}),v&&_>h)h=_}this._decorationProvider.changeDecorations((g)=>this._editorDecorationIds=g.deltaDecorations(this._editorDecorationIds,n)),this._regions=u,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(u){let n=[];for(let h=0,g=this._regions.length;h<g;h++){let p=this.regions.isCollapsed(h),m=this.regions.getSource(h);if(p||m!==0){let _=this._regions.toFoldRange(h),v=this._textModel.getDecorationRange(this._editorDecorationIds[h]);if(v){if(p&&u?.startsInside(v.startLineNumber+1,v.endLineNumber))p=!1;n.push({startLineNumber:v.startLineNumber,endLineNumber:v.endLineNumber,type:_.type,isCollapsed:p,source:m})}}}return n}getMemento(){let u=this._currentFoldedOrManualRanges(),n=[],h=this._textModel.getLineCount();for(let g=0,p=u.length;g<p;g++){let m=u[g];if(m.startLineNumber>=m.endLineNumber||m.startLineNumber<1||m.endLineNumber>h)continue;let _=this._getLinesChecksum(m.startLineNumber+1,m.endLineNumber);n.push({startLineNumber:m.startLineNumber,endLineNumber:m.endLineNumber,isCollapsed:m.isCollapsed,source:m.source,checksum:_})}return n.length>0?n:void 0}applyMemento(u){if(!Array.isArray(u))return;let n=[],h=this._textModel.getLineCount();for(let p of u){if(p.startLineNumber>=p.endLineNumber||p.startLineNumber<1||p.endLineNumber>h)continue;let m=this._getLinesChecksum(p.startLineNumber+1,p.endLineNumber);if(!p.checksum||m===p.checksum)n.push({startLineNumber:p.startLineNumber,endLineNumber:p.endLineNumber,type:void 0,isCollapsed:p.isCollapsed??!0,source:p.source??0})}let g=Ri.sanitizeAndMerge(this._regions,n,h);this.updatePost(Ri.fromFoldRanges(g))}_getLinesChecksum(u,n){return ou(this._textModel.getLineContent(u)+this._textModel.getLineContent(n))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(u,n){let h=[];if(this._regions){let g=this._regions.findRange(u),p=1;while(g>=0){let m=this._regions.toRegion(g);if(!n||n(m,p))h.push(m);p++,g=m.parentIndex}}return h}getRegionAtLine(u){if(this._regions){let n=this._regions.findRange(u);if(n>=0)return this._regions.toRegion(n)}return null}getRegionsInside(u,n){let h=[],g=u?u.regionIndex+1:0,p=u?u.endLineNumber:Number.MAX_VALUE;if(n&&n.length===2){let m=[];for(let _=g,v=this._regions.length;_<v;_++){let S=this._regions.toRegion(_);if(this._regions.getStartLineNumber(_)<p){while(m.length>0&&!S.containedBy(m[m.length-1]))m.pop();if(m.push(S),n(S,m.length))h.push(S)}else break}}else for(let m=g,_=this._regions.length;m<_;m++){let v=this._regions.toRegion(m);if(this._regions.getStartLineNumber(m)<p){if(!n||n(v))h.push(v)}else break}return h}}function Bl(u,n,h){let g=[];for(let p of h){let m=u.getRegionAtLine(p);if(m){let _=!m.isCollapsed;if(g.push(m),n>1){let v=u.getRegionsInside(m,(S,C)=>S.isCollapsed!==_&&C<n);g.push(...v)}}}u.toggleCollapseState(g)}function Ma(u,n,h=Number.MAX_VALUE,g){let p=[];if(g&&g.length>0)for(let m of g){let _=u.getRegionAtLine(m);if(_){if(_.isCollapsed!==n)p.push(_);if(h>1){let v=u.getRegionsInside(_,(S,C)=>S.isCollapsed!==n&&C<h);p.push(...v)}}}else{let m=u.getRegionsInside(null,(_,v)=>_.isCollapsed!==n&&v<h);p.push(...m)}u.toggleCollapseState(p)}function j_(u,n,h,g){let p=[];for(let m of g){let _=u.getAllRegionsAtLine(m,(v,S)=>v.isCollapsed!==n&&S<=h);p.push(..._)}u.toggleCollapseState(p)}function Ox(u,n,h){let g=[];for(let p of h){let m=u.getAllRegionsAtLine(p,(_)=>_.isCollapsed!==n);if(m.length>0)g.push(m[0])}u.toggleCollapseState(g)}function Px(u,n,h,g){let p=(_,v)=>v===n&&_.isCollapsed!==h&&!g.some((S)=>_.containsLine(S)),m=u.getRegionsInside(null,p);u.toggleCollapseState(m)}function $_(u,n,h){let g=[];for(let _ of h){let v=u.getAllRegionsAtLine(_,void 0);if(v.length>0)g.push(v[0])}let p=(_)=>g.every((v)=>!v.containedBy(_)&&!_.containedBy(v))&&_.isCollapsed!==n,m=u.getRegionsInside(null,p);u.toggleCollapseState(m)}function Gg(u,n,h){let{textModel:g,regions:p}=u,m=[];for(let _=p.length-1;_>=0;_--)if(h!==p.isCollapsed(_)){let v=p.getStartLineNumber(_);if(n.test(g.getLineContent(v)))m.push(p.toRegion(_))}u.toggleCollapseState(m)}function Zg(u,n,h){let g=u.regions,p=[];for(let m=g.length-1;m>=0;m--)if(h!==g.isCollapsed(m)&&n===g.getType(m))p.push(g.toRegion(m));u.toggleCollapseState(p)}function Ax(u,n){let h=null,g=n.getRegionAtLine(u);if(g!==null){if(h=g.startLineNumber,u===h){let p=g.parentIndex;if(p!==-1)h=n.regions.getStartLineNumber(p);else h=null}}return h}function Fx(u,n){let h=n.getRegionAtLine(u);if(h!==null&&h.startLineNumber===u)if(u!==h.startLineNumber)return h.startLineNumber;else{let g=h.parentIndex,p=0;if(g!==-1)p=n.regions.getStartLineNumber(h.parentIndex);while(h!==null)if(h.regionIndex>0){if(h=n.regions.toRegion(h.regionIndex-1),h.startLineNumber<=p)return null;else if(h.parentIndex===g)return h.startLineNumber}else return null}else if(n.regions.length>0){h=n.regions.toRegion(n.regions.length-1);while(h!==null){if(h.startLineNumber<u)return h.startLineNumber;if(h.regionIndex>0)h=n.regions.toRegion(h.regionIndex-1);else h=null}}return null}function Hx(u,n){let h=n.getRegionAtLine(u);if(h!==null&&h.startLineNumber===u){let g=h.parentIndex,p=0;if(g!==-1)p=n.regions.getEndLineNumber(h.parentIndex);else if(n.regions.length===0)return null;else p=n.regions.getEndLineNumber(n.regions.length-1);while(h!==null)if(h.regionIndex<n.regions.length){if(h=n.regions.toRegion(h.regionIndex+1),h.startLineNumber>=p)return null;else if(h.parentIndex===g)return h.startLineNumber}else return null}else if(n.regions.length>0){h=n.regions.toRegion(0);while(h!==null){if(h.startLineNumber>u)return h.startLineNumber;if(h.regionIndex<n.regions.length)h=n.regions.toRegion(h.regionIndex+1);else h=null}}return null}class G_{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(u){if(this._updateEventEmitter=new o,this._hasLineChanges=!1,this._foldingModel=u,this._foldingModelListener=u.onDidChange((n)=>this.updateHiddenRanges()),this._hiddenRanges=[],u.regions.length)this.updateHiddenRanges()}notifyChangeModelContent(u){if(this._hiddenRanges.length&&!this._hasLineChanges)this._hasLineChanges=u.changes.some((n)=>n.range.endLineNumber!==n.range.startLineNumber||ha(n.text)[0]!==0)}updateHiddenRanges(){let u=!1,n=[],h=0,g=0,p=Number.MAX_VALUE,m=-1,_=this._foldingModel.regions;for(;h<_.length;h++){if(!_.isCollapsed(h))continue;let v=_.getStartLineNumber(h)+1,S=_.getEndLineNumber(h);if(p<=v&&S<=m)continue;if(!u&&g<this._hiddenRanges.length&&this._hiddenRanges[g].startLineNumber===v&&this._hiddenRanges[g].endLineNumber===S)n.push(this._hiddenRanges[g]),g++;else u=!0,n.push(new t(v,1,S,1));p=v,m=S}if(this._hasLineChanges||u||g<this._hiddenRanges.length)this.applyHiddenRanges(n)}applyHiddenRanges(u){this._hiddenRanges=u,this._hasLineChanges=!1,this._updateEventEmitter.fire(u)}hasRanges(){return this._hiddenRanges.length>0}isHidden(u){return Wx(this._hiddenRanges,u)!==null}adjustSelections(u){let n=!1,h=this._foldingModel.textModel,g=null,p=(m)=>{if(!g||!Y2(m,g))g=Wx(this._hiddenRanges,m);if(g)return g.startLineNumber-1;return null};for(let m=0,_=u.length;m<_;m++){let v=u[m],S=p(v.startLineNumber);if(S)v=v.setStartPosition(S,h.getLineMaxColumn(S)),n=!0;let C=p(v.endLineNumber);if(C)v=v.setEndPosition(C,h.getLineMaxColumn(C)),n=!0;u[m]=v}return n}dispose(){if(this.hiddenRanges.length>0)this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges);if(this._foldingModelListener)this._foldingModelListener.dispose(),this._foldingModelListener=null;this._updateEventEmitter.dispose()}}function Y2(u,n){return u>=n.startLineNumber&&u<=n.endLineNumber}function Wx(u,n){let h=Cf(u,(g)=>n<g.startLineNumber)-1;if(h>=0&&u[h].endLineNumber>=n)return u[h];return null}var J2=5000,Q2="indent";class Xd{constructor(u,n,h){this.editorModel=u,this.languageConfigurationService=n,this.foldingRangesLimit=h,this.id=Q2}dispose(){}compute(u){let n=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,h=n&&!!n.offSide,g=n&&n.markers;return Promise.resolve(tT(this.editorModel,h,g,this.foldingRangesLimit))}}class Bx{constructor(u){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=u}insertFirst(u,n,h){if(u>Zd||n>Zd)return;let g=this._length;if(this._startIndexes[g]=u,this._endIndexes[g]=n,this._length++,h<1000)this._indentOccurrences[h]=(this._indentOccurrences[h]||0)+1}toIndentRanges(u){let n=this._foldingRangesLimit.limit;if(this._length<=n){this._foldingRangesLimit.update(this._length,!1);let h=new Uint32Array(this._length),g=new Uint32Array(this._length);for(let p=this._length-1,m=0;p>=0;p--,m++)h[m]=this._startIndexes[p],g[m]=this._endIndexes[p];return new Ri(h,g)}else{this._foldingRangesLimit.update(this._length,n);let h=0,g=this._indentOccurrences.length;for(let v=0;v<this._indentOccurrences.length;v++){let S=this._indentOccurrences[v];if(S){if(S+h>n){g=v;break}h+=S}}let p=u.getOptions().tabSize,m=new Uint32Array(n),_=new Uint32Array(n);for(let v=this._length-1,S=0;v>=0;v--){let C=this._startIndexes[v],L=u.getLineContent(C),R=Eg(L,p);if(R<g||R===g&&h++<n)m[S]=C,_[S]=this._endIndexes[v],S++}return new Ri(m,_)}}}var eT={limit:J2,update:()=>{}};function tT(u,n,h,g=eT){let p=u.getOptions().tabSize,m=new Bx(g),_=void 0,v=void 0,S=void 0;if(h)if(h.start.flags===h.end.flags)_=new RegExp(`(${h.start.source})|(?:${h.end.source})`,h.start.flags);else v=h.start,S=h.end;let C=[],L=u.getLineCount()+1;C.push({indent:-1,endAbove:L,line:L});for(let R=u.getLineCount();R>0;R--){let Z=u.getLineContent(R),Y=Eg(Z,p),Q=C[C.length-1];if(Y===-1){if(n)Q.endAbove=R;continue}let ee=!1,oe=!1,ne;if(_){if(_.lastIndex=0,ne=_.exec(Z))ee=!!ne[1],oe=!ee}else{if(v)v.lastIndex=0,ee=v.test(Z);if(!ee&&S)S.lastIndex=0,oe=S.test(Z)}if(ee||oe)if(ee){let de=C.length-1;while(de>0&&C[de].indent!==-2)de--;if(de>0){C.length=de+1,Q=C[de],m.insertFirst(R,Q.line,Y),Q.line=R,Q.indent=Y,Q.endAbove=R;continue}}else{C.push({indent:-2,endAbove:R,line:R});continue}if(Q.indent>Y){do C.pop(),Q=C[C.length-1];while(Q.indent>Y);let de=Q.endAbove-1;if(de-R>=1)m.insertFirst(R,de,Y)}if(Q.indent===Y)Q.endAbove=R;else C.push({indent:Y,endAbove:R,line:R})}return m.toIndentRanges(u)}var iT=a("editor.foldBackground",{light:be(ud,0.3),dark:be(ud,0.3),hcDark:null,hcLight:null},e(1060,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);a("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},e(1061,"Color of the collapsed text after the first line of a folded range."));a("editorGutter.foldingControlForeground",mg,e(1062,"Color of the folding control in the editor gutter."));var Vl=Mt("folding-expanded",x.chevronDown,e(1063,"Icon for expanded ranges in the editor glyph margin.")),zl=Mt("folding-collapsed",x.chevronRight,e(1064,"Icon for collapsed ranges in the editor glyph margin.")),Vx=Mt("folding-manual-collapsed",zl,e(1065,"Icon for manually collapsed ranges in the editor glyph margin.")),zx=Mt("folding-manual-expanded",Vl,e(1066,"Icon for manually expanded ranges in the editor glyph margin.")),Z_={color:bn(iT),position:1},Yd=e(1067,"Click to expand the range."),Xg=e(1068,"Click to collapse the range.");class io{static{this.COLLAPSED_VISUAL_DECORATION=ue.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Yd,firstLineDecorationClassName:J.asClassName(zl)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ue.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Z_,isWholeLine:!0,linesDecorationsTooltip:Yd,firstLineDecorationClassName:J.asClassName(zl)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=ue.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Yd,firstLineDecorationClassName:J.asClassName(Vx)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ue.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Z_,isWholeLine:!0,linesDecorationsTooltip:Yd,firstLineDecorationClassName:J.asClassName(Vx)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ue.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Yd})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ue.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Z_,isWholeLine:!0,linesDecorationsTooltip:Yd})}static{this.EXPANDED_VISUAL_DECORATION=ue.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+J.asClassName(Vl),linesDecorationsTooltip:Xg})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ue.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:J.asClassName(Vl),linesDecorationsTooltip:Xg})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=ue.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+J.asClassName(zx),linesDecorationsTooltip:Xg})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ue.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:J.asClassName(zx),linesDecorationsTooltip:Xg})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ue.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=ue.register({description:"folding-hidden-range-decoration",stickiness:1})}constructor(u){this.editor=u,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(u,n,h){if(n)return io.HIDDEN_RANGE_DECORATION;if(this.showFoldingControls==="never"){if(u)return this.showFoldingHighlights?io.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:io.NO_CONTROLS_COLLAPSED_RANGE_DECORATION;return io.NO_CONTROLS_EXPANDED_RANGE_DECORATION}if(u)return h?this.showFoldingHighlights?io.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:io.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?io.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:io.COLLAPSED_VISUAL_DECORATION;else if(this.showFoldingControls==="mouseover")return h?io.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:io.EXPANDED_AUTO_HIDE_VISUAL_DECORATION;else return h?io.MANUALLY_EXPANDED_VISUAL_DECORATION:io.EXPANDED_VISUAL_DECORATION}changeDecorations(u){return this.editor.changeDecorations(u)}removeDecorations(u){this.editor.removeDecorations(u)}}var oT={},nT="syntax";class Jd{constructor(u,n,h,g,p){if(this.editorModel=u,this.providers=n,this.handleFoldingRangesChange=h,this.foldingRangesLimit=g,this.fallbackRangeProvider=p,this.id=nT,this.disposables=new d,p)this.disposables.add(p);for(let m of n)if(typeof m.onDidChange==="function")this.disposables.add(m.onDidChange(h))}compute(u){return rT(this.providers,this.editorModel,u).then((n)=>{if(this.editorModel.isDisposed())return null;if(n)return sT(n,this.foldingRangesLimit);return this.fallbackRangeProvider?.compute(u)??null})}dispose(){this.disposables.dispose()}}function rT(u,n,h){let g=null,p=u.map((m,_)=>Promise.resolve(m.provideFoldingRanges(n,oT,h)).then((v)=>{if(h.isCancellationRequested)return;if(Array.isArray(v)){if(!Array.isArray(g))g=[];let S=n.getLineCount();for(let C of v)if(C.start>0&&C.end>C.start&&C.end<=S)g.push({start:C.start,end:C.end,rank:_,kind:C.kind})}},vt));return Promise.all(p).then((m)=>g)}class Kx{constructor(u){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=u}add(u,n,h,g){if(u>Zd||n>Zd)return;let p=this._length;if(this._startIndexes[p]=u,this._endIndexes[p]=n,this._nestingLevels[p]=g,this._types[p]=h,this._length++,g<30)this._nestingLevelCounts[g]=(this._nestingLevelCounts[g]||0)+1}toIndentRanges(){let u=this._foldingRangesLimit.limit;if(this._length<=u){this._foldingRangesLimit.update(this._length,!1);let n=new Uint32Array(this._length),h=new Uint32Array(this._length);for(let g=0;g<this._length;g++)n[g]=this._startIndexes[g],h[g]=this._endIndexes[g];return new Ri(n,h,this._types)}else{this._foldingRangesLimit.update(this._length,u);let n=0,h=this._nestingLevelCounts.length;for(let _=0;_<this._nestingLevelCounts.length;_++){let v=this._nestingLevelCounts[_];if(v){if(v+n>u){h=_;break}n+=v}}let g=new Uint32Array(u),p=new Uint32Array(u),m=[];for(let _=0,v=0;_<this._length;_++){let S=this._nestingLevels[_];if(S<h||S===h&&n++<u)g[v]=this._startIndexes[_],p[v]=this._endIndexes[_],m[v]=this._types[_],v++}return new Ri(g,p,m)}}}function sT(u,n){let h=u.sort((_,v)=>{let S=_.start-v.start;if(S===0)S=_.rank-v.rank;return S}),g=new Kx(n),p=void 0,m=[];for(let _ of h)if(!p)p=_,g.add(_.start,_.end,_.kind&&_.kind.value,m.length);else if(_.start>p.start)if(_.end<=p.end)m.push(p),p=_,g.add(_.start,_.end,_.kind&&_.kind.value,m.length);else{if(_.start>p.end){do p=m.pop();while(p&&_.start>p.end);if(p)m.push(p);p=_}g.add(_.start,_.end,_.kind&&_.kind.value,m.length)}return g.toIndentRanges()}var aT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Kl=function(u,n){return function(h,g){n(h,g,u)}},Ul,ti=new M("foldingEnabled",!1),gr=class u extends i{static{Ul=this}static{this.ID="editor.contrib.folding"}static get(n){return n.getContribution(Ul.ID)}static getFoldingRangeProviders(n,h){let g=n.foldingRangeProvider.ordered(h);return Ul._foldingRangeSelector?.(g,h)??g}constructor(n,h,g,p,m,_){super();this.contextKeyService=h,this.languageConfigurationService=g,this.languageFeaturesService=_,this.localToDispose=this._register(new d),this.editor=n,this._foldingLimitReporter=this._register(new Yg(n));let v=this.editor.getOptions();this._isEnabled=v.get(52),this._useFoldingProviders=v.get(53)!=="indentation",this._unfoldOnClickAfterEndOfLine=v.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=v.get(55),this.updateDebounceInfo=m.for(_.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 io(n),this.foldingDecorationProvider.showFoldingControls=v.get(126),this.foldingDecorationProvider.showFoldingHighlights=v.get(54),this.foldingEnabled=ti.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration((S)=>{if(S.hasChanged(52))this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged();if(S.hasChanged(56))this.onModelChanged();if(S.hasChanged(126)||S.hasChanged(54)){let C=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=C.get(126),this.foldingDecorationProvider.showFoldingHighlights=C.get(54),this.triggerFoldingModelChanged()}if(S.hasChanged(53))this._useFoldingProviders=this.editor.getOptions().get(53)!=="indentation",this.onFoldingStrategyChanged();if(S.hasChanged(57))this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57);if(S.hasChanged(55))this._foldingImportsByDefault=this.editor.getOptions().get(55)})),this.onModelChanged()}saveViewState(){let n=this.editor.getModel();if(!n||!this._isEnabled||n.isTooLargeForTokenization())return{};if(this.foldingModel){let h=this.foldingModel.getMemento(),g=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:h,lineCount:n.getLineCount(),provider:g,foldedImports:this._currentModelHasFoldedImports}}return}restoreViewState(n){let h=this.editor.getModel();if(!h||!this._isEnabled||h.isTooLargeForTokenization()||!this.hiddenRangeModel)return;if(!n)return;if(this._currentModelHasFoldedImports=!!n.foldedImports,n.collapsedRegions&&n.collapsedRegions.length>0&&this.foldingModel){this._restoringViewState=!0;try{this.foldingModel.applyMemento(n.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let n=this.editor.getModel();if(!this._isEnabled||!n||n.isTooLargeForTokenization())return;this._currentModelHasFoldedImports=!1,this.foldingModel=new q_(n,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new G_(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((h)=>this.onHiddenRangesChanges(h))),this.updateScheduler=new qi(this.updateDebounceInfo.get(n)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new ke(()=>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((h)=>this.onDidChangeModelContent(h))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown((h)=>this.onEditorMouseDown(h))),this.localToDispose.add(this.editor.onMouseUp((h)=>this.onEditorMouseUp(h))),this.localToDispose.add({dispose:()=>{if(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(n){if(this.rangeProvider)return this.rangeProvider;let h=new Xd(n,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=h,this._useFoldingProviders&&this.foldingModel){let g=Ul.getFoldingRangeProviders(this.languageFeaturesService,n);if(g.length>0)this.rangeProvider=new Jd(n,g,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,h)}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(n){this.hiddenRangeModel?.notifyChangeModelContent(n),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){if(this.updateScheduler){if(this.foldingRegionPromise)this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null;this.foldingModelPromise=this.updateScheduler.trigger(()=>{let n=this.foldingModel;if(!n)return null;let h=new dn,g=this.getRangeProvider(n.textModel),p=this.foldingRegionPromise=Yt((m)=>g.compute(m));return p.then((m)=>{if(m&&p===this.foldingRegionPromise){let _;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let C=m.setCollapsedAllOfType(fs.Imports.value,!0);if(C)_=is.capture(this.editor),this._currentModelHasFoldedImports=C}let v=this.editor.getSelections();n.update(m,dT(v)),_?.restore(this.editor);let S=this.updateDebounceInfo.update(n.textModel,h.elapsed());if(this.updateScheduler)this.updateScheduler.defaultDelay=S}return n})}).then(void 0,(n)=>(X(n),null))}}onHiddenRangesChanges(n){if(this.hiddenRangeModel&&n.length&&!this._restoringViewState){let h=this.editor.getSelections();if(h){if(this.hiddenRangeModel.adjustSelections(h))this.editor.setSelections(h)}}this.editor.setHiddenAreas(n,this)}onCursorPositionChanged(){if(this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges())this.cursorChangedScheduler.schedule()}revealCursor(){let n=this.getFoldingModel();if(!n)return;n.then((h)=>{if(h){let g=this.editor.getSelections();if(g&&g.length>0){let p=[];for(let m of g){let _=m.selectionStartLineNumber;if(this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(_))p.push(...h.getAllRegionsAtLine(_,(v)=>v.isCollapsed&&_>v.startLineNumber))}if(p.length)h.toggleCollapseState(p),this.reveal(g[0].getPosition())}}}).then(void 0,X)}onEditorMouseDown(n){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!n.target||!n.target.range)return;if(!n.event.leftButton&&!n.event.middleButton)return;let h=n.target.range,g=!1;switch(n.target.type){case 4:{let p=n.target.detail,m=n.target.element.offsetLeft;if(p.offsetX-m<4)return;g=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!n.target.detail.isAfterLines)break}return}case 6:{if(this.hiddenRangeModel.hasRanges()){let p=this.editor.getModel();if(p&&h.startColumn===p.getLineMaxColumn(h.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:h.startLineNumber,iconClicked:g}}onEditorMouseUp(n){let h=this.foldingModel;if(!h||!this.mouseDownInfo||!n.target)return;let g=this.mouseDownInfo.lineNumber,p=this.mouseDownInfo.iconClicked,m=n.target.range;if(!m||m.startLineNumber!==g)return;if(p){if(n.target.type!==4)return}else{let v=this.editor.getModel();if(!v||m.startColumn!==v.getLineMaxColumn(g))return}let _=h.getRegionAtLine(g);if(_&&_.startLineNumber===g){let v=_.isCollapsed;if(p||v){let S=n.event.altKey,C=[];if(S){let L=(Z)=>!Z.containedBy(_)&&!_.containedBy(Z),R=h.getRegionsInside(null,L);for(let Z of R)if(Z.isCollapsed)C.push(Z);if(C.length===0)C=R}else{let L=n.event.middleButton||n.event.shiftKey;if(L){for(let R of h.getRegionsInside(_))if(R.isCollapsed===v)C.push(R)}if(v||!L||C.length===0)C.push(_)}h.toggleCollapseState(C),this.reveal({lineNumber:g,column:1})}}}reveal(n){this.editor.revealPositionInCenterIfOutsideViewport(n,0)}};gr=Ul=aT([Kl(1,G),Kl(2,ht),Kl(3,yt),Kl(4,uo),Kl(5,z)],gr);class Yg extends i{constructor(u){super();this.editor=u,this._onDidChange=this._register(new o),this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(56)}update(u,n){if(u!==this._computed||n!==this._limited)this._computed=u,this._limited=n,this._onDidChange.fire()}}class hi extends U{runEditorCommand(u,n,h){let g=u.get(ht),p=gr.get(n);if(!p)return;let m=p.getFoldingModel();if(m)return this.reportTelemetry(u,n),m.then((_)=>{if(_){this.invoke(p,_,n,h,g);let v=n.getSelection();if(v)p.reveal(v.getStartPosition())}})}getSelectedLines(u){let n=u.getSelections();return n?n.map((h)=>h.startLineNumber):[]}getLineNumbers(u,n){if(u&&u.selectionLines)return u.selectionLines.map((h)=>h+1);return this.getSelectedLines(n)}run(u,n){}}function dT(u){if(!u||u.length===0)return{startsInside:()=>!1};return{startsInside(n,h){for(let g of u){let p=g.startLineNumber;if(p>=n&&p<=h)return!0}return!1}}}function Ux(u){if(!ro(u)){if(!cn(u))return!1;let n=u;if(!ro(n.levels)&&!Ds(n.levels))return!1;if(!ro(n.direction)&&!Ln(n.direction))return!1;if(!ro(n.selectionLines)&&(!Array.isArray(n.selectionLines)||!n.selectionLines.every(Ds)))return!1}return!0}class qx extends hi{constructor(){super({id:"editor.unfold",label:b(1040,"Unfold"),precondition:ti,kbOpts:{kbExpr:r.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:
|
|
22
|
-
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
23
|
-
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
24
|
-
* '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.
|
|
25
|
-
`,constraint:Ux,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(u,n,h,g){let p=g&&g.levels||1,m=this.getLineNumbers(g,h);if(g&&g.direction==="up")j_(n,!1,p,m);else Ma(n,!1,p,m)}}class jx extends hi{constructor(){super({id:"editor.unfoldRecursively",label:b(1041,"Unfold Recursively"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2142),weight:100}})}invoke(u,n,h,g){Ma(n,!1,Number.MAX_VALUE,this.getSelectedLines(h))}}class $x extends hi{constructor(){super({id:"editor.fold",label:b(1042,"Fold"),precondition:ti,kbOpts:{kbExpr:r.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:
|
|
26
|
-
* 'levels': Number of levels to fold.
|
|
27
|
-
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
28
|
-
* '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.
|
|
29
|
-
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
30
|
-
`,constraint:Ux,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(u,n,h,g){let p=this.getLineNumbers(g,h),m=g&&g.levels,_=g&&g.direction;if(typeof m!=="number"&&typeof _!=="string")Ox(n,!0,p);else if(_==="up")j_(n,!0,m||1,p);else Ma(n,!0,m||1,p)}}class Gx extends hi{constructor(){super({id:"editor.toggleFold",label:b(1043,"Toggle Fold"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2090),weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);Bl(n,1,g)}}class Zx extends hi{constructor(){super({id:"editor.foldRecursively",label:b(1044,"Fold Recursively"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2140),weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);Ma(n,!0,Number.MAX_VALUE,g)}}class Xx extends hi{constructor(){super({id:"editor.toggleFoldRecursively",label:b(1045,"Toggle Fold Recursively"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,3114),weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);Bl(n,Number.MAX_VALUE,g)}}class Yx extends hi{constructor(){super({id:"editor.foldAllBlockComments",label:b(1046,"Fold All Block Comments"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2138),weight:100}})}invoke(u,n,h,g,p){if(n.regions.hasTypes())Zg(n,fs.Comment.value,!0);else{let m=h.getModel();if(!m)return;let _=p.getLanguageConfiguration(m.getLanguageId()).comments;if(_&&_.blockCommentStartToken){let v=new RegExp("^\\s*"+Ui(_.blockCommentStartToken));Gg(n,v,!0)}}}}class Jx extends hi{constructor(){super({id:"editor.foldAllMarkerRegions",label:b(1047,"Fold All Regions"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2077),weight:100}})}invoke(u,n,h,g,p){if(n.regions.hasTypes())Zg(n,fs.Region.value,!0);else{let m=h.getModel();if(!m)return;let _=p.getLanguageConfiguration(m.getLanguageId()).foldingRules;if(_&&_.markers&&_.markers.start){let v=new RegExp(_.markers.start);Gg(n,v,!0)}}}}class Qx extends hi{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:b(1048,"Unfold All Regions"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2078),weight:100}})}invoke(u,n,h,g,p){if(n.regions.hasTypes())Zg(n,fs.Region.value,!1);else{let m=h.getModel();if(!m)return;let _=p.getLanguageConfiguration(m.getLanguageId()).foldingRules;if(_&&_.markers&&_.markers.start){let v=new RegExp(_.markers.start);Gg(n,v,!1)}}}}class eI extends hi{constructor(){super({id:"editor.foldAllExcept",label:b(1049,"Fold All Except Selected"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2136),weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);$_(n,!0,g)}}class tI extends hi{constructor(){super({id:"editor.unfoldAllExcept",label:b(1050,"Unfold All Except Selected"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2134),weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);$_(n,!1,g)}}class iI extends hi{constructor(){super({id:"editor.foldAll",label:b(1051,"Fold All"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2069),weight:100}})}invoke(u,n,h){Ma(n,!0)}}class oI extends hi{constructor(){super({id:"editor.unfoldAll",label:b(1052,"Unfold All"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2088),weight:100}})}invoke(u,n,h){Ma(n,!1)}}class ql extends hi{static{this.ID_PREFIX="editor.foldLevel"}static{this.ID=(u)=>ql.ID_PREFIX+u}getFoldingLevel(){return parseInt(this.id.substr(ql.ID_PREFIX.length))}invoke(u,n,h){Px(n,this.getFoldingLevel(),!0,this.getSelectedLines(h))}}class nI extends hi{constructor(){super({id:"editor.gotoParentFold",label:b(1053,"Go to Parent Fold"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);if(g.length>0){let p=Ax(g[0],n);if(p!==null)h.setSelection({startLineNumber:p,startColumn:1,endLineNumber:p,endColumn:1})}}}class rI extends hi{constructor(){super({id:"editor.gotoPreviousFold",label:b(1054,"Go to Previous Folding Range"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);if(g.length>0){let p=Fx(g[0],n);if(p!==null)h.setSelection({startLineNumber:p,startColumn:1,endLineNumber:p,endColumn:1})}}}class sI extends hi{constructor(){super({id:"editor.gotoNextFold",label:b(1055,"Go to Next Folding Range"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}invoke(u,n,h){let g=this.getSelectedLines(h);if(g.length>0){let p=Hx(g[0],n);if(p!==null)h.setSelection({startLineNumber:p,startColumn:1,endLineNumber:p,endColumn:1})}}}class aI extends hi{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:b(1056,"Create Folding Range from Selection"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2135),weight:100}})}invoke(u,n,h){let g=[],p=h.getSelections();if(p){for(let m of p){let _=m.endLineNumber;if(m.endColumn===1)--_;if(_>m.startLineNumber)g.push({startLineNumber:m.startLineNumber,endLineNumber:_,type:void 0,isCollapsed:!0,source:1}),h.setSelection({startLineNumber:m.startLineNumber,startColumn:1,endLineNumber:m.startLineNumber,endColumn:1})}if(g.length>0){g.sort((_,v)=>_.startLineNumber-v.startLineNumber);let m=Ri.sanitizeAndMerge(n.regions,g,h.getModel()?.getLineCount());n.updatePost(Ri.fromFoldRanges(m))}}}}class dI extends hi{constructor(){super({id:"editor.removeManualFoldingRanges",label:b(1057,"Remove Manual Folding Ranges"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2137),weight:100}})}invoke(u,n,h){let g=h.getSelections();if(g)n.removeManualRanges(g),u.triggerFoldingModelChanged()}}class cI extends hi{constructor(){super({id:"editor.toggleImportFold",label:b(1058,"Toggle Import Fold"),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,weight:100}})}async invoke(u,n){let h=[],g=n.regions;for(let p=g.length-1;p>=0;p--)if(g.getType(p)===fs.Imports.value)h.push(g.toRegion(p));n.toggleCollapseState(h),u.triggerFoldingModelChanged()}}fe(gr.ID,gr,0);O(qx);O(jx);O($x);O(Zx);O(Xx);O(iI);O(oI);O(Yx);O(Jx);O(Qx);O(eI);O(tI);O(Gx);O(nI);O(rI);O(sI);O(aI);O(dI);O(cI);for(let u=1;u<=7;u++)BM(new ql({id:ql.ID(u),label:b(1059,"Fold Level {0}",u),precondition:ti,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2048|21+u),weight:100}}));Le.registerCommand("_executeFoldingRangeProvider",async function(u,...n){let[h]=n;if(!(h instanceof q))throw yo();let g=u.get(z),p=u.get(Et).getModel(h);if(!p)throw yo();let m=u.get(re);if(!m.getValue("editor.folding",{resource:h}))return[];let _=u.get(ht),v=m.getValue("editor.foldingStrategy",{resource:h}),S={get limit(){return m.getValue("editor.foldingMaximumRegions",{resource:h})},update:(Y,Q)=>{}},C=new Xd(p,_,S),L=C;if(v!=="indentation"){let Y=gr.getFoldingRangeProviders(g,p);if(Y.length)L=new Jd(p,Y,()=>{},S,C)}let R=await L.compute(ye.None),Z=[];try{if(R)for(let Y=0;Y<R.length;Y++){let Q=R.getType(Y);Z.push({start:R.getStartLineNumber(Y),end:R.getEndLineNumber(Y),kind:Q?fs.fromValue(Q):void 0})}return Z}finally{L.dispose()}});var lI=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Jg=function(u,n){return function(h,g){n(h,g,u)}};class X_{constructor(u,n,h){this.marker=u,this.index=n,this.total=h}}var Y_=class u{constructor(n,h,g){if(this._markerService=h,this._configService=g,this._onDidChange=new o,this.onDidChange=this._onDidChange.event,this._dispoables=new d,this._markers=[],this._nextIdx=-1,q.isUri(n))this._resourceFilter=(v)=>v.toString()===n.toString();else if(n)this._resourceFilter=n;let p=this._configService.getValue("problems.sortOrder"),m=(v,S)=>{let C=pf(v.resource.toString(),S.resource.toString());if(C===0)if(p==="position")C=t.compareRangesUsingStarts(v,S)||rn.compare(v.severity,S.severity);else C=rn.compare(v.severity,S.severity)||t.compareRangesUsingStarts(v,S);return C},_=()=>{let v=this._markerService.read({resource:q.isUri(n)?n:void 0,severities:rn.Error|rn.Warning|rn.Info});if(typeof n==="function")v=v.filter((S)=>this._resourceFilter(S.resource));if(v.sort(m),ot(v,this._markers,(S,C)=>S.resource.toString()===C.resource.toString()&&S.startLineNumber===C.startLineNumber&&S.startColumn===C.startColumn&&S.endLineNumber===C.endLineNumber&&S.endColumn===C.endColumn&&S.severity===C.severity&&S.message===C.message))return!1;return this._markers=v,!0};_(),this._dispoables.add(h.onMarkerChanged((v)=>{if(!this._resourceFilter||v.some((S)=>this._resourceFilter(S))){if(_())this._nextIdx=-1,this._onDidChange.fire()}}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(n){if(!this._resourceFilter&&!n)return!0;if(!this._resourceFilter||!n)return!1;return this._resourceFilter(n)}get selected(){let n=this._markers[this._nextIdx];return n&&new X_(n,this._nextIdx+1,this._markers.length)}_initIdx(n,h,g){let p=this._markers.findIndex((m)=>gs(m.resource,n.uri));if(p<0){if(p=hf(this._markers.length,(m)=>pf(this._markers[m].resource.toString(),n.uri.toString())),p<0)p=~p;if(g)this._nextIdx=p;else this._nextIdx=(this._markers.length+p-1)%this._markers.length}else{let m=!1,_=!1;for(let v=p;v<this._markers.length;v++){let S=t.lift(this._markers[v]);if(S.isEmpty()){let C=n.getWordAtPosition(S.getStartPosition());if(C)S=new t(S.startLineNumber,C.startColumn,S.startLineNumber,C.endColumn)}if(h&&(S.containsPosition(h)||h.isBeforeOrEqual(S.getStartPosition()))){this._nextIdx=v,m=!0,_=!S.containsPosition(h);break}if(this._markers[v].resource.toString()!==n.uri.toString())break}if(!m)this._nextIdx=g?0:this._markers.length-1;else if(_&&!g)this._nextIdx-=1}if(this._nextIdx<0)this._nextIdx=this._markers.length-1}resetIndex(){this._nextIdx=-1}move(n,h,g){if(this._markers.length===0)return!1;let p=this._nextIdx;if(this._nextIdx===-1)this._initIdx(h,g,n);else if(n)this._nextIdx=(this._nextIdx+1)%this._markers.length;else if(!n)this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length;if(p!==this._nextIdx)return!0;return!1}find(n,h){let g=this._markers.findIndex((p)=>p.resource.toString()===n.toString());if(g<0)return;for(;g<this._markers.length;g++)if(t.containsPosition(this._markers[g],h))return new X_(this._markers[g],g+1,this._markers.length);return}};Y_=lI([Jg(1,Fr),Jg(2,re)],Y_);var Q_=ie("IMarkerNavigationService"),J_=class u{constructor(n,h){this._markerService=n,this._configService=h,this._provider=new Hn}getMarkerList(n){for(let h of this._provider){let g=h.getMarkerList(n);if(g)return g}return new Y_(n,this._markerService,this._configService)}};J_=lI([Jg(0,Fr),Jg(1,re)],J_);xe(Q_,J_,1);var cT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},_r=function(u,n){return function(h,g){n(h,g,u)}},Bi=class u extends vc{constructor(n,h,g,p,m,_,v,S,C,L,R,Z,Y,Q){super(n,{...p.getRawOptions(),overflowWidgetsDomNode:p.getOverflowWidgetsDomNode()},g,m,_,v,S,C,L,R,Z,Y,Q);this._parentEditor=p,this._overwriteOptions=h,super.updateOptions(this._overwriteOptions),this._register(p.onDidChangeConfiguration((ee)=>this._onParentConfigurationChanged(ee)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(n){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(n){og(this._overwriteOptions,n,!0),super.updateOptions(this._overwriteOptions)}};Bi=cT([_r(4,A),_r(5,Te),_r(6,Ue),_r(7,G),_r(8,ze),_r(9,yt),_r(10,on),_r(11,ht),_r(12,z),_r(13,Or)],Bi);function Qg(u){let n=u.get(Te).getFocusedCodeEditor();if(n instanceof Bi)return n.getParentEditor();return n}var hI=new y(new D(0,122,204)),lT={showArrow:!0,showFrame:!0,className:"",frameColor:hI,arrowColor:hI,keepEditorSelection:!1},hT="vs.editor.contrib.zoneWidget";class uI{constructor(u,n,h,g,p,m,_,v){this.id="",this.domNode=u,this.afterLineNumber=n,this.afterColumn=h,this.heightInLines=g,this.showInHiddenAreas=_,this.ordinal=v,this._onDomNodeTop=p,this._onComputedHeight=m}onDomNodeTop(u){this._onDomNodeTop(u)}onComputedHeight(u){this._onComputedHeight(u)}}class gI{constructor(u,n){this._id=u,this._domNode=n}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class eb{static{this._IdGenerator=new hy(".arrow-decoration-")}constructor(u){this._editor=u,this._ruleName=eb._IdGenerator.nextId(),this._color=null,this._height=-1,this._decorations=this._editor.createDecorationsCollection()}dispose(){this.hide(),p1(this._ruleName)}set color(u){if(this._color!==u)this._color=u,this._updateStyle()}set height(u){if(this._height!==u)this._height=u,this._updateStyle()}_updateStyle(){p1(this._ruleName),ny(`.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(u){if(u.column===1)u={lineNumber:u.lineNumber,column:2};this._decorations.set([{range:t.fromPositions(u),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}class tb{constructor(u,n={}){if(this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._isSashResizeHeight=!1,this._viewZone=null,this._disposables=new d,this.container=null,this._isShowing=!1,this.editor=u,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Ha(n),og(this.options,lT,!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((h)=>{let g=this._getWidth(h);this.domNode.style.width=g+"px",this.domNode.style.left=this._getLeft(h)+"px",this._onWidth(g)}))}dispose(){if(this._overlayWidget)this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null;if(this._viewZone)this.editor.changeViewZones((u)=>{if(this._viewZone)u.removeZone(this._viewZone.id);this._viewZone=null});this._positionMarkerId.clear(),this._disposables.dispose()}create(){if(this.domNode.classList.add("zone-widget"),this.options.className)this.domNode.classList.add(this.options.className);if(this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow)this._arrow=new eb(this.editor),this._disposables.add(this._arrow);this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(u){if(u.frameColor)this.options.frameColor=u.frameColor;if(u.arrowColor)this.options.arrowColor=u.arrowColor;this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let u=this.options.frameColor.toString();this.container.style.borderTopColor=u,this.container.style.borderBottomColor=u}if(this._arrow&&this.options.arrowColor){let u=this.options.arrowColor.toString();this._arrow.color=u}}_getWidth(u){return u.width-u.minimap.minimapWidth-u.verticalScrollbarWidth}_getLeft(u){if(u.minimap.minimapWidth>0&&u.minimap.minimapLeft===0)return u.minimap.minimapWidth;return 0}_onViewZoneTop(u){this.domNode.style.top=u+"px"}_onViewZoneHeight(u){if(this.domNode.style.height=`${u}px`,this.container){let n=u-this._decoratingElementsHeight();this.container.style.height=`${n}px`;let h=this.editor.getLayoutInfo();this._doLayout(n,this._getWidth(h))}this._resizeSash?.layout()}get position(){let u=this._positionMarkerId.getRange(0);if(!u)return;return u.getStartPosition()}show(u,n){let h=t.isIRange(u)?t.lift(u):t.fromPositions(u);this._isShowing=!0,this._showImpl(h,n),this._isShowing=!1,this._positionMarkerId.set([{range:h,options:ue.EMPTY}])}hide(){if(this._viewZone)this.editor.changeViewZones((u)=>{if(this._viewZone)u.removeZone(this._viewZone.id)}),this._viewZone=null;if(this._overlayWidget)this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null;this._arrow?.hide(),this._positionMarkerId.clear(),this._isSashResizeHeight=!1}_decoratingElementsHeight(){let u=this.editor.getOption(75),n=0;if(this.options.showArrow){let h=Math.round(u/3);n+=2*h}if(this.options.showFrame){let h=this.options.frameWidth??Math.round(u/9);n+=2*h}return n}_getMaximumHeightInLines(){return Math.max(12,this.editor.getLayoutInfo().height/this.editor.getOption(75)*0.8)}_showImpl(u,n){let h=u.getStartPosition(),g=this.editor.getLayoutInfo(),p=this._getWidth(g);this.domNode.style.width=`${p}px`,this.domNode.style.left=this._getLeft(g)+"px";let m=document.createElement("div");m.style.overflow="hidden";let _=this.editor.getOption(75),v=this._getMaximumHeightInLines();if(v!==void 0)n=Math.min(n,v);let S=0,C=0;if(this._arrow&&this.options.showArrow)S=Math.round(_/3),this._arrow.height=S,this._arrow.show(h);if(this.options.showFrame)C=Math.round(_/9);if(this.editor.changeViewZones((Z)=>{if(this._viewZone)Z.removeZone(this._viewZone.id);if(this._overlayWidget)this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null;this.domNode.style.top="-1000px",this._viewZone=new uI(m,h.lineNumber,h.column,n,(Y)=>this._onViewZoneTop(Y),(Y)=>this._onViewZoneHeight(Y),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=Z.addZone(this._viewZone),this._overlayWidget=new gI(hT+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this._updateSashEnablement(),this.container&&this.options.showFrame){let Z=this.options.frameWidth?this.options.frameWidth:C;this.container.style.borderTopWidth=Z+"px",this.container.style.borderBottomWidth=Z+"px"}let L=n*_-this._decoratingElementsHeight();if(this.container)this.container.style.top=S+"px",this.container.style.height=L+"px",this.container.style.overflow="hidden";if(this._doLayout(L,p),!this.options.keepEditorSelection)this.editor.setSelection(u);let R=this.editor.getModel();if(R){let Z=R.validateRange(new t(u.startLineNumber,1,u.endLineNumber+1,1));this.revealRange(Z,Z.startLineNumber===R.getLineCount())}}revealRange(u,n){if(n)this.editor.revealLineNearTop(u.endLineNumber,0);else this.editor.revealRange(u,0)}setCssClass(u,n){if(!this.container)return;if(n)this.container.classList.remove(n);this.container.classList.add(u)}_onWidth(u){}_doLayout(u,n){}_relayout(u,n){let h=this._getMaximumHeightInLines(),g=n&&h!==void 0?Math.min(h,u):u;if(this._viewZone&&this._viewZone.heightInLines!==g)this.editor.changeViewZones((p)=>{if(this._viewZone)this._viewZone.heightInLines=g,p.layoutZone(this._viewZone.id)}),this._updateSashEnablement()}_initSash(){if(this._resizeSash)return;if(this._resizeSash=this._disposables.add(new mo(this.domNode,this,{orientation:1})),!this.options.isResizeable)this._resizeSash.state=0;let u;this._disposables.add(this._resizeSash.onDidStart((n)=>{if(this._viewZone)u={startY:n.startY,heightInLines:this._viewZone.heightInLines,...this._getResizeBounds()}})),this._disposables.add(this._resizeSash.onDidEnd(()=>{u=void 0})),this._disposables.add(this._resizeSash.onDidChange((n)=>{if(u){let h=(n.currentY-u.startY)/this.editor.getOption(75),g=h<0?Math.ceil(h):Math.floor(h),p=u.heightInLines+g;if(p>u.minLines&&p<u.maxLines)this._isSashResizeHeight=!0,this._relayout(p)}}))}_updateSashEnablement(){if(this._resizeSash){let{minLines:u,maxLines:n}=this._getResizeBounds();this._resizeSash.state=u===n?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 u=this.editor.getLayoutInfo();return u.width-u.minimap.minimapWidth}}var pI=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},mI=function(u,n){return function(h,g){n(h,g,u)}},ib=ie("IPeekViewService");xe(ib,class{constructor(){this._widgets=new Map}addExclusiveWidget(u,n){let h=this._widgets.get(u);if(h)h.listener.dispose(),h.widget.dispose();let g=()=>{let p=this._widgets.get(u);if(p&&p.widget===n)p.listener.dispose(),this._widgets.delete(u)};this._widgets.set(u,{widget:n,listener:n.onDidClose(g)})}},1);var _i;(function(u){u.inPeekEditor=new M("inReferenceSearchEditor",!0,e(1382,"Whether the current code editor is embedded inside peek")),u.notInPeekEditor=u.inPeekEditor.toNegated()})(_i||(_i={}));var ep=class u{static{this.ID="editor.contrib.referenceController"}constructor(n,h){if(n instanceof Bi)_i.inPeekEditor.bindTo(h)}dispose(){}};ep=pI([mI(1,G)],ep);fe(ep.ID,ep,0);var uT={headerBackgroundColor:y.white,primaryHeadingColor:y.fromHex("#333333"),secondaryHeadingColor:y.fromHex("#6c6c6cb3")},Qd=class u extends tb{constructor(n,h,g){super(n,h);this.instantiationService=g,this._onDidClose=new o,this.onDidClose=this._onDidClose.event,og(this.options,uT,!1);let p=ct(this.editor);p.openedPeekWidgets.set(p.openedPeekWidgets.get()+1,void 0)}dispose(){if(!this.disposed){this.disposed=!0,super.dispose(),this._onDidClose.fire(this),this._onDidClose.dispose();let n=ct(this.editor);n.openedPeekWidgets.set(n.openedPeekWidgets.get()-1,void 0)}}style(n){let h=this.options;if(n.headerBackgroundColor)h.headerBackgroundColor=n.headerBackgroundColor;if(n.primaryHeadingColor)h.primaryHeadingColor=n.primaryHeadingColor;if(n.secondaryHeadingColor)h.secondaryHeadingColor=n.secondaryHeadingColor;super.style(n)}_applyStyles(){super._applyStyles();let n=this.options;if(this._headElement&&n.headerBackgroundColor)this._headElement.style.backgroundColor=n.headerBackgroundColor.toString();if(this._primaryHeading&&n.primaryHeadingColor)this._primaryHeading.style.color=n.primaryHeadingColor.toString();if(this._secondaryHeading&&n.secondaryHeadingColor)this._secondaryHeading.style.color=n.secondaryHeadingColor.toString();if(this._bodyElement&&n.frameColor)this._bodyElement.style.borderColor=n.frameColor.toString()}_fillContainer(n){this.setCssClass("peekview-widget"),this._headElement=w(".head"),this._bodyElement=w(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),n.appendChild(this._headElement),n.appendChild(this._bodyElement)}_fillHead(n,h){if(this._titleElement=w(".peekview-title"),this.options.supportOnTitleClick)this._titleElement.classList.add("clickable"),Ct(this._titleElement,"click",(m)=>this._onTitleClick(m));k(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=w("span.filename"),this._secondaryHeading=w("span.dirname"),this._metaHeading=w("span.meta"),k(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);let g=w(".peekview-actions");k(this._headElement,g);let p=this._getActionBarOptions();if(this._actionbarWidget=new Qi(g,p),this._disposables.add(this._actionbarWidget),!h)this._actionbarWidget.push(this._disposables.add(new wo("peekview.close",e(1383,"Close"),J.asClassName(x.close),!0,()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(n){}_getActionBarOptions(){return{actionViewItemProvider:by.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(n){}setTitle(n,h){if(this._primaryHeading&&this._secondaryHeading)if(this._primaryHeading.innerText=n,this._primaryHeading.setAttribute("title",n),h)this._secondaryHeading.innerText=h;else mn(this._secondaryHeading)}setMetaTitle(n){if(this._metaHeading)if(n)this._metaHeading.innerText=n,Oo(this._metaHeading);else po(this._metaHeading)}_doLayout(n,h){if(!this._isShowing&&n<0){this.dispose();return}let g=Math.ceil(this.editor.getOption(75)*1.2),p=Math.round(n-(g+1));this._doLayoutHead(g,h),this._doLayoutBody(p,h)}_doLayoutHead(n,h){if(this._headElement)this._headElement.style.height=`${n}px`,this._headElement.style.lineHeight=this._headElement.style.height}_doLayoutBody(n,h){if(this._bodyElement)this._bodyElement.style.height=`${n}px`}};Qd=pI([mI(2,A)],Qd);var fI=a("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:y.black,hcLight:y.white},e(1384,"Background color of the peek view title area.")),ip=a("peekViewTitleLabel.foreground",{dark:y.white,light:y.black,hcDark:y.white,hcLight:Va},e(1385,"Color of the peek view title.")),op=a("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},e(1386,"Color of the peek view title info.")),BI=a("peekView.border",{dark:js,light:js,hcDark:je,hcLight:je},e(1387,"Color of the peek view borders and arrow.")),VI=a("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:y.black,hcLight:y.white},e(1388,"Background color of the peek view result list."));a("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:y.white,hcLight:Va},e(1389,"Foreground color for line nodes in the peek view result list."));a("peekViewResult.fileForeground",{dark:y.white,light:"#1E1E1E",hcDark:y.white,hcLight:Va},e(1390,"Foreground color for file nodes in the peek view result list."));a("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},e(1391,"Background color of the selected entry in the peek view result list."));a("peekViewResult.selectionForeground",{dark:y.white,light:"#6C6C6C",hcDark:y.white,hcLight:Va},e(1392,"Foreground color of the selected entry in the peek view result list."));var ob=a("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:y.black,hcLight:y.white},e(1393,"Background color of the peek view editor."));a("peekViewEditorGutter.background",ob,e(1394,"Background color of the gutter in the peek view editor."));a("peekViewEditorStickyScroll.background",ob,e(1395,"Background color of sticky scroll in the peek view editor."));a("peekViewEditorStickyScrollGutter.background",ob,e(1396,"Background color of the gutter part of sticky scroll in the peek view editor."));a("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},e(1397,"Match highlight color in the peek view result list."));a("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},e(1398,"Match highlight color in the peek view editor."));a("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Zt,hcLight:Zt},e(1399,"Match highlight border in the peek view editor."));var rp;(function(u){function n(h){switch(h){case hn.Ignore:return"severity-ignore "+J.asClassName(x.info);case hn.Info:return J.asClassName(x.info);case hn.Warning:return J.asClassName(x.warning);case hn.Error:return J.asClassName(x.error);default:return""}}u.className=n})(rp||(rp={}));var gT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ec=function(u,n){return function(h,g){n(h,g,u)}},nb;class GI{constructor(u,n,h,g,p){this._openerService=g,this._labelService=p,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new d,this._editor=n;let m=document.createElement("div");m.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),m.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),m.appendChild(this._relatedBlock),this._disposables.add(Ct(this._relatedBlock,"click",(_)=>{_.preventDefault();let v=this._relatedDiagnostics.get(_.target);if(v)h(v)})),this._scrollable=new C0(m,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),u.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((_)=>{m.style.left=`-${_.scrollLeft}px`,m.style.top=`-${_.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){Be(this._disposables)}update(u){let{source:n,message:h,relatedInformation:g,code:p}=u,m=(n?.length||0)+2;if(p)if(typeof p==="string")m+=p.length;else m+=p.value.length;let _=Ci(h);this._lines=_.length,this._longestLineLength=0;for(let R of _)this._longestLineLength=Math.max(R.length+m,this._longestLineLength);mn(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(u)),jo(this.getAriaLabel(u)),this._editor.applyFontInfo(this._messageBlock);let v=this._messageBlock;for(let R of _){if(v=document.createElement("div"),v.innerText=R,R==="")v.style.height=this._messageBlock.style.lineHeight;this._messageBlock.appendChild(v)}if(n||p){let R=document.createElement("span");if(R.classList.add("details"),v.appendChild(R),n){let Z=document.createElement("span");Z.innerText=n,Z.classList.add("source"),R.appendChild(Z)}if(p)if(typeof p==="string"){let Z=document.createElement("span");Z.innerText=`(${p})`,Z.classList.add("code"),R.appendChild(Z)}else{this._codeLink=w("a.code-link"),this._codeLink.setAttribute("href",`${p.target.toString()}`),this._codeLink.onclick=(Y)=>{this._openerService.open(p.target),Y.preventDefault(),Y.stopPropagation()};let Z=k(this._codeLink,w("span"));Z.innerText=p.value,R.appendChild(this._codeLink)}}if(mn(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),qn(g)){let R=this._relatedBlock.appendChild(document.createElement("div"));R.style.paddingTop=`${Math.floor(this._editor.getOption(75)*0.66)}px`,this._lines+=1;for(let Z of g){let Y=document.createElement("div"),Q=document.createElement("a");Q.classList.add("filename"),Q.innerText=`${this._labelService.getUriBasenameLabel(Z.resource)}(${Z.startLineNumber}, ${Z.startColumn}): `,Q.title=this._labelService.getUriLabel(Z.resource),this._relatedDiagnostics.set(Q,Z);let ee=document.createElement("span");ee.innerText=Z.message,Y.appendChild(Q),Y.appendChild(ee),this._lines+=1,R.appendChild(Y)}}let S=this._editor.getOption(59),C=Math.ceil(S.typicalFullwidthCharacterWidth*this._longestLineLength*0.75),L=S.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:C,scrollHeight:L})}layout(u,n){this._scrollable.getDomNode().style.height=`${u}px`,this._scrollable.getDomNode().style.width=`${n}px`,this._scrollable.setScrollDimensions({width:n,height:u})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(u){let n="";switch(u.severity){case rn.Error:n=e(1082,"Error");break;case rn.Warning:n=e(1083,"Warning");break;case rn.Info:n=e(1084,"Info");break;case rn.Hint:n=e(1085,"Hint");break}let h=e(1086,"{0}: {1} at {2}. ",n,u.message,u.startLineNumber+":"+u.startColumn),g=this._editor.getModel();if(g&&u.startLineNumber<=g.getLineCount()&&u.startLineNumber>=1)h=`${g.getLineContent(u.startLineNumber)}, ${h}`;return h}}var tc=class u extends Qd{static{nb=this}static{this.TitleMenu=new l("gotoErrorTitleMenu")}constructor(n,h,g,p,m,_,v){super(n,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},m);this._themeService=h,this._openerService=g,this._menuService=p,this._contextKeyService=_,this._labelService=v,this._callOnDispose=new d,this._onDidSelectRelatedInformation=new o,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=rn.Warning,this._backgroundColor=y.white,this._applyTheme(h.getColorTheme()),this._callOnDispose.add(h.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(n){this._backgroundColor=n.getColor(_T);let h=rb,g=pT;if(this._severity===rn.Warning)h=sp,g=mT;else if(this._severity===rn.Info)h=sb,g=fT;let p=n.getColor(h),m=n.getColor(g);this.style({arrowColor:p,frameColor:p,headerBackgroundColor:m,primaryHeadingColor:n.getColor(ip),secondaryHeadingColor:n.getColor(op)})}_applyStyles(){if(this._parentContainer)this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():"";super._applyStyles()}dispose(){this._callOnDispose.dispose(),this._onDidSelectRelatedInformation.dispose(),super.dispose()}_fillHead(n){super._fillHead(n),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((p)=>this.editor.focus()));let h=this._menuService.getMenuActions(nb.TitleMenu,this._contextKeyService),g=m2(h);this._actionbarWidget.push(g,{label:!1,icon:!0,index:0})}_fillTitleIcon(n){this._icon=k(n,w(""))}_fillBody(n){this._parentContainer=n,n.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),n.appendChild(this._container),this._message=new GI(this._container,this.editor,(h)=>this._onDidSelectRelatedInformation.fire(h),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw Error("call showAtMarker")}showAtMarker(n,h,g){this._container.classList.remove("stale"),this._message.update(n),this._severity=n.severity,this._applyTheme(this._themeService.getColorTheme());let p=t.lift(n),m=this.editor.getPosition(),_=m&&p.containsPosition(m)?m:p.getStartPosition();super.show(_,this.computeRequiredHeight());let v=this.editor.getModel();if(v){let S=g>1?e(1087,"{0} of {1} problems",h,g):e(1088,"{0} of {1} problem",h,g);this.setTitle(Oi(v.uri),S)}this._icon.className=`codicon ${rp.className(rn.toSeverity(this._severity))}`,this.editor.revealPositionInCenterIfOutsideViewport(_,0),this.editor.focus()}updateMarker(n){this._container.classList.remove("stale"),this._message.update(n)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(n,h){super._doLayoutBody(n,h),this._heightInPixel=n,this._message.layout(n,h),this._container.style.height=`${n}px`}_onWidth(n){this._message.layout(this._heightInPixel,n)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};tc=nb=gT([ec(1,ze),ec(2,Zo),ec(3,Ai),ec(4,A),ec(5,G),ec(6,xc)],tc);var KI=fg(bg,UM),UI=fg(Ua,Lf),qI=fg(js,$f),rb=a("editorMarkerNavigationError.background",{dark:KI,light:KI,hcDark:je,hcLight:je},e(1089,"Editor marker navigation widget error color.")),pT=a("editorMarkerNavigationError.headerBackground",{dark:be(rb,0.1),light:be(rb,0.1),hcDark:null,hcLight:null},e(1090,"Editor marker navigation widget error heading background.")),sp=a("editorMarkerNavigationWarning.background",{dark:UI,light:UI,hcDark:je,hcLight:je},e(1091,"Editor marker navigation widget warning color.")),mT=a("editorMarkerNavigationWarning.headerBackground",{dark:be(sp,0.1),light:be(sp,0.1),hcDark:"#0C141F",hcLight:be(sp,0.2)},e(1092,"Editor marker navigation widget warning heading background.")),sb=a("editorMarkerNavigationInfo.background",{dark:qI,light:qI,hcDark:je,hcLight:je},e(1093,"Editor marker navigation widget info color.")),fT=a("editorMarkerNavigationInfo.headerBackground",{dark:be(sb,0.1),light:be(sb,0.1),hcDark:null,hcLight:null},e(1094,"Editor marker navigation widget info heading background.")),_T=a("editorMarkerNavigation.background",Yo,e(1095,"Editor marker navigation widget background."));var bT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ap=function(u,n){return function(h,g){n(h,g,u)}},jl,Ts=class u{static{jl=this}static{this.ID="editor.contrib.markerController"}static get(n){return n.getContribution(jl.ID)}constructor(n,h,g,p,m){this._markerNavigationService=h,this._contextKeyService=g,this._editorService=p,this._instantiationService=m,this._sessionDispoables=new d,this._editor=n,this._widgetVisible=ZI.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(n){if(this._model&&this._model.matches(n))return this._model;let h=!1;if(this._model)h=!0,this._cleanUp();if(this._model=this._markerNavigationService.getMarkerList(n),h)this._model.move(!0,this._editor.getModel(),this._editor.getPosition());return this._widget=this._instantiationService.createInstance(tc,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((g)=>{if(!this._model?.selected||!t.containsPosition(this._model?.selected.marker,g.position))this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let g=this._model.find(this._editor.getModel().uri,this._widget.position);if(g)this._widget.updateMarker(g.marker);else this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((g)=>{this._editorService.openCodeEditor({resource:g.resource,options:{pinned:!0,revealIfOpened:!0,selection:t.lift(g).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(n=!0){if(this._cleanUp(),n)this._editor.focus()}showAtMarker(n){if(!this._editor.hasModel())return;let h=this._editor.getModel(),g=this._getOrCreateModel(h.uri);if(g.resetIndex(),g.move(!0,h,new s(n.startLineNumber,n.startColumn)),g.selected)this._widget.showAtMarker(g.selected.marker,g.selected.index,g.selected.total)}async navigate(n,h){if(!this._editor.hasModel())return;let g=this._editor.getModel(),p=this._getOrCreateModel(h?void 0:g.uri);if(p.move(n,g,this._editor.getPosition()),!p.selected)return;if(p.selected.marker.resource.toString()!==g.uri.toString()){this._cleanUp();let m=await this._editorService.openCodeEditor({resource:p.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:p.selected.marker}},this._editor);if(m)jl.get(m)?.close(),jl.get(m)?.navigate(n,h)}else this._widget.showAtMarker(p.selected.marker,p.selected.index,p.selected.total)}};Ts=jl=bT([ap(1,Q_),ap(2,G),ap(3,Te),ap(4,A)],Ts);class Gl extends U{constructor(u,n,h){super(h);this._next=u,this._multiFile=n}async run(u,n){if(n.hasModel())await Ts.get(n)?.navigate(this._next,this._multiFile)}}class Vr extends Gl{static{this.ID="editor.action.marker.next"}static{this.LABEL=b(1078,"Go to Next Problem (Error, Warning, Info)")}constructor(){super(!0,!1,{id:Vr.ID,label:Vr.LABEL,precondition:void 0,kbOpts:{kbExpr:r.focus,primary:578,weight:100},menuOpts:{menuId:tc.TitleMenu,title:Vr.LABEL.value,icon:Mt("marker-navigation-next",x.arrowDown,e(1074,"Icon for goto next marker.")),group:"navigation",order:1}})}}class Oa extends Gl{static{this.ID="editor.action.marker.prev"}static{this.LABEL=b(1079,"Go to Previous Problem (Error, Warning, Info)")}constructor(){super(!1,!1,{id:Oa.ID,label:Oa.LABEL,precondition:void 0,kbOpts:{kbExpr:r.focus,primary:1602,weight:100},menuOpts:{menuId:tc.TitleMenu,title:Oa.LABEL.value,icon:Mt("marker-navigation-previous",x.arrowUp,e(1075,"Icon for goto previous marker.")),group:"navigation",order:2}})}}class Zl extends Gl{static{this.ID="editor.action.marker.nextInFiles"}constructor(){super(!0,!0,{id:Zl.ID,label:b(1080,"Go to Next Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:66,weight:100},menuOpts:{menuId:l.MenubarGoMenu,title:e(1076,"Next &&Problem"),group:"6_problem_nav",order:1}})}}class Xl extends Gl{static{this.ID="editor.action.marker.prevInFiles"}constructor(){super(!1,!0,{id:Xl.ID,label:b(1081,"Go to Previous Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:r.focus,primary:1090,weight:100},menuOpts:{menuId:l.MenubarGoMenu,title:e(1077,"Previous &&Problem"),group:"6_problem_nav",order:2}})}}fe(Ts.ID,Ts,4);O(Vr);O(Oa);O(Zl);O(Xl);var ZI=new M("markersNavigationVisible",!1),vT=en.bindToContribution(Ts.get);K(new vT({id:"closeMarkersNavigation",precondition:ZI,handler:(u)=>u.close(),kbOpts:{weight:150,kbExpr:r.focus,primary:9,secondary:[1033]}}));class e0{constructor(u){this.options=u,this.rangeHighlightDecorationId=void 0}provide(u,n,h){let g=new d;u.canAcceptInBackground=!!this.options?.canAcceptInBackground,u.matchOnLabel=u.matchOnDescription=u.matchOnDetail=u.sortByLabel=!1;let p=g.add(new ce);return p.value=this.doProvide(u,n,h),g.add(this.onDidActiveTextEditorControlChange(()=>{p.value=void 0,p.value=this.doProvide(u,n)})),g}doProvide(u,n,h){let g=new d,p=this.activeTextEditorControl;if(p&&this.canProvideWithTextEditor(p)){let m={editor:p},_=Q1(p);if(_){let v=p.saveViewState()??void 0;g.add(_.onDidChangeCursorPosition(()=>{v=p.saveViewState()??void 0})),m.restoreViewState=()=>{if(v&&p===this.activeTextEditorControl)p.restoreViewState(v)},g.add(As(n.onCancellationRequested)(()=>m.restoreViewState?.()))}g.add(N(()=>this.clearDecorations(p))),g.add(this.provideWithTextEditor(m,u,n,h))}else g.add(this.provideWithoutTextEditor(u,n));return g}canProvideWithTextEditor(u){return!0}gotoLocation({editor:u},n){if(u.setSelection(n.range,"code.jump"),u.revealRangeInCenter(n.range,0),!n.preserveFocus)u.focus();let h=this.getModel(u);if(h){let g=h.getLineContent(n.range.startLineNumber);jo(e(1401,"Line {0}, column {1}: {2}",n.range.startLineNumber,n.range.startColumn,g))}}getModel(u){return _y(u)?u.getModel()?.modified:u.getModel()}addDecorations(u,n){u.changeDecorations((h)=>{let g=[];if(this.rangeHighlightDecorationId)g.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),g.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0;let p=[{range:n,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:n,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:bn(_1),position:Jo.Full}}}],[m,_]=h.deltaDecorations(g,p);this.rangeHighlightDecorationId={rangeHighlightId:m,overviewRulerDecorationId:_}})}clearDecorations(u){let n=this.rangeHighlightDecorationId;if(n)u.changeDecorations((h)=>{h.deltaDecorations([n.overviewRulerDecorationId,n.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0}}class nc extends e0{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(nc.ZERO_BASED_OFFSET_STORAGE_KEY,-1,!1)}set useZeroBasedOffset(u){this.storageService.store(nc.ZERO_BASED_OFFSET_STORAGE_KEY,u,-1,0)}provideWithoutTextEditor(u){let n=e(1402,"Open a text editor first to go to a line or an offset.");return u.items=[{label:n}],u.ariaLabel=n,i.None}provideWithTextEditor(u,n,h){let g=u.editor,p=new d;n.ariaLabel=e(1403,"Go to line. Type a line number, optionally followed by colon and column number."),p.add(n.onDidAccept((S)=>{let[C]=n.selectedItems;if(C){if(!C.lineNumber)return;if(this.gotoLocation(u,{range:this.toRange(C.lineNumber,C.column),keyMods:n.keyMods,preserveFocus:S.inBackground}),!S.inBackground)n.hide()}}));let m={iconClass:J.asClassName(x.indexZero),tooltip:e(1404,"Toggle Zero-Based Offset"),location:$g.Input,toggle:{checked:this.useZeroBasedOffset}},_=()=>{let S=n.value.trim().substring(nc.GO_TO_LINE_PREFIX.length),{inOffsetMode:C,lineNumber:L,column:R,label:Z}=this.parsePosition(g,S);if(n.buttons=C?[m]:[],n.items=[{lineNumber:L,column:R,label:Z,ariaLabel:L?e(1405,"Go to line {0}, column {1}. Press Enter to navigate.",L,R||1):Z}],!L){this.clearDecorations(g);return}let Y=this.toRange(L,R);g.revealRangeInCenter(Y,0),this.addDecorations(g,Y)};p.add(n.onDidTriggerButton((S)=>{if(S===m)this.useZeroBasedOffset=S.toggle?.checked??!this.useZeroBasedOffset,_()})),_(),p.add(n.onDidChangeValue(()=>_()));let v=Q1(g);if(v){if(v.getOptions().get(76).renderType===2)v.updateOptions({lineNumbers:"on"}),p.add(N(()=>v.updateOptions({lineNumbers:"relative"})))}return p}toRange(u=1,n=1){return{startLineNumber:u,startColumn:n,endLineNumber:u,endColumn:n}}parsePosition(u,n){let h=this.getModel(u);if(!h)return{label:e(1406,"Open a text editor first to go to a line or an offset.")};if(n.startsWith(":")){let g=parseInt(n.substring(1),10),p=h.getValueLength();if(isNaN(g))return{inOffsetMode:!0,label:this.useZeroBasedOffset?e(1407,"Type a character position to go to (from 0 to {0}).",p-1):e(1408,"Type a character position to go to (from 1 to {0}).",p)};else{let m=g<0;if(!this.useZeroBasedOffset)g-=Math.sign(g);if(m)g+=p;let _=h.getPositionAt(g),v=Lt.visibleColumnFromColumn(h.getLineContent(_.lineNumber),_.column,h.getOptions().tabSize)+1;return{..._,inOffsetMode:!0,label:e(1409,"Press 'Enter' to go to line {0} at column {1}.",_.lineNumber,v)}}}else{let g=n.split(/,|:|#/),p=h.getLineCount(),m=parseInt(g[0]?.trim(),10);if(g.length<1||isNaN(m))return{label:e(1410,"Type a line number to go to (from 1 to {0}).",p)};m=m>=0?m:p+1+m,m=Math.min(Math.max(1,m),p);let _=h.getOptions().tabSize,v=h.getLineContent(m),S=Lt.visibleColumnFromColumn(v,h.getLineMaxColumn(m),_)+1,C=parseInt(g[1]?.trim(),10);if(g.length<2||isNaN(C))return{lineNumber:m,column:1,label:g.length<2?e(1411,"Press 'Enter' to go to line {0} or enter colon : to add a column number.",m):e(1412,"Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).",m,S)};C=C>=0?C:S+C,C=Math.min(Math.max(1,C),S);let L=Lt.columnFromVisibleColumn(v,C-1,_);return{lineNumber:m,column:L,label:e(1413,"Press 'Enter' to go to line {0} at column {1}.",m,C)}}}}var wT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},XI=function(u,n){return function(h,g){n(h,g,u)}},Ws=class u extends nc{constructor(n,h){super();this.editorService=n,this.storageService=h,this.onDidActiveTextEditorControlChange=I.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ws=wT([XI(0,Te),XI(1,Mn)],Ws);class dp extends U{static{this.ID="editor.action.gotoLine"}constructor(){super({id:dp.ID,label:Ag.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:r.focus,primary:2085,mac:{primary:293},weight:100}})}run(u){u.get(kn).quickAccess.show(Ws.GO_TO_LINE_PREFIX)}}O(dp);pt.as(ga.Quickaccess).registerQuickAccessProvider({ctor:Ws,prefix:Ws.GO_TO_LINE_PREFIX,helpEntries:[{description:Ag.gotoLineActionLabel,commandId:dp.ID}]});class cp extends U{static{this.ID="editor.action.gotoOffset"}constructor(){super({id:cp.ID,label:Ag.gotoOffsetActionLabel,alias:"Go to Offset...",precondition:void 0})}run(u){u.get(kn).quickAccess.show(Ws.GO_TO_OFFSET_PREFIX)}}O(cp);pt.as(ga.Quickaccess).registerQuickAccessProvider({ctor:Ws,prefix:Ws.GO_TO_OFFSET_PREFIX,helpEntries:[{description:Ag.gotoOffsetActionLabel,commandId:cp.ID}]});var ST=a("editorOverviewRuler.bracketMatchForeground","#A0A0A0",e(855,"Overview ruler marker color for matching brackets."));class YI extends U{constructor(){super({id:"editor.action.jumpToBracket",label:b(857,"Go to Bracket"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:3165,weight:100}})}run(u,n){zr.get(n)?.jumpToBracket()}}class JI extends U{constructor(){super({id:"editor.action.selectToBracket",label:b(858,"Select to Bracket"),precondition:void 0,metadata:{description:b(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(u,n,h){let g=!0;if(h&&h.selectBrackets===!1)g=!1;zr.get(n)?.selectToBracket(g)}}class QI extends U{constructor(){super({id:"editor.action.removeBrackets",label:b(860,"Remove Brackets"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(u,n){zr.get(n)?.removeBrackets(this.id)}}class n0{constructor(u,n,h){this.position=u,this.brackets=n,this.options=h}}class zr extends i{static{this.ID="editor.contrib.bracketMatchingController"}static get(u){return u.getContribution(zr.ID)}constructor(u){super();this._editor=u,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new ke(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(u.onDidChangeCursorPosition((n)=>{if(this._matchBrackets==="never")return;this._updateBracketsSoon.schedule()})),this._register(u.onDidChangeModelContent((n)=>{this._updateBracketsSoon.schedule()})),this._register(u.onDidChangeModel((n)=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(u.onDidChangeModelLanguageConfiguration((n)=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(u.onDidChangeConfiguration((n)=>{if(n.hasChanged(80))this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule()})),this._register(u.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(u.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let u=this._editor.getModel(),n=this._editor.getSelections().map((h)=>{let g=h.getStartPosition(),p=u.bracketPairs.matchBracket(g),m=null;if(p){if(p[0].containsPosition(g)&&!p[1].containsPosition(g))m=p[1].getStartPosition();else if(p[1].containsPosition(g))m=p[0].getStartPosition()}else{let _=u.bracketPairs.findEnclosingBrackets(g);if(_)m=_[1].getStartPosition();else{let v=u.bracketPairs.findNextBracket(g);if(v&&v.range)m=v.range.getStartPosition()}}if(m)return new F(m.lineNumber,m.column,m.lineNumber,m.column);return new F(g.lineNumber,g.column,g.lineNumber,g.column)});this._editor.setSelections(n),this._editor.revealRange(n[0])}selectToBracket(u){if(!this._editor.hasModel())return;let n=this._editor.getModel(),h=[];if(this._editor.getSelections().forEach((g)=>{let p=g.getStartPosition(),m=n.bracketPairs.matchBracket(p);if(!m){if(m=n.bracketPairs.findEnclosingBrackets(p),!m){let S=n.bracketPairs.findNextBracket(p);if(S&&S.range)m=n.bracketPairs.matchBracket(S.range.getStartPosition())}}let _=null,v=null;if(m){m.sort(t.compareRangesUsingStarts);let[S,C]=m;if(_=u?S.getStartPosition():S.getEndPosition(),v=u?C.getEndPosition():C.getStartPosition(),C.containsPosition(p)){let L=_;_=v,v=L}}if(_&&v)h.push(new F(_.lineNumber,_.column,v.lineNumber,v.column))}),h.length>0)this._editor.setSelections(h),this._editor.revealRange(h[0])}removeBrackets(u){if(!this._editor.hasModel())return;let n=this._editor.getModel();this._editor.getSelections().forEach((h)=>{let g=h.getPosition(),p=n.bracketPairs.matchBracket(g);if(!p)p=n.bracketPairs.findEnclosingBrackets(g);if(p)this._editor.pushUndoStop(),this._editor.executeEdits(u,[{range:p[0],text:""},{range:p[1],text:""}]),this._editor.pushUndoStop()})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=ue.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline",overviewRuler:{color:bn(ST),position:Jo.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=ue.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline"})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let u=[],n=0;for(let h of this._lastBracketsData){let g=h.brackets;if(g)u[n++]={range:g[0],options:h.options},u[n++]={range:g[1],options:h.options}}this._decorations.set(u)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let u=this._editor.getSelections();if(u.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),h=n.getVersionId(),g=[];if(this._lastVersionId===h)g=this._lastBracketsData;let p=[],m=0;for(let L=0,R=u.length;L<R;L++){let Z=u[L];if(Z.isEmpty())p[m++]=Z.getStartPosition()}if(p.length>1)p.sort(s.compare);let _=[],v=0,S=0,C=g.length;for(let L=0,R=p.length;L<R;L++){let Z=p[L];while(S<C&&g[S].position.isBefore(Z))S++;if(S<C&&g[S].position.equals(Z))_[v++]=g[S];else{let Y=n.bracketPairs.matchBracket(Z,20),Q=zr._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;if(!Y&&this._matchBrackets==="always")Y=n.bracketPairs.findEnclosingBrackets(Z,20),Q=zr._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER;_[v++]=new n0(Z,Y,Q)}}this._lastBracketsData=_,this._lastVersionId=h}}fe(zr.ID,zr,1);O(JI);O(YI);O(QI);Jn.appendMenuItem(l.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:e(856,"Go to &&Bracket")},order:2});Li((u,n)=>{let h=u.getColor(n2);if(h)n.addRule(`.monaco-editor .bracket-match-inline { color: ${h} !important; }`)});var _t=new class{constructor(){this.QuickFix=new jt("quickfix"),this.Refactor=new jt("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 jt("notebook"),this.Source=new jt("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}},Si;(function(u){u.Refactor="refactor",u.RefactorPreview="refactor preview",u.Lightbulb="lightbulb",u.Default="other (default)",u.SourceAction="source action",u.QuickFix="quick fix action",u.FixAll="fix all",u.OrganizeImports="organize imports",u.AutoFix="auto fix",u.QuickFixHover="quick fix hover window",u.OnSave="save participants",u.ProblemsView="problems view"})(Si||(Si={}));function l0(u,n){if(u.include&&!u.include.intersects(n))return!1;if(u.excludes){if(u.excludes.some((h)=>G0(n,h,u.include)))return!1}if(!u.includeSourceActions&&_t.Source.contains(n))return!1;return!0}function E0(u,n){let h=n.kind?new jt(n.kind):void 0;if(u.include){if(!h||!u.include.contains(h))return!1}if(u.excludes){if(h&&u.excludes.some((g)=>G0(h,g,u.include)))return!1}if(!u.includeSourceActions){if(h&&_t.Source.contains(h))return!1}if(u.onlyIncludePreferredActions){if(!n.isPreferred)return!1}return!0}function G0(u,n,h){if(!n.contains(u))return!1;if(h&&n.contains(h))return!1;return!0}class ln{static fromUser(u,n){if(!u||typeof u!=="object")return new ln(n.kind,n.apply,!1);return new ln(ln.getKindFromUser(u,n.kind),ln.getApplyFromUser(u,n.apply),ln.getPreferredUser(u))}static getApplyFromUser(u,n){switch(typeof u.apply==="string"?u.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return n}}static getKindFromUser(u,n){return typeof u.kind==="string"?new jt(u.kind):n}static getPreferredUser(u){return typeof u.preferred==="boolean"?u.preferred:!1}constructor(u,n,h){this.kind=u,this.apply=n,this.preferred=h}}class ab{constructor(u,n,h){this.action=u,this.provider=n,this.highlightRange=h}async resolve(u){if(this.provider?.resolveCodeAction&&!this.action.edit){let n;try{n=await this.provider.resolveCodeAction(this.action,u)}catch(h){vt(h)}if(n)this.action.edit=n.edit}return this}}var lp="editor.action.codeAction",Bs="editor.action.quickFix",rc="editor.action.autoFix",hp="editor.action.refactor",up="editor.action.sourceAction",Jl="editor.action.organizeImports",Ql="editor.action.fixAll",CT=1000;class Yl extends i{static codeActionsPreferredComparator(u,n){if(u.isPreferred&&!n.isPreferred)return-1;else if(!u.isPreferred&&n.isPreferred)return 1;else return 0}static codeActionsComparator({action:u},{action:n}){if(u.isAI&&!n.isAI)return 1;else if(!u.isAI&&n.isAI)return-1;if(qn(u.diagnostics))return qn(n.diagnostics)?Yl.codeActionsPreferredComparator(u,n):-1;else if(qn(n.diagnostics))return 1;else return Yl.codeActionsPreferredComparator(u,n)}constructor(u,n,h){super();this.documentation=n,this._register(h),this.allActions=[...u].sort(Yl.codeActionsComparator),this.validActions=this.allActions.filter(({action:g})=>!g.disabled)}get hasAutoFix(){return this.validActions.some(({action:u})=>!!u.kind&&_t.QuickFix.contains(new jt(u.kind))&&!!u.isPreferred)}get hasAIFix(){return this.validActions.some(({action:u})=>!!u.isAI)}get allAIFixes(){return this.validActions.every(({action:u})=>!!u.isAI)}}var Z0={actions:[],documentation:void 0};async function Vs(u,n,h,g,p,m){let _=g.filter||{},v={..._,excludes:[..._.excludes||[],_t.Notebook]},S={only:_.include?.value,trigger:g.type},C=new Sy(n,m),L=g.type===2,R=yT(u,n,L?v:_),Z=new d,Y=R.map(async(ee)=>{let oe=setTimeout(()=>p.report(ee),1250);try{let ne=await ee.provideCodeActions(n,h,S,C.token);if(C.token.isCancellationRequested)return ne?.dispose(),Z0;if(ne)Z.add(ne);let de=(ne?.actions||[]).filter((_e)=>_e&&E0(_,_e)),ge=IT(ee,de,_.include);return{actions:de.map((_e)=>new ab(_e,ee)),documentation:ge}}catch(ne){if(mi(ne))throw ne;return vt(ne),Z0}finally{clearTimeout(oe)}}),Q=u.onDidChange(()=>{let ee=u.all(n);if(!ot(ee,R))C.cancel()});try{let ee=await Promise.all(Y),oe=ee.map((ge)=>ge.actions).flat(),ne=[...vo(ee.map((ge)=>ge.documentation)),...xT(u,n,g,oe)],de=new Yl(oe,ne,Z);return Z.add(de),de}catch(ee){throw Z.dispose(),ee}finally{Q.dispose(),C.dispose()}}function yT(u,n,h){return u.all(n).filter((g)=>{if(!g.providedCodeActionKinds)return!0;return g.providedCodeActionKinds.some((p)=>l0(h,new jt(p)))})}function*xT(u,n,h,g){if(n&&g.length){for(let p of u.all(n))if(p._getAdditionalMenuItems)yield*p._getAdditionalMenuItems?.({trigger:h.type,only:h.filter?.include?.value},g.map((m)=>m.action))}}function IT(u,n,h){if(!u.documentation)return;let g=u.documentation.map((p)=>({kind:new jt(p.kind),command:p.command}));if(h){let p;for(let m of g)if(m.kind.contains(h)){if(!p)p=m;else if(p.kind.contains(m.kind))p=m}if(p)return p?.command}for(let p of n){if(!p.kind)continue;for(let m of g)if(m.kind.contains(new jt(p.kind)))return m.command}return}var br;(function(u){u.OnSave="onSave",u.FromProblemsView="fromProblemsView",u.FromCodeActions="fromCodeActions",u.FromAILightbulb="fromAILightbulb",u.FromProblemsHover="fromProblemsHover"})(br||(br={}));async function X0(u,n,h,g,p=ye.None){let m=u.get(Sc),_=u.get(Ue),v=u.get(Bn),S=u.get(yt),C=u.get(xs);if(v.publicLog2("codeAction.applyCodeAction",{codeActionTitle:n.action.title,codeActionKind:n.action.kind,codeActionIsPreferred:!!n.action.isPreferred,reason:h}),C.playSignal(tt.codeActionTriggered),await n.resolve(p),p.isCancellationRequested)return;if(n.action.edit?.edits.length){if(!(await m.apply(n.action.edit,{editor:g?.editor,label:n.action.title,quotableLabel:n.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:h!==br.OnSave,showPreview:g?.preview,reason:Yn.codeAction({kind:n.action.kind,providerId:Vv.fromExtensionId(n.provider?.extensionId)})})).isApplied)return}if(n.action.command)try{await _.executeCommand(n.action.command.id,...n.action.command.arguments||[])}catch(L){let R=LT(L);S.error(typeof R==="string"?R:e(881,"An unknown error occurred while applying the code action"))}setTimeout(()=>C.playSignal(tt.codeActionApplied),CT)}function LT(u){if(typeof u==="string")return u;else if(u instanceof Error&&typeof u.message==="string")return u.message;else return}Le.registerCommand("_executeCodeActionProvider",async function(u,n,h,g,p){if(!(n instanceof q))throw yo();let{codeActionProvider:m}=u.get(z),_=u.get(Et).getModel(n);if(!_)throw yo();let v=F.isISelection(h)?F.liftSelection(h):t.isIRange(h)?_.validateRange(h):void 0;if(!v)throw yo();let S=typeof g==="string"?new jt(g):void 0,C=await Vs(m,_,v,{type:1,triggerAction:Si.Default,filter:{includeSourceActions:!0,include:S}},Ga.None,ye.None),L=[],R=Math.min(C.validActions.length,typeof p==="number"?p:0);for(let Z=0;Z<R;Z++)L.push(C.validActions[Z].resolve(ye.None));try{return await Promise.all(L),C.validActions.map((Z)=>Z.action)}finally{setTimeout(()=>C.dispose(),100)}});var kT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ET=function(u,n){return function(h,g){n(h,g,u)}},db,gp=class u{static{db=this}static{this.codeActionCommands=[hp,lp,up,Jl,Ql]}constructor(n){this.keybindingService=n}getResolver(){let n=new ii(()=>this.keybindingService.getKeybindings().filter((h)=>db.codeActionCommands.indexOf(h.command)>=0).filter((h)=>h.resolvedKeybinding).map((h)=>{let g=h.commandArgs;if(h.command===Jl)g={kind:_t.SourceOrganizeImports.value};else if(h.command===Ql)g={kind:_t.SourceFixAll.value};return{resolvedKeybinding:h.resolvedKeybinding,...ln.fromUser(g,{kind:jt.None,apply:"never"})}}));return(h)=>{if(h.kind)return this.bestKeybindingForCodeAction(h,n.value)?.resolvedKeybinding;return}}bestKeybindingForCodeAction(n,h){if(!n.kind)return;let g=new jt(n.kind);return h.filter((p)=>p.kind.contains(g)).filter((p)=>{if(p.preferred)return n.isPreferred;return!0}).reduceRight((p,m)=>{if(!p)return m;return p.kind.contains(m.kind)?m:p},void 0)}};gp=db=kT([ET(0,me)],gp);a("symbolIcon.arrayForeground",Ae,e(1569,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.booleanForeground",Ae,e(1570,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},e(1571,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.colorForeground",Ae,e(1572,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.constantForeground",Ae,e(1573,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},e(1574,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},e(1575,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1576,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},e(1577,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1578,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.fileForeground",Ae,e(1579,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.folderForeground",Ae,e(1580,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},e(1581,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1582,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.keyForeground",Ae,e(1583,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.keywordForeground",Ae,e(1584,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},e(1585,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.moduleForeground",Ae,e(1586,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.namespaceForeground",Ae,e(1587,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.nullForeground",Ae,e(1588,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.numberForeground",Ae,e(1589,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.objectForeground",Ae,e(1590,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.operatorForeground",Ae,e(1591,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.packageForeground",Ae,e(1592,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.propertyForeground",Ae,e(1593,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.referenceForeground",Ae,e(1594,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.snippetForeground",Ae,e(1595,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.stringForeground",Ae,e(1596,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.structForeground",Ae,e(1597,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.textForeground",Ae,e(1598,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.typeParameterForeground",Ae,e(1599,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.unitForeground",Ae,e(1600,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));a("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},e(1601,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var Y0=Object.freeze({kind:jt.Empty,title:e(917,"More Actions...")}),DT=Object.freeze([{kind:_t.QuickFix,title:e(918,"Quick Fix")},{kind:_t.RefactorExtract,title:e(919,"Extract"),icon:x.wrench},{kind:_t.RefactorInline,title:e(920,"Inline"),icon:x.wrench},{kind:_t.RefactorRewrite,title:e(921,"Rewrite"),icon:x.wrench},{kind:_t.RefactorMove,title:e(922,"Move"),icon:x.wrench},{kind:_t.SurroundWith,title:e(923,"Surround With"),icon:x.surroundWith},{kind:_t.Source,title:e(924,"Source Action"),icon:x.symbolFile},Y0]);function Q0(u,n,h){if(!n)return u.map((m)=>({kind:"action",item:m,group:Y0,disabled:!!m.action.disabled,label:m.action.disabled||m.action.title,canPreview:!!m.action.edit?.edits.length}));let g=DT.map((m)=>({group:m,actions:[]}));for(let m of u){let _=m.action.kind?new jt(m.action.kind):jt.None;for(let v of g)if(v.group.kind.contains(_)){v.actions.push(m);break}}let p=[];for(let m of g)if(m.actions.length){p.push({kind:"header",group:m.group});for(let _ of m.actions){let v=m.group;p.push({kind:"action",item:_,group:_.action.isAI?{title:v.title,kind:v.kind,icon:x.sparkle}:v,label:_.action.title,disabled:!!_.action.disabled,keybinding:h(_.action)})}}return p}var cb=new M("supportedCodeAction",""),eL="_typescript.applyFixAllCodeAction";class tL extends i{constructor(u,n,h,g=250){super();this._editor=u,this._markerService=n,this._signalChange=h,this._delay=g,this._autoTriggerTimer=this._register(new di),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged((p)=>this._onMarkerChanges(p))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(u){let n=this._getRangeOfSelectionUnlessWhitespaceEnclosed(u);this._signalChange(n?{trigger:u,selection:n}:void 0)}_onMarkerChanges(u){let n=this._editor.getModel();if(n&&u.some((h)=>gs(h,n.uri)))this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Si.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(u){if(!this._editor.hasModel())return;let n=this._editor.getSelection();if(u.type===1)return n;let h=this._editor.getOption(73).enabled;if(h===Os.Off&&!this.ignoreLightbulbOff)return;else if(h===Os.Off||h===Os.On)return n;else if(h===Os.OnCode){if(!n.isEmpty())return n;let p=this._editor.getModel(),{lineNumber:m,column:_}=n.getPosition(),v=p.getLineContent(m);if(v.length===0)return;else if(_===1){if(/\s/.test(v[0]))return}else if(_===p.getLineMaxColumn(m)){if(/\s/.test(v[v.length-1]))return}else if(/\s/.test(v[_-2])&&/\s/.test(v[_-1]))return}return n}}var Pa;(function(u){u.Empty={type:0};class n{constructor(h,g,p){this.trigger=h,this.position=g,this._cancellablePromise=p,this.type=1,this.actions=p.catch((m)=>{if(mi(m))return eh;throw m})}cancel(){this._cancellablePromise.cancel()}}u.Triggered=n})(Pa||(Pa={}));var eh=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class lb extends i{constructor(u,n,h,g,p,m){super();this._editor=u,this._registry=n,this._markerService=h,this._progressService=p,this._configurationService=m,this._codeActionOracle=this._register(new ce),this._state=Pa.Empty,this._onDidChangeState=this._register(new o),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new ce),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=cb.bindTo(g),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((_)=>{if(_.hasChanged(73))this._update()})),this._update()}dispose(){if(this._disposed)return;this._disposed=!0,super.dispose(),this.setState(Pa.Empty,!0)}_settingEnabledNearbyQuickfixes(){let u=this._editor?.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:u?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(Pa.Empty),this.codeActionsDisposable.clear();let u=this._editor.getModel();if(u&&this._registry.has(u)&&!this._editor.getOption(104)){let n=this._registry.all(u).flatMap((g)=>g.providedCodeActionKinds??[]);this._supportedCodeActions.set(n.join(" "));let h=new tL(this._editor,this._markerService,(g)=>{if(!g){this.setState(Pa.Empty);return}let p=g.selection.getStartPosition(),m=Yt(async(S)=>{if(this._settingEnabledNearbyQuickfixes()&&g.trigger.type===1&&(g.trigger.triggerAction===Si.QuickFix||g.trigger.filter?.include?.contains(_t.QuickFix))){let L=new d,R=!1;try{let Z=L.add(await Vs(this._registry,u,g.selection,g.trigger,Ga.None,S)),Y=[...Z.allActions];if(S.isCancellationRequested)return eh;let Q=Z.validActions?.some((oe)=>oe.action.kind&&_t.QuickFix.contains(new jt(oe.action.kind))&&!oe.action.isAI),ee=this._markerService.read({resource:u.uri});if(Q){for(let ne of Z.validActions)if(ne.action.command?.arguments?.some((de)=>typeof de==="string"&&de.includes(eL)))ne.action.diagnostics=[...ee.filter((de)=>de.relatedInformation)];let oe=this._setCodeActions({validActions:Z.validActions,allActions:Y,documentation:Z.documentation,hasAutoFix:Z.hasAutoFix,hasAIFix:Z.hasAIFix,allAIFixes:Z.allAIFixes,dispose:()=>L.dispose()});return R=!0,oe}else if(!Q){if(ee.length>0){let oe=g.selection.getPosition(),ne=oe,de=Number.MAX_VALUE,ge=[...Z.validActions];for(let ae of ee){let{endColumn:pe,endLineNumber:Ne,startLineNumber:Me}=ae;if(Ne===oe.lineNumber||Me===oe.lineNumber){ne=new s(Ne,pe);let Oe={type:g.trigger.type,triggerAction:g.trigger.triggerAction,filter:{include:g.trigger.filter?.include?g.trigger.filter?.include:_t.QuickFix},autoApply:g.trigger.autoApply,context:{notAvailableMessage:g.trigger.context?.notAvailableMessage||"",position:ne}},Ce=new F(ne.lineNumber,ne.column,ne.lineNumber,ne.column),He=L.add(await Vs(this._registry,u,Ce,Oe,Ga.None,S));if(S.isCancellationRequested)return eh;if(He.validActions.length!==0){for(let it of He.validActions)if(it.action.command?.arguments?.some((Ve)=>typeof Ve==="string"&&Ve.includes(eL)))it.action.diagnostics=[...ee.filter((Ve)=>Ve.relatedInformation)];if(Z.allActions.length===0)Y.push(...He.allActions);if(Math.abs(oe.column-pe)<de)ge.unshift(...He.validActions);else ge.push(...He.validActions)}de=Math.abs(oe.column-pe)}}let _e=ge.filter((ae,pe,Ne)=>Ne.findIndex((Me)=>Me.action.title===ae.action.title)===pe);_e.sort((ae,pe)=>{if(ae.action.isPreferred&&!pe.action.isPreferred)return-1;else if(!ae.action.isPreferred&&pe.action.isPreferred)return 1;else if(ae.action.isAI&&!pe.action.isAI)return 1;else if(!ae.action.isAI&&pe.action.isAI)return-1;else return 0});let Se=this._setCodeActions({validActions:_e,allActions:Y,documentation:Z.documentation,hasAutoFix:Z.hasAutoFix,hasAIFix:Z.hasAIFix,allAIFixes:Z.allAIFixes,dispose:()=>L.dispose()});return R=!0,Se}}}finally{if(!R)L.dispose()}}if(g.trigger.type===1){let L=await Vs(this._registry,u,g.selection,g.trigger,Ga.None,S);if(S.isCancellationRequested)return L.dispose(),eh;return this._setCodeActions(L)}let C=await Vs(this._registry,u,g.selection,g.trigger,Ga.None,S);if(S.isCancellationRequested)return C.dispose(),eh;return this._setCodeActions(C)});if(g.trigger.type===1)this._progressService?.showWhile(m,250);let _=new Pa.Triggered(g.trigger,p,m),v=!1;if(this._state.type===1)v=this._state.trigger.type===1&&_.type===1&&_.trigger.type===2&&this._state.position!==_.position;if(!v)this.setState(_);else setTimeout(()=>{this.setState(_)},500)},void 0);h.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=h,this._codeActionOracle.value.trigger({type:2,triggerAction:Si.Default})}else this._supportedCodeActions.reset()}_setCodeActions(u){return this.codeActionsDisposable.value=u,u}takeCodeActions(u){if(this.codeActionsDisposable.value!==u)return;return this.codeActionsDisposable.clearAndLeak(),u}trigger(u){this._codeActionOracle.value?.trigger(u),this.codeActionsDisposable.clear()}setState(u,n){if(u===this._state)return;if(this._state.type===1)this._state.cancel();if(this._state=u,!n&&!this._disposed)this._onDidChangeState.fire(u)}}var TT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},RT=function(u,n){return function(h,g){n(h,g,u)}},zs,iL=Mt("gutter-lightbulb",x.lightBulb,e(925,"Icon which spawns code actions menu from the gutter when there is no space in the editor.")),oL=Mt("gutter-lightbulb-auto-fix",x.lightbulbAutofix,e(926,"Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),nL=Mt("gutter-lightbulb-sparkle",x.lightbulbSparkle,e(927,"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),rL=Mt("gutter-lightbulb-aifix-auto-fix",x.lightbulbSparkleAutofix,e(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.")),sL=Mt("gutter-lightbulb-sparkle-filled",x.sparkleFilled,e(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.")),Un;(function(u){u.Hidden={type:0};class n{constructor(h,g,p,m){this.actions=h,this.trigger=g,this.editorPosition=p,this.widgetPosition=m,this.type=1}}u.Showing=n})(Un||(Un={}));function hb(u,n,h,g,p=!1){if(u.validActions.length<=0)return;let m,_=!1;if(u.allAIFixes){if(m=p?sL:x.sparkleFilled,u.validActions.length===1)_=!0}else if(u.hasAutoFix)if(u.hasAIFix)m=p?rL:x.lightbulbSparkleAutofix;else m=p?oL:x.lightbulbAutofix;else if(u.hasAIFix)m=p?nL:x.lightbulbSparkle;else m=p?iL:x.lightBulb;let v;if(_)v=e(930,"Run: {0}",u.validActions[0].action.title);else if(u.hasAutoFix&&h)v=e(931,"Show Code Actions. Preferred Quick Fix Available ({0})",h);else if(!u.hasAutoFix&&g)v=e(932,"Show Code Actions ({0})",g);else v=e(933,"Show Code Actions");return{actions:u,trigger:n,icon:m,autoRun:_,title:v,isGutter:p}}var Aa=class u extends i{static{zs=this}static{this.GUTTER_DECORATION=ue.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:J.asClassName(x.lightBulb),glyphMargin:{position:es.Left},stickiness:1})}static{this.ID="editor.contrib.lightbulbWidget"}static{this._posPref=[0]}static _computeLightBulbInfo(n,h,g,p){if(n.type!==1)return;return hb(n.actions,n.trigger,g,p,h)}constructor(n,h){super();this._editor=n,this._keybindingService=h,this.onlyWithEmptySelection=!1,this._onClick=this._register(new o),this.onClick=this._onClick.event,this._state=j(this,Un.Hidden),this._gutterState=j(this,Un.Hidden),this._combinedInfo=f(this,(g)=>{let p=this._gutterState.read(g);if(p.type===1)return zs._computeLightBulbInfo(p,!0,this._preferredKbLabel.read(g),this._quickFixKbLabel.read(g));let m=this._state.read(g);if(m.type===1)return zs._computeLightBulbInfo(m,!1,this._preferredKbLabel.read(g),this._quickFixKbLabel.read(g));return}),this._iconClasses=[],this.lightbulbClasses=["codicon-"+iL.id,"codicon-"+rL.id,"codicon-"+oL.id,"codicon-"+nL.id,"codicon-"+sL.id],this._preferredKbLabel=j(this,void 0),this._quickFixKbLabel=j(this,void 0),this.gutterDecoration=zs.GUTTER_DECORATION,this._domNode=w("div.lightBulbWidget"),this._domNode.role="listbox",this._register(Ot.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((g)=>{let p=this._editor.getModel(),m=this._state.get();if(m.type!==1||!p||m.editorPosition.lineNumber>=p.getLineCount())this.hide();let _=this._gutterState.get();if(_.type!==1||!p||_.editorPosition.lineNumber>=p.getLineCount())this.gutterHide()})),this._register(AM(this._domNode,(g)=>{let p=this._state.get();if(p.type!==1)return;this._editor.focus(),g.preventDefault();let{top:m,height:_}=kt(this._domNode),v=this._editor.getOption(75),S=Math.floor(v/3);if(p.widgetPosition.position!==null&&p.widgetPosition.position.lineNumber<p.editorPosition.lineNumber)S+=v;this._onClick.fire({x:g.posx,y:m+_+S,actions:p.actions,trigger:p.trigger})})),this._register(c(this._domNode,"mouseenter",(g)=>{if((g.buttons&1)!==1)return;this.hide()})),this._register(I.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(rc)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Bs)?.getLabel()??void 0,void 0)})),this._register(W((g)=>{let p=this._combinedInfo.read(g);this._updateLightBulbTitleAndIcon(p),this._updateGutterDecorationOptions(p)})),this._register(this._editor.onMouseDown(async(g)=>{if(!g.target.element||!this.lightbulbClasses.some((C)=>g.target.element&&g.target.element.classList.contains(C)))return;let p=this._gutterState.get();if(p.type!==1)return;this._editor.focus();let{top:m,height:_}=kt(g.target.element),v=this._editor.getOption(75),S=Math.floor(v/3);if(p.widgetPosition.position!==null&&p.widgetPosition.position.lineNumber<p.editorPosition.lineNumber)S+=v;this._onClick.fire({x:g.event.posx,y:m+_+S,actions:p.actions,trigger:p.trigger})}))}dispose(){if(super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID)this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){let n=this._state.get();return n.type===1?n.widgetPosition:null}update(n,h,g){if(n.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 _=this._editor.getModel();if(!_)return this.gutterHide(),this.hide();let{lineNumber:v,column:S}=_.validatePosition(g),C=_.getOptions().tabSize,L=this._editor.getOptions().get(59),R=_.getLineContent(v),Z=Eg(R,C),Y=L.spaceWidth*Z>22,Q=(Se)=>Se>2&&this._editor.getTopForLineNumber(Se)===this._editor.getTopForLineNumber(Se-1),ee=this._editor.getLineDecorations(v),oe=!1;if(ee)for(let Se of ee){let ae=Se.options.glyphMarginClassName;if(ae&&!this.lightbulbClasses.some((pe)=>ae.includes(pe))){oe=!0;break}}let ne=v,de=1;if(!Y){let Se=(ae)=>{let pe=_.getLineContent(ae);return/^\s*$|^\s+/.test(pe)||pe.length<=de};if(v>1&&!Q(v-1)){let ae=_.getLineCount(),pe=v===ae,Ne=v>1&&Se(v-1),Me=!pe&&Se(v+1),Oe=Se(v),Ce=!Me&&!Ne;if(!Me&&!Ne&&!oe)return this._gutterState.set(new Un.Showing(n,h,g,{position:{lineNumber:ne,column:de},preference:zs._posPref}),void 0),this.renderGutterLightbub(),this.hide();else if(Ne||pe||Ne&&!Oe)ne-=1;else if(Me||Ce&&Oe)ne+=1}else if(v===1&&(v===_.getLineCount()||!Se(v+1)&&!Se(v)))if(this._gutterState.set(new Un.Showing(n,h,g,{position:{lineNumber:ne,column:de},preference:zs._posPref}),void 0),oe)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(v<_.getLineCount()&&!Q(v+1))ne+=1;else if(S*L.spaceWidth<22)return this.hide();de=/^\S\s*$/.test(_.getLineContent(ne))?2:1}if(this._state.set(new Un.Showing(n,h,g,{position:{lineNumber:ne,column:de},preference:zs._posPref}),void 0),this._gutterDecorationID)this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide();let ge=n.validActions,_e=n.validActions[0].action.kind;if(ge.length!==1||!_e){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){if(this._state.get()===Un.Hidden)return;this._state.set(Un.Hidden,void 0),this._editor.layoutContentWidget(this)}gutterHide(){if(this._gutterState.get()===Un.Hidden)return;if(this._gutterDecorationID)this._removeGutterDecoration(this._gutterDecorationID);this._gutterState.set(Un.Hidden,void 0)}_updateLightBulbTitleAndIcon(n){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],!n||n.isGutter)return;this._domNode.title=n.title,this._iconClasses=J.asClassNameArray(n.icon),this._domNode.classList.add(...this._iconClasses)}_updateGutterDecorationOptions(n){if(!n||!n.isGutter)return;this.gutterDecoration=ue.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:J.asClassName(n.icon),glyphMargin:{position:es.Left},stickiness:1})}renderGutterLightbub(){let n=this._editor.getSelection();if(!n)return;if(this._gutterDecorationID===void 0)this._addGutterDecoration(n.startLineNumber);else this._updateGutterDecoration(this._gutterDecorationID,n.startLineNumber)}_addGutterDecoration(n){this._editor.changeDecorations((h)=>{this._gutterDecorationID=h.addDecoration(new t(n,0,n,0),this.gutterDecoration)})}_removeGutterDecoration(n){this._editor.changeDecorations((h)=>{h.removeDecoration(n),this._gutterDecorationID=void 0})}_updateGutterDecoration(n,h){this._editor.changeDecorations((g)=>{g.changeDecoration(n,new t(h,0,h,0)),g.changeDecorationOptions(n,this.gutterDecoration)})}};Aa=zs=TT([RT(1,me)],Aa);var NT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Gn=function(u,n){return function(h,g){n(h,g,u)}},cc,MT="quickfix-edit-highlight",vr=class u extends i{static{cc=this}static{this.ID="editor.contrib.codeActionController"}static get(n){return n.getContribution(cc.ID)}constructor(n,h,g,p,m,_,v,S,C,L,R,Z){super();this._commandService=v,this._configurationService=S,this._actionWidgetService=C,this._instantiationService=L,this._progressService=R,this._keybindingService=Z,this._activeCodeActions=this._register(new ce),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=j(this,void 0),this._preferredKbLabel=j(this,void 0),this._quickFixKbLabel=j(this,void 0),this._editor=n,this._model=this._register(new lb(this._editor,m.codeActionProvider,h,g,_,S)),this._register(this._model.onDidChangeState((Y)=>this.update(Y))),this._register(I.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(rc)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Bs)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new ii(()=>{let Y=this._editor.getContribution(Aa.ID);if(Y)this._register(Y.onClick((Q)=>this.showCodeActionsFromLightbulb(Q.actions,Q))),Y.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection;return Y}),this._resolver=p.createInstance(gp),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(n,h){if(n.allAIFixes&&n.validActions.length===1){let g=n.validActions[0],p=g.action.command;if(p&&p.id==="inlineChat.start"){if(p.arguments&&p.arguments.length>=1&&p.arguments[0])p.arguments[0]={...p.arguments[0],autoSend:!1}}await this.applyCodeAction(g,!1,!1,br.FromAILightbulb);return}await this.showCodeActionList(n,h,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(n,h,g){return this.showCodeActionList(h,g,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(n,h,g,p){if(!this._editor.hasModel())return;pi.get(this._editor)?.closeMessage();let m=this._editor.getPosition();this._trigger({type:1,triggerAction:h,filter:g,autoApply:p,context:{notAvailableMessage:n,position:m}})}_trigger(n){return this._model.trigger(n)}async applyCodeAction(n,h,g,p){let m=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(X0,n,p,{preview:g,editor:this._editor})}finally{if(h)this._trigger({type:2,triggerAction:Si.QuickFix,filter:{}});m.done()}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(n){if(n.type!==1){this.hideLightBulbWidget(),this._lightBulbInfoObs.set(void 0,void 0);return}let h;try{h=this._model.takeCodeActions(await n.actions)}catch(p){X(p);return}if(!h)return;if(this._disposed){h.dispose();return}if(this._editor.getSelection()?.startLineNumber!==n.position.lineNumber){h.dispose();return}if(this._lightBulbWidget.value?.update(h,n.trigger,n.position),this._lightBulbInfoObs.set(hb(h,n.trigger,this._preferredKbLabel.get(),this._quickFixKbLabel.get()),void 0),n.trigger.type===1){if(n.trigger.filter?.include){let m=this.tryGetValidActionToApply(n.trigger,h);if(m){try{this.hideLightBulbWidget(),await this.applyCodeAction(m,!1,!1,br.FromCodeActions)}finally{h.dispose()}return}if(n.trigger.context){let _=this.getInvalidActionThatWouldHaveBeenApplied(n.trigger,h);if(_&&_.action.disabled){pi.get(this._editor)?.showMessage(_.action.disabled,n.trigger.context.position),h.dispose();return}}}let p=!!n.trigger.filter?.include;if(n.trigger.context){if(!h.allActions.length||!p&&!h.validActions.length){pi.get(this._editor)?.showMessage(n.trigger.context.notAvailableMessage,n.trigger.context.position),this._activeCodeActions.value=h,h.dispose();return}}this._activeCodeActions.value=h,this.showCodeActionList(h,this.toCoords(n.position),{includeDisabledActions:p,fromLightbulb:!1})}else if(this._actionWidgetService.isVisible)h.dispose();else this._activeCodeActions.value=h}getInvalidActionThatWouldHaveBeenApplied(n,h){if(!h.allActions.length)return;if(n.autoApply==="first"&&h.validActions.length===0||n.autoApply==="ifSingle"&&h.allActions.length===1)return h.allActions.find(({action:g})=>g.disabled);return}tryGetValidActionToApply(n,h){if(!h.validActions.length)return;if(n.autoApply==="first"&&h.validActions.length>0||n.autoApply==="ifSingle"&&h.validActions.length===1)return h.validActions[0];return}static{this.DECORATION=ue.register({description:"quickfix-highlight",className:MT})}async showCodeActionList(n,h,g){let p=this._editor.createDecorationsCollection(),m=this._editor.getDomNode();if(!m)return;let _=g.includeDisabledActions&&(this._showDisabled||n.validActions.length===0)?n.allActions:n.validActions;if(!_.length)return;let v=s.isIPosition(h)?this.toCoords(h):h,S={onSelect:async(C,L)=>{this.applyCodeAction(C,!0,!!L,g.fromLightbulb?br.FromAILightbulb:br.FromCodeActions),this._actionWidgetService.hide(!1),p.clear()},onHide:(C)=>{this._editor?.focus(),p.clear()},onHover:async(C,L)=>{if(L.isCancellationRequested)return;let R=!1,Z=C.action.kind;if(Z){let Y=new jt(Z);R=[_t.RefactorExtract,_t.RefactorInline,_t.RefactorRewrite,_t.RefactorMove,_t.Source].some((ee)=>ee.contains(Y))}return{canPreview:R||!!C.action.edit?.edits.length}},onFocus:(C)=>{if(C&&C.action){let L=C.action.ranges,R=C.action.diagnostics;if(p.clear(),L&&L.length>0){let Z=R&&R?.length>1?R.map((Y)=>({range:Y,options:cc.DECORATION})):L.map((Y)=>({range:Y,options:cc.DECORATION}));p.set(Z)}else if(R&&R.length>0){let Z=R.map((Q)=>({range:Q,options:cc.DECORATION}));p.set(Z);let Y=R[0];if(Y.startLineNumber&&Y.startColumn){let Q=this._editor.getModel()?.getWordAtPosition({lineNumber:Y.startLineNumber,column:Y.startColumn})?.word;jo(e(914,"Context: {0} at line {1} and column {2}.",Q,Y.startLineNumber,Y.startColumn))}}}else p.clear()}};this._actionWidgetService.show("codeActionWidget",!0,Q0(_,this._shouldShowHeaders(),this._resolver.getResolver()),S,v,m,this._getActionBarActions(n,h,g))}toCoords(n){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(n,1),this._editor.render();let h=this._editor.getScrolledVisiblePosition(n),g=kt(this._editor.getDomNode()),p=g.left+h.left,m=g.top+h.top+h.height;return{x:p,y:m}}_shouldShowHeaders(){let n=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:n?.uri})}_getActionBarActions(n,h,g){if(g.fromLightbulb)return[];let p=n.documentation.map((m)=>({id:m.id,label:m.title,tooltip:m.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(m.id,...m.arguments??[])}));if(g.includeDisabledActions&&n.validActions.length>0&&n.allActions.length!==n.validActions.length)p.push(this._showDisabled?{id:"hideMoreActions",label:e(915,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(n,h,g))}:{id:"showMoreActions",label:e(916,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(n,h,g))});return p}};vr=cc=NT([Gn(1,Fr),Gn(2,G),Gn(3,A),Gn(4,z),Gn(5,Hs),Gn(6,Ue),Gn(7,re),Gn(8,Co),Gn(9,A),Gn(10,Hs),Gn(11,me)],vr);Li((u,n)=>{((p,m)=>{if(m)n.addRule(`.monaco-editor ${p} { background-color: ${m}; }`)})(".quickfix-edit-highlight",u.getColor(da));let g=u.getColor(fc);if(g)n.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${fr(u.type)?"dotted":"solid"} ${g}; box-sizing: border-box; }`)});function th(u){return T.regex(cb.keys()[0],new RegExp("(\\s|^)"+Ui(u.value)+"\\b"))}var ub={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:e(882,"Kind of the code action to run.")},apply:{type:"string",description:e(883,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[e(884,"Always apply the first returned code action."),e(885,"Apply the first returned code action if it is the only one."),e(886,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:e(887,"Controls if only preferred code actions should be returned.")}}};function Fa(u,n,h,g,p=Si.Default){if(u.hasModel())vr.get(u)?.manualTriggerAtCurrentPosition(n,p,h,g)}class gb extends pr{constructor(){super({id:Bs,title:b(904,"Quick Fix..."),precondition:T.and(r.writable,r.hasCodeActionsProvider),icon:x.lightBulb,f1:!0,keybinding:{when:r.textInputFocus,primary:2137,weight:100},menu:{id:l.InlineChatEditorAffordance,group:"1_quickfix",order:0,when:T.and(r.writable,r.hasCodeActionsProvider)}})}runEditorCommand(u,n){return Fa(n,e(888,"No code actions available"),void 0,void 0,Si.QuickFix)}}class pb extends en{constructor(){super({id:lp,precondition:T.and(r.writable,r.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:ub}]}})}runEditorCommand(u,n,h){let g=ln.fromUser(h,{kind:jt.Empty,apply:"ifSingle"});return Fa(n,typeof h?.kind==="string"?g.preferred?e(889,"No preferred code actions for '{0}' available",h.kind):e(890,"No code actions for '{0}' available",h.kind):g.preferred?e(891,"No preferred code actions available"):e(892,"No code actions available"),{include:g.kind,includeSourceActions:!0,onlyIncludePreferredActions:g.preferred},g.apply)}}class mb extends U{constructor(){super({id:hp,label:b(905,"Refactor..."),precondition:T.and(r.writable,r.hasCodeActionsProvider),kbOpts:{kbExpr:r.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:T.and(r.writable,th(_t.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:ub}]}})}run(u,n,h){let g=ln.fromUser(h,{kind:_t.Refactor,apply:"never"});return Fa(n,typeof h?.kind==="string"?g.preferred?e(893,"No preferred refactorings for '{0}' available",h.kind):e(894,"No refactorings for '{0}' available",h.kind):g.preferred?e(895,"No preferred refactorings available"):e(896,"No refactorings available"),{include:_t.Refactor.contains(g.kind)?g.kind:jt.None,onlyIncludePreferredActions:g.preferred},g.apply,Si.Refactor)}}class fb extends U{constructor(){super({id:up,label:b(906,"Source Action..."),precondition:T.and(r.writable,r.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:T.and(r.writable,th(_t.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:ub}]}})}run(u,n,h){let g=ln.fromUser(h,{kind:_t.Source,apply:"never"});return Fa(n,typeof h?.kind==="string"?g.preferred?e(897,"No preferred source actions for '{0}' available",h.kind):e(898,"No source actions for '{0}' available",h.kind):g.preferred?e(899,"No preferred source actions available"):e(900,"No source actions available"),{include:_t.Source.contains(g.kind)?g.kind:jt.None,includeSourceActions:!0,onlyIncludePreferredActions:g.preferred},g.apply,Si.SourceAction)}}class _b extends U{constructor(){super({id:Jl,label:b(907,"Organize Imports"),precondition:T.and(r.writable,th(_t.SourceOrganizeImports)),kbOpts:{kbExpr:r.textInputFocus,primary:1581,weight:100},metadata:{description:b(908,"Organize imports in the current file. Also called 'Optimize Imports' by some tools")}})}run(u,n){return Fa(n,e(901,"No organize imports action available"),{include:_t.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Si.OrganizeImports)}}class bb extends U{constructor(){super({id:Ql,label:b(909,"Fix All"),precondition:T.and(r.writable,th(_t.SourceFixAll))})}run(u,n){return Fa(n,e(902,"No fix all action available"),{include:_t.SourceFixAll,includeSourceActions:!0},"ifSingle",Si.FixAll)}}class vb extends U{constructor(){super({id:rc,label:b(910,"Auto Fix..."),precondition:T.and(r.writable,th(_t.QuickFix)),kbOpts:{kbExpr:r.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(u,n){return Fa(n,e(903,"No auto fixes available"),{include:_t.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Si.AutoFix)}}fe(vr.ID,vr,3);fe(Aa.ID,Aa,4);lt(gb);O(mb);O(fb);O(_b);O(vb);O(bb);K(new pb);pt.as(Dr.Configuration).registerConfiguration({...q0,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:6,description:e(911,"Enable/disable showing group headers in the Code Action menu."),default:!0}}});pt.as(Dr.Configuration).registerConfiguration({...q0,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:6,description:e(912,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});pt.as(Dr.Configuration).registerConfiguration({...q0,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:6,markdownDescription:e(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 aL=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ih=function(u,n){return function(h,g){n(h,g,u)}},pp=class u{static{this.ID="editor.contrib.autoFormat"}constructor(n,h,g,p){this._editor=n,this._languageFeaturesService=h,this._workerService=g,this._accessibilitySignalService=p,this._disposables=new d,this._sessionDisposables=new d,this._disposables.add(h.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(n.onDidChangeModel(()=>this._update())),this._disposables.add(n.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(n.onDidChangeConfiguration((m)=>{if(m.hasChanged(65))this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(65))return;if(!this._editor.hasModel())return;let n=this._editor.getModel(),[h]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(n);if(!h||!h.autoFormatTriggerCharacters)return;let g=new Sf;for(let p of h.autoFormatTriggerCharacters)g.add(p.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((p)=>{let m=p.charCodeAt(p.length-1);if(g.has(m))this._trigger(String.fromCharCode(m))}))}_trigger(n){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;let h=this._editor.getModel(),g=this._editor.getPosition(),p=new qe,m=this._editor.onDidChangeModelContent((_)=>{if(_.isFlush){p.cancel(),m.dispose();return}for(let v=0,S=_.changes.length;v<S;v++)if(_.changes[v].range.endLineNumber<=g.lineNumber){p.cancel(),m.dispose();return}});WI(this._workerService,this._languageFeaturesService,h,g,n,h.getFormattingOptions(),p.token).then((_)=>{if(p.token.isCancellationRequested)return;if(qn(_))this._accessibilitySignalService.playSignal(tt.format,{userGesture:!1}),Vf.execute(this._editor,_,!0)}).finally(()=>{m.dispose()})}};pp=aL([ih(1,z),ih(2,Mi),ih(3,xs)],pp);var mp=class u{static{this.ID="editor.contrib.formatOnPaste"}constructor(n,h,g){this.editor=n,this._languageFeaturesService=h,this._instantiationService=g,this._callOnDispose=new d,this._callOnModel=new d,this._callOnDispose.add(n.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(n.onDidChangeModel(()=>this._update())),this._callOnDispose.add(n.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(h.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){if(this._callOnModel.clear(),!this.editor.getOption(64))return;if(!this.editor.hasModel())return;if(!this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel()))return;this._callOnModel.add(this.editor.onDidPaste(({range:n})=>this._trigger(n)))}_trigger(n){if(!this.editor.hasModel())return;if(this.editor.getSelections().length>1)return;this._instantiationService.invokeFunction(zI,this.editor,n,2,Ga.None,ye.None,!1).catch(X)}};mp=aL([ih(1,z),ih(2,A)],mp);class dL extends U{constructor(){super({id:"editor.action.formatDocument",label:b(1072,"Format Document"),precondition:T.and(r.notInCompositeEditor,r.writable,r.hasDocumentFormattingProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(u,n){if(n.hasModel()){let h=u.get(A);await u.get(Hs).showWhile(h.invokeFunction(y2,n,1,Ga.None,ye.None,!0),250)}}}class cL extends U{constructor(){super({id:"editor.action.formatSelection",label:b(1073,"Format Selection"),precondition:T.and(r.writable,r.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2084),weight:100},contextMenuOpts:{when:r.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(u,n){if(!n.hasModel())return;let h=u.get(A),g=n.getModel(),p=n.getSelections().map((_)=>_.isEmpty()?new t(_.startLineNumber,1,_.startLineNumber,g.getLineMaxColumn(_.startLineNumber)):_);await u.get(Hs).showWhile(h.invokeFunction(zI,n,p,1,Ga.None,ye.None,!0),250)}}fe(pp.ID,pp,2);fe(mp.ID,mp,2);O(dL);O(cL);Le.registerCommand("editor.action.format",async(u)=>{let n=u.get(Te).getFocusedCodeEditor();if(!n||!n.hasModel())return;let h=u.get(Ue);if(n.getSelection().isEmpty())await h.executeCommand("editor.action.formatDocument");else await h.executeCommand("editor.action.formatSelection")});var fp="editor.action.showHover",lL="editor.action.showDefinitionPreviewHover",hL="editor.action.hideHover",uL="editor.action.scrollUpHover",gL="editor.action.scrollDownHover",pL="editor.action.scrollLeftHover",mL="editor.action.scrollRightHover",fL="editor.action.pageUpHover",_L="editor.action.pageDownHover",bL="editor.action.goToTopHover",vL="editor.action.goToBottomHover",qa="editor.action.increaseHoverVerbosityLevel",wL=e(1160,"Increase Hover Verbosity Level"),ja="editor.action.decreaseHoverVerbosityLevel",SL=e(1161,"Decrease Hover Verbosity Level"),oh="editor.action.hideLongLineWarningHover";function wb(u,n){return!!u[n]}class _p{constructor(u,n){if(this.target=u.target,this.isLeftClick=u.event.leftButton,this.isMiddleClick=u.event.middleButton,this.isRightClick=u.event.rightButton,this.mouseMiddleClickAction=n.mouseMiddleClickAction,this.hasTriggerModifier=wb(u.event,n.triggerModifier),this.isMiddleClick&&n.mouseMiddleClickAction==="ctrlLeftClick")this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0;this.hasSideBySideModifier=wb(u.event,n.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=u.event.detail<=1}}class Sb{constructor(u,n){this.keyCodeIsTriggerKey=u.keyCode===n.triggerKey,this.keyCodeIsSideBySideKey=u.keyCode===n.triggerSideBySideKey,this.hasTriggerModifier=wb(u,n.triggerModifier)}}class nh{constructor(u,n,h,g,p){this.mouseMiddleClickAction=p,this.triggerKey=u,this.triggerModifier=n,this.triggerSideBySideKey=h,this.triggerSideBySideModifier=g}equals(u){return this.triggerKey===u.triggerKey&&this.triggerModifier===u.triggerModifier&&this.triggerSideBySideKey===u.triggerSideBySideKey&&this.triggerSideBySideModifier===u.triggerSideBySideModifier&&this.mouseMiddleClickAction===u.mouseMiddleClickAction}}function CL(u,n){if(u==="altKey"){if(ve)return new nh(57,"metaKey",6,"altKey",n);return new nh(5,"ctrlKey",6,"altKey",n)}if(ve)return new nh(6,"altKey",57,"metaKey",n);return new nh(6,"altKey",5,"ctrlKey",n)}class Kr extends i{constructor(u,n){super();this._onMouseMoveOrRelevantKeyDown=this._register(new o),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new o),this.onExecute=this._onExecute.event,this._onCancel=this._register(new o),this.onCancel=this._onCancel.event,this._editor=u,this._extractLineNumberFromMouseEvent=n?.extractLineNumberFromMouseEvent??((h)=>h.target.position?h.target.position.lineNumber:0),this._opts=CL(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((h)=>{if(h.hasChanged(86)||h.hasChanged(87)){let g=CL(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(g))return;this._opts=g,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove((h)=>this._onEditorMouseMove(new _p(h,this._opts)))),this._register(this._editor.onMouseDown((h)=>this._onEditorMouseDown(new _p(h,this._opts)))),this._register(this._editor.onMouseUp((h)=>this._onEditorMouseUp(new _p(h,this._opts)))),this._register(this._editor.onKeyDown((h)=>this._onEditorKeyDown(new Sb(h,this._opts)))),this._register(this._editor.onKeyUp((h)=>this._onEditorKeyUp(new Sb(h,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection((h)=>this._onDidChangeCursorSelection(h))),this._register(this._editor.onDidChangeModel((h)=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange((h)=>{if(h.scrollTopChanged||h.scrollLeftChanged)this._resetHandler()}))}_onDidChangeCursorSelection(u){if(u.selection&&u.selection.startColumn!==u.selection.endColumn)this._resetHandler()}_onEditorMouseMove(u){this._lastMouseMoveEvent=u,this._onMouseMoveOrRelevantKeyDown.fire([u,null])}_onEditorMouseDown(u){this._hasTriggerKeyOnMouseDown=u.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(u)}_onEditorMouseUp(u){let n=this._extractLineNumberFromMouseEvent(u);if(!!this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===n&&(this._hasTriggerKeyOnMouseDown||u.isMiddleClick&&u.mouseMiddleClickAction==="openLink"))this._onExecute.fire(u)}_onEditorKeyDown(u){if(this._lastMouseMoveEvent&&(u.keyCodeIsTriggerKey||u.keyCodeIsSideBySideKey&&u.hasTriggerModifier))this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,u]);else if(u.hasTriggerModifier)this._onCancel.fire()}_onEditorKeyUp(u){if(u.keyCodeIsTriggerKey)this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class $o{constructor(u,n,h,g){this.isProviderFirst=u,this.parent=n,this.link=h,this._rangeCallback=g,this.id=N0.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(u){this._range=u,this._rangeCallback(this)}get ariaMessage(){let u=this.parent.getPreview(this)?.preview(this.range);if(!u)return e(1145,"in {0} on line {1} at column {2}",Oi(this.uri),this.range.startLineNumber,this.range.startColumn);else return e(1146,"{0} in {1} on line {2} at column {3}",u.value,Oi(this.uri),this.range.startLineNumber,this.range.startColumn)}}class yL{constructor(u){this._modelReference=u}dispose(){this._modelReference.dispose()}preview(u,n=8){let h=this._modelReference.object.textEditorModel;if(!h)return;let{startLineNumber:g,startColumn:p,endLineNumber:m,endColumn:_}=u,v=h.getWordUntilPosition({lineNumber:g,column:p-n}),S=new t(g,v.startColumn,g,p),C=new t(m,_,m,1073741824),L=h.getValueInRange(S).replace(/^\s+/,""),R=h.getValueInRange(u),Z=h.getValueInRange(C).replace(/\s+$/,"");return{value:L+R+Z,highlight:{start:L.length,end:L.length+R.length}}}}class Ur{constructor(u,n){this.parent=u,this.uri=n,this.children=[],this._previews=new Qt}dispose(){Be(this._previews.values()),this._previews.clear()}getPreview(u){return this._previews.get(u.uri)}get ariaMessage(){let u=this.children.length;if(u===1)return e(1147,"1 symbol in {0}, full path {1}",Oi(this.uri),this.uri.fsPath);else return e(1148,"{0} symbols in {1}, full path {2}",u,Oi(this.uri),this.uri.fsPath)}async resolve(u){if(this._previews.size!==0)return this;for(let n of this.children){if(this._previews.has(n.uri))continue;try{let h=await u.createModelReference(n.uri);this._previews.set(n.uri,new yL(h))}catch(h){X(h)}}return this}}class Fi{constructor(u,n){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new o,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=u,this._title=n;let[h]=u;u.sort(Fi._compareReferences);let g;for(let p of u){if(!g||!Nn.isEqual(g.uri,p.uri,!0))g=new Ur(this,p.uri),this.groups.push(g);if(g.children.length===0||Fi._compareReferences(p,g.children[g.children.length-1])!==0){let m=new $o(h===p,g,p,(_)=>this._onDidChangeReferenceRange.fire(_));this.references.push(m),g.children.push(m)}}}dispose(){Be(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Fi(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){if(this.isEmpty)return e(1149,"No results found");else if(this.references.length===1)return e(1150,"Found 1 symbol in {0}",this.references[0].uri.fsPath);else if(this.groups.length===1)return e(1151,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath);else return e(1152,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(u,n){let{parent:h}=u,g=h.children.indexOf(u),p=h.children.length,m=h.parent.groups.length;if(m===1||n&&g+1<p||!n&&g>0){if(n)g=(g+1)%p;else g=(g+p-1)%p;return h.children[g]}if(g=h.parent.groups.indexOf(h),n)return g=(g+1)%m,h.parent.groups[g].children[0];else return g=(g+m-1)%m,h.parent.groups[g].children[h.parent.groups[g].children.length-1]}nearestReference(u,n){let h=this.references.map((g,p)=>({idx:p,prefixLen:No(g.uri.toString(),u.toString()),offsetDist:Math.abs(g.range.startLineNumber-n.lineNumber)*100+Math.abs(g.range.startColumn-n.column)})).sort((g,p)=>{if(g.prefixLen>p.prefixLen)return-1;else if(g.prefixLen<p.prefixLen)return 1;else if(g.offsetDist<p.offsetDist)return-1;else if(g.offsetDist>p.offsetDist)return 1;else return 0})[0];if(h)return this.references[h.idx];return}referenceAt(u,n){for(let h of this.references)if(h.uri.toString()===u.toString()){if(t.containsPosition(h.range,n))return h}return}firstReference(){for(let u of this.references)if(u.isProviderFirst)return u;return this.references[0]}static _compareReferences(u,n){return Nn.compare(u.uri,n.uri)||t.compareRangesUsingStarts(u.range,n.range)}}var wp=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Sp=function(u,n){return function(h,g){n(h,g,u)}},Cb,bp=class u{constructor(n){this._resolverService=n}hasChildren(n){if(n instanceof Fi)return!0;if(n instanceof Ur)return!0;return!1}getChildren(n){if(n instanceof Fi)return n.groups;if(n instanceof Ur)return n.resolve(this._resolverService).then((h)=>h.children);throw Error("bad tree")}};bp=wp([Sp(0,Rn)],bp);class xb{getHeight(){return 23}getTemplateId(u){if(u instanceof Ur)return rh.id;else return sh.id}}var vp=class u{constructor(n){this._keybindingService=n}getKeyboardNavigationLabel(n){if(n instanceof $o){let h=n.parent.getPreview(n)?.preview(n.range);if(h)return h.value}return Oi(n.uri)}};vp=wp([Sp(0,me)],vp);class Ib{getId(u){return u instanceof $o?u.id:u.uri}}var yb=class u extends i{constructor(n,h){super();this._labelService=h;let g=document.createElement("div");g.classList.add("reference-file"),this.file=this._register(new vu(g,{supportHighlights:!0})),this.badge=this._register(new wy(k(g,w(".count")),{},O1)),n.appendChild(g)}set(n,h){let g=wf(n.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(n.uri),this._labelService.getUriLabel(g,{relative:!0}),{title:this._labelService.getUriLabel(n.uri),matches:h});let p=n.children.length;if(this.badge.setCount(p),p>1)this.badge.setTitleFormat(e(1139,"{0} references",p));else this.badge.setTitleFormat(e(1140,"{0} reference",p))}};yb=wp([Sp(1,xc)],yb);var rh=class u{static{Cb=this}static{this.id="FileReferencesRenderer"}constructor(n){this._instantiationService=n,this.templateId=Cb.id}renderTemplate(n){return this._instantiationService.createInstance(yb,n)}renderElement(n,h,g){g.set(n.element,Zh(n.filterData))}disposeTemplate(n){n.dispose()}};rh=Cb=wp([Sp(0,A)],rh);class xL extends i{constructor(u){super();this.label=this._register(new bu(u))}set(u,n){let h=u.parent.getPreview(u)?.preview(u.range);if(!h||!h.value)this.label.set(`${Oi(u.uri)}:${u.range.startLineNumber+1}:${u.range.startColumn+1}`);else{let{value:g,highlight:p}=h;if(n&&!ns.isDefault(n))this.label.element.classList.toggle("referenceMatch",!1),this.label.set(g,Zh(n));else this.label.element.classList.toggle("referenceMatch",!0),this.label.set(g,[p])}}}class sh{constructor(){this.templateId=sh.id}static{this.id="OneReferenceRenderer"}renderTemplate(u){return new xL(u)}renderElement(u,n,h){h.set(u.element,u.filterData)}disposeTemplate(u){u.dispose()}}class Lb{getWidgetAriaLabel(){return e(1141,"References")}getAriaLabel(u){return u.ariaMessage}}var IL=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},$a=function(u,n){return function(h,g){n(h,g,u)}};class Eb{static{this.DecorationOptions=ue.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"})}constructor(u,n){this._editor=u,this._model=n,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new d,this._callOnModelChange=new d,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();let u=this._editor.getModel();if(!u)return;for(let n of this._model.references)if(n.uri.toString()===u.uri.toString()){this._addDecorations(n.parent);return}}_addDecorations(u){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));let n=[],h=[];for(let g=0,p=u.children.length;g<p;g++){let m=u.children[g];if(this._decorationIgnoreSet.has(m.id))continue;if(m.uri.toString()!==this._editor.getModel().uri.toString())continue;n.push({range:m.range,options:Eb.DecorationOptions}),h.push(g)}this._editor.changeDecorations((g)=>{let p=g.deltaDecorations([],n);for(let m=0;m<p.length;m++)this._decorations.set(p[m],u.children[h[m]])})}_onDecorationChanged(){let u=[],n=this._editor.getModel();if(!n)return;for(let[h,g]of this._decorations){let p=n.getDecorationRange(h);if(!p)continue;let m=!1;if(t.equalsRange(p,g.range))continue;if(t.spansMultipleLines(p))m=!0;else{let _=g.range.endColumn-g.range.startColumn,v=p.endColumn-p.startColumn;if(_!==v)m=!0}if(m)this._decorationIgnoreSet.add(g.id),u.push(h);else g.range=p}for(let h=0,g=u.length;h<g;h++)this._decorations.delete(u[h]);this._editor.removeDecorations(u)}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}}class Db{constructor(){this.ratio=0.7,this.heightInLines=18}static fromJSON(u){let n,h;try{let g=JSON.parse(u);n=g.ratio,h=g.heightInLines}catch{}return{ratio:n||0.7,heightInLines:h||18}}}class LL extends B1{}var kb=class u{constructor(n){this.labelService=n,this.disposables=new d}getDragURI(n){if(n instanceof Ur)return n.uri.toString();else if(n instanceof $o)return h2(n.uri,n.range).toString();return null}getDragLabel(n){if(n.length===0)return;return n.map((g)=>this.labelService.getUriBasenameLabel(g.uri)).join(", ")}onDragStart(n,h){if(!h.dataTransfer)return;let p=n.elements.map((m)=>this.getDragURI(m)).filter(Boolean);if(p.length)h.dataTransfer.setData(fd.RESOURCES,JSON.stringify(p)),h.dataTransfer.setData(fd.TEXT,p.join(`
|
|
31
|
-
`))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};kb=IL([$a(0,xc)],kb);var Cp=class u extends Qd{constructor(n,h,g,p,m,_,v,S,C){super(n,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},_);this._defaultTreeKeyboardSupport=h,this.layoutData=g,this._textModelResolverService=m,this._instantiationService=_,this._peekViewService=v,this._uriLabel=S,this._keybindingService=C,this._disposeOnNewModel=new d,this._callOnDispose=new d,this._onDidSelectReference=this._callOnDispose.add(new o),this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new at(0,0),this._isClosing=!1,this._applyTheme(p.getColorTheme()),this._callOnDispose.add(p.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(n,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),Be(this._preview),Be(this._previewNotAvailableMessage),Be(this._tree),Be(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(n){let h=n.getColor(BI)||y.transparent;this.style({arrowColor:h,frameColor:h,headerBackgroundColor:n.getColor(fI)||y.transparent,primaryHeadingColor:n.getColor(ip),secondaryHeadingColor:n.getColor(op)})}show(n){super.show(n,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(n){if(this._preview&&this._preview.getModel())this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:n.ctrlKey||n.metaKey||n.altKey?"side":"open",source:"title"})}_fillBody(n){this.setCssClass("reference-zone-widget"),this._messageContainer=k(n,w("div.messages")),po(this._messageContainer),this._splitView=new j0(n,{orientation:1}),this._previewContainer=k(n,w("div.preview.inline"));let h={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(Bi,this._previewContainer,h,{},this.editor),po(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(fu,e(1142,"no preview available"),lo,fu.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=k(n,w("div.ref-tree.inline"));let g={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new Lb,keyboardNavigationLabelProvider:this._instantiationService.createInstance(vp),identityProvider:new Ib,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:VI},dnd:this._instantiationService.createInstance(kb)};if(this._defaultTreeKeyboardSupport)this._callOnDispose.add(Ct(this._treeContainer,"keydown",(m)=>{if(m.equals(9))this._keybindingService.dispatchEvent(m,m.target),m.stopPropagation()},!0));this._tree=this._instantiationService.createInstance(LL,"ReferencesWidget",this._treeContainer,new xb,[this._instantiationService.createInstance(rh),this._instantiationService.createInstance(sh)],this._instantiationService.createInstance(bp),g),this._splitView.addView({onDidChange:I.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:(m)=>{this._preview.layout({height:this._dim.height,width:m})}},F0.Distribute),this._splitView.addView({onDidChange:I.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:(m)=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${m}px`,this._tree.layout(this._dim.height,m)}},F0.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{if(this._dim.width)this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width},void 0));let p=(m,_)=>{if(m instanceof $o){if(_==="show")this._revealReference(m,!1);this._onDidSelectReference.fire({element:m,kind:_,source:"tree"})}};this._disposables.add(this._tree.onDidOpen((m)=>{if(m.sideBySide)p(m.element,"side");else if(m.editorOptions.pinned)p(m.element,"goto");else p(m.element,"show")})),po(this._treeContainer)}_onWidth(n){if(this._dim)this._doLayoutBody(this._dim.height,n)}_doLayoutBody(n,h){super._doLayoutBody(n,h),this._dim=new at(h,n),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(h),this._splitView.resizeView(0,h*this.layoutData.ratio)}setSelection(n){return this._revealReference(n,!0).then(()=>{if(!this._model)return;this._tree.setSelection([n]),this._tree.setFocus([n])})}setModel(n){if(this._disposeOnNewModel.clear(),this._model=n,this._model)return this._onNewModel();return Promise.resolve()}_onNewModel(){if(!this._model)return Promise.resolve(void 0);if(this._model.isEmpty)return this.setTitle(""),this._messageContainer.innerText=e(1143,"No results"),Oo(this._messageContainer),Promise.resolve(void 0);return po(this._messageContainer),this._decorationsManager=new Eb(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((n)=>this._tree.rerender(n))),this._disposeOnNewModel.add(this._preview.onMouseDown((n)=>{let{event:h,target:g}=n;if(h.detail!==2)return;let p=this._getFocusedReference();if(!p)return;this._onDidSelectReference.fire({element:{uri:p.uri,range:g.range},kind:h.ctrlKey||h.metaKey||h.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),Oo(this._treeContainer),Oo(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)}_getFocusedReference(){let[n]=this._tree.getFocus();if(n instanceof $o)return n;else if(n instanceof Ur){if(n.children.length>0)return n.children[0]}return}async revealReference(n){await this._revealReference(n,!1),this._onDidSelectReference.fire({element:n,kind:"goto",source:"tree"})}async _revealReference(n,h){if(this._revealedReference===n)return;if(this._revealedReference=n,n.uri.scheme!==se.inMemory)this.setTitle(FM(n.uri),this._uriLabel.getUriLabel(wf(n.uri)));else this.setTitle(e(1144,"References"));let g=this._textModelResolverService.createModelReference(n.uri);if(this._tree.getInput()===n.parent)this._tree.reveal(n);else{if(h)this._tree.reveal(n.parent);await this._tree.expand(n.parent),this._tree.reveal(n)}let p=await g;if(!this._model){p.dispose();return}Be(this._previewModelReference);let m=p.object;if(m){let _=this._preview.getModel()===m.textEditorModel?0:1,v=t.lift(n.range).collapseToStart();this._previewModelReference=p,this._preview.setModel(m.textEditorModel),this._preview.setSelection(v),this._preview.revealRangeInCenter(v,_)}else this._preview.setModel(this._previewNotAvailableMessage),p.dispose()}};Cp=IL([$a(3,ze),$a(4,Rn),$a(5,A),$a(6,ib),$a(7,xc),$a(8,me)],Cp);var OT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},gc=function(u,n){return function(h,g){n(h,g,u)}},yp,Za=new M("referenceSearchVisible",!1,e(1136,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'")),Dh=class u{static{yp=this}static{this.ID="editor.contrib.referencesController"}static get(n){return n.getContribution(yp.ID)}constructor(n,h,g,p,m,_,v,S){this._defaultTreeKeyboardSupport=n,this._editor=h,this._editorService=p,this._notificationService=m,this._instantiationService=_,this._storageService=v,this._configurationService=S,this._disposables=new d,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Za.bindTo(g)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(n,h,g){let p;if(this._widget)p=this._widget.position;if(this.closeWidget(),!!p&&n.containsPosition(p))return;this._peekMode=g,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{if(!this._ignoreModelChangeEvent)this.closeWidget()}));let m="peekViewLayout",_=Db.fromJSON(this._storageService.get(m,0,"{}"));this._widget=this._instantiationService.createInstance(Cp,this._editor,this._defaultTreeKeyboardSupport,_),this._widget.setTitle(e(1137,"Loading...")),this._widget.show(n),this._disposables.add(this._widget.onDidClose(()=>{if(h.cancel(),this._widget){if(this._storageService.store(m,JSON.stringify(this._widget.layoutData),0,1),!this._widget.isClosing)this.closeWidget();this._widget=void 0}else this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference((S)=>{let{element:C,kind:L}=S;if(!C)return;switch(L){case"open":if(S.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))this.openReference(C,!1,!1);break;case"side":this.openReference(C,!0,!1);break;case"goto":if(g)this._gotoReference(C,!0);else this.openReference(C,!1,!0);break}}));let v=++this._requestIdPool;h.then((S)=>{if(v!==this._requestIdPool||!this._widget){S.dispose();return}return this._model?.dispose(),this._model=S,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){if(!this._model.isEmpty)this._widget.setMetaTitle(e(1138,"{0} ({1})",this._model.title,this._model.references.length));else this._widget.setMetaTitle("");let C=this._editor.getModel().uri,L=new s(n.startLineNumber,n.startColumn),R=this._model.nearestReference(C,L);if(R)return this._widget.setSelection(R).then(()=>{if(this._widget&&this._editor.getOption(99)==="editor")this._widget.focusOnPreviewEditor()})}return})},(S)=>{this._notificationService.error(S)})}changeFocusBetweenPreviewAndReferences(){if(!this._widget)return;if(this._widget.isPreviewEditorFocused())this._widget.focusOnReferenceTree();else this._widget.focusOnPreviewEditor()}async goToNextOrPreviousReference(n){if(!this._editor.hasModel()||!this._model||!this._widget)return;let h=this._widget.position;if(!h)return;let g=this._model.nearestReference(this._editor.getModel().uri,h);if(!g)return;let p=this._model.nextOrPreviousReference(g,n),m=this._editor.hasTextFocus(),_=this._widget.isPreviewEditorFocused();if(await this._widget.setSelection(p),await this._gotoReference(p,!1),m)this._editor.focus();else if(this._widget&&_)this._widget.focusOnPreviewEditor()}async revealReference(n){if(!this._editor.hasModel()||!this._model||!this._widget)return;await this._widget.revealReference(n)}closeWidget(n=!0){if(this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,n)this._editor.focus();this._requestIdPool+=1}_gotoReference(n,h){this._widget?.hide(),this._ignoreModelChangeEvent=!0;let g=t.lift(n.range).collapseToStart();return this._editorService.openCodeEditor({resource:n.uri,options:{selection:g,selectionSource:"code.jump",pinned:h}},this._editor).then((p)=>{if(this._ignoreModelChangeEvent=!1,!p||!this._widget){this.closeWidget();return}if(this._editor===p)this._widget.show(g),this._widget.focusOnReferenceTree();else{let m=yp.get(p),_=this._model.clone();this.closeWidget(),p.focus(),m?.toggleWidget(g,Yt((v)=>Promise.resolve(_)),this._peekMode??!1)}},(p)=>{this._ignoreModelChangeEvent=!1,X(p)})}openReference(n,h,g){if(!h)this.closeWidget();let{uri:p,range:m}=n;this._editorService.openCodeEditor({resource:p,options:{selection:m,selectionSource:"code.jump",pinned:g}},this._editor,h)}};Dh=yp=OT([gc(2,G),gc(3,Te),gc(4,yt),gc(5,A),gc(6,Mn),gc(7,re)],Dh);function Xa(u,n){let h=Qg(u);if(!h)return;let g=Dh.get(h);if(g)n(g)}Dn.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:un(2089,60),when:T.or(Za,_i.inPeekEditor),handler(u){Xa(u,(n)=>{n.changeFocusBetweenPreviewAndReferences()})}});Dn.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:T.or(Za,_i.inPeekEditor),handler(u){Xa(u,(n)=>{n.goToNextOrPreviousReference(!0)})}});Dn.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:T.or(Za,_i.inPeekEditor),handler(u){Xa(u,(n)=>{n.goToNextOrPreviousReference(!1)})}});Le.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Le.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Le.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Le.registerCommand("closeReferenceSearch",(u)=>Xa(u,(n)=>n.closeWidget()));Dn.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:T.and(_i.inPeekEditor,T.not("config.editor.stablePeek"))});Dn.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:T.and(Za,T.not("config.editor.stablePeek"),T.or(r.editorTextFocus,Dg.negate()))});Dn.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:T.and(Za,jI,j1.negate(),H1.negate()),handler(u){let h=u.get(fa).lastFocusedList?.getFocus();if(Array.isArray(h)&&h[0]instanceof $o)Xa(u,(g)=>g.revealReference(h[0]))}});Dn.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:T.and(Za,jI,j1.negate(),H1.negate()),handler(u){let h=u.get(fa).lastFocusedList?.getFocus();if(Array.isArray(h)&&h[0]instanceof $o)Xa(u,(g)=>g.openReference(h[0],!0,!0))}});Le.registerCommand("openReference",(u)=>{let h=u.get(fa).lastFocusedList?.getFocus();if(Array.isArray(h)&&h[0]instanceof $o)Xa(u,(g)=>g.openReference(h[0],!1,!0))});var kL=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ah=function(u,n){return function(h,g){n(h,g,u)}},Nb=new M("hasSymbols",!1,e(1153,"Whether there are symbol locations that can be navigated via keyboard-only.")),dh=ie("ISymbolNavigationService"),Tb=class u{constructor(n,h,g,p){this._editorService=h,this._notificationService=g,this._keybindingService=p,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=Nb.bindTo(n)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.close(),this._currentModel=void 0,this._currentIdx=-1}put(n){let h=n.parent.parent;if(h.references.length<=1){this.reset();return}this._currentModel=h,this._currentIdx=h.references.indexOf(n),this._ctxHasSymbols.set(!0),this._showMessage();let g=new Rb(this._editorService),p=g.onDidChange((m)=>{if(this._ignoreEditorChange)return;let _=this._editorService.getActiveCodeEditor();if(!_)return;let v=_.getModel(),S=_.getPosition();if(!v||!S)return;let C=!1,L=!1;for(let R of h.references)if(gs(R.uri,v.uri))C=!0,L=L||t.containsPosition(R.range,S);else if(C)break;if(!C||!L)this.reset()});this._currentState=$r(g,p)}revealNext(n){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;let h=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:h.uri,options:{selection:t.collapseToStart(h.range),selectionRevealType:3}},n).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();let n=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),h=n?e(1154,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,n.getLabel()):e(1155,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(h)}};Tb=kL([ah(0,G),ah(1,Te),ah(2,yt),ah(3,me)],Tb);xe(dh,Tb,1);K(new class extends en{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:Nb,kbOpts:{weight:100,primary:70}})}runEditorCommand(u,n){return u.get(dh).revealNext(n)}});Dn.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:Nb,primary:9,handler(u){u.get(dh).reset()}});var Rb=class u{constructor(n){this._listener=new Map,this._disposables=new d,this._onDidChange=new o,this.onDidChange=this._onDidChange.event,this._disposables.add(n.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(n.onCodeEditorAdd(this._onDidAddEditor,this)),n.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Be(this._listener.values())}_onDidAddEditor(n){this._listener.set(n,$r(n.onDidChangeCursorPosition((h)=>this._onDidChange.fire({editor:n})),n.onDidChangeModelContent((h)=>this._onDidChange.fire({editor:n}))))}_onDidRemoveEditor(n){this._listener.get(n)?.dispose(),this._listener.delete(n)}};Rb=kL([ah(0,Te)],Rb);function Mb(u,n){if(n.uri.scheme===u.uri.scheme)return!0;if(lg(n.uri,se.walkThroughSnippet,se.vscodeChatCodeBlock,se.vscodeChatCodeCompareBlock))return!1;return!0}async function ch(u,n,h,g,p){let _=h.ordered(u,g).map((S)=>Promise.resolve(p(S,u,n)).then(void 0,(C)=>{vt(C);return})),v=await Promise.all(_);return vo(v.flat()).filter((S)=>Mb(u,S))}function Ks(u,n,h,g,p){return ch(n,h,u,g,(m,_,v)=>m.provideDefinition(_,v,p))}function xp(u,n,h,g,p){return ch(n,h,u,g,(m,_,v)=>m.provideDeclaration(_,v,p))}function Ip(u,n,h,g,p){return ch(n,h,u,g,(m,_,v)=>m.provideImplementation(_,v,p))}function Lp(u,n,h,g,p){return ch(n,h,u,g,(m,_,v)=>m.provideTypeDefinition(_,v,p))}function Ic(u,n,h,g,p,m){return ch(n,h,u,p,async(_,v,S)=>{let C=(await _.provideReferences(v,S,{includeDeclaration:!0},m))?.filter((R)=>Mb(v,R));if(!g||!C||C.length!==2)return C;let L=(await _.provideReferences(v,S,{includeDeclaration:!1},m))?.filter((R)=>Mb(v,R));if(L&&L.length===1)return L;return C})}async function wr(u){let n=await u(),h=new Fi(n,""),g=h.references.map((p)=>p.link);return h.dispose(),g}Mo("_executeDefinitionProvider",(u,n,h)=>{let g=u.get(z),p=Ks(g.definitionProvider,n,h,!1,ye.None);return wr(()=>p)});Mo("_executeDefinitionProvider_recursive",(u,n,h)=>{let g=u.get(z),p=Ks(g.definitionProvider,n,h,!0,ye.None);return wr(()=>p)});Mo("_executeTypeDefinitionProvider",(u,n,h)=>{let g=u.get(z),p=Lp(g.typeDefinitionProvider,n,h,!1,ye.None);return wr(()=>p)});Mo("_executeTypeDefinitionProvider_recursive",(u,n,h)=>{let g=u.get(z),p=Lp(g.typeDefinitionProvider,n,h,!0,ye.None);return wr(()=>p)});Mo("_executeDeclarationProvider",(u,n,h)=>{let g=u.get(z),p=xp(g.declarationProvider,n,h,!1,ye.None);return wr(()=>p)});Mo("_executeDeclarationProvider_recursive",(u,n,h)=>{let g=u.get(z),p=xp(g.declarationProvider,n,h,!0,ye.None);return wr(()=>p)});Mo("_executeReferenceProvider",(u,n,h)=>{let g=u.get(z),p=Ic(g.referenceProvider,n,h,!1,!1,ye.None);return wr(()=>p)});Mo("_executeReferenceProvider_recursive",(u,n,h)=>{let g=u.get(z),p=Ic(g.referenceProvider,n,h,!1,!0,ye.None);return wr(()=>p)});Mo("_executeImplementationProvider",(u,n,h)=>{let g=u.get(z),p=Ip(g.implementationProvider,n,h,!1,ye.None);return wr(()=>p)});Mo("_executeImplementationProvider_recursive",(u,n,h)=>{let g=u.get(z),p=Ip(g.implementationProvider,n,h,!0,ye.None);return wr(()=>p)});Jn.appendMenuItem(l.EditorContext,{submenu:l.EditorContextPeek,title:e(1096,"Peek"),group:"navigation",order:100});class Qa{static is(u){if(!u||typeof u!=="object")return!1;if(u instanceof Qa)return!0;if(s.isIPosition(u.position)&&u.model)return!0;return!1}constructor(u,n){this.model=u,this.position=n}}class zi extends pr{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return zi._allSymbolNavigationCommands.values()}static _patchConfig(u){let n={...u,f1:!0};if(n.menu){for(let h of Re.wrap(n.menu))if(h.id===l.EditorContext||h.id===l.EditorContextPeek)h.when=T.and(u.precondition,h.when)}return n}constructor(u,n){super(zi._patchConfig(n));this.configuration=u,zi._allSymbolNavigationCommands.set(n.id,this)}runEditorCommand(u,n,h,g){if(!n.hasModel())return Promise.resolve(void 0);let p=u.get(yt),m=u.get(Te),_=u.get(Hs),v=u.get(dh),S=u.get(z),C=u.get(A),L=n.getModel(),R=n.getPosition(),Z=Qa.is(h)?h:new Qa(L,R),Y=new Ss(n,5),Q=lc(this._getLocationModel(S,Z.model,Z.position,Y.token),Y.token).then(async(ee)=>{if(!ee||Y.token.isCancellationRequested)return;zn(ee.ariaMessage);let oe;if(ee.referenceAt(L.uri,R)){let de=this._getAlternativeCommand(n);if(de!==void 0&&!zi._activeAlternativeCommands.has(de)&&zi._allSymbolNavigationCommands.has(de))oe=zi._allSymbolNavigationCommands.get(de)}let ne=ee.references.length;if(ne===0){if(!this.configuration.muteMessage){let de=L.getWordAtPosition(R);pi.get(n)?.showMessage(this._getNoResultFoundMessage(de),R)}}else if(ne===1&&oe)zi._activeAlternativeCommands.add(this.desc.id),C.invokeFunction((de)=>oe.runEditorCommand(de,n,h,g).finally(()=>{zi._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(m,v,n,ee,g)},(ee)=>{p.error(ee)}).finally(()=>{Y.dispose()});return _.showWhile(Q,250),Q}async _onResult(u,n,h,g,p){let m=this._getGoToPreference(h);if(!(h instanceof Bi)&&(this.configuration.openInPeek||m==="peek"&&g.references.length>1))this._openInPeek(h,g,p);else{let _=g.firstReference(),v=g.references.length>1&&m==="gotoAndPeek",S=await this._openReference(h,u,_,this.configuration.openToSide,!v);if(v&&S)this._openInPeek(S,g,p);else g.dispose();if(m==="goto")n.put(_)}}async _openReference(u,n,h,g,p){let m=void 0;if(CM(h))m=h.targetSelectionRange;if(!m)m=h.range;if(!m)return;let _=await n.openCodeEditor({resource:h.uri,options:{selection:t.collapseToStart(m),selectionRevealType:3,selectionSource:"code.jump"}},u,g);if(!_)return;if(p){let v=_.getModel(),S=_.createDecorationsCollection([{range:m,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{if(_.getModel()===v)S.clear()},350)}return _}_openInPeek(u,n,h){let g=Dh.get(u);if(g&&u.hasModel())g.toggleWidget(h??u.getSelection(),Yt((p)=>Promise.resolve(n)),this.configuration.openInPeek);else n.dispose()}}class Us extends zi{async _getLocationModel(u,n,h,g){return new Fi(await Ks(u.definitionProvider,n,h,!1,g),e(1097,"Definitions"))}_getNoResultFoundMessage(u){return u&&u.word?e(1098,"No definition found for '{0}'",u.word):e(1099,"No definition found")}_getAlternativeCommand(u){return u.getOption(67).alternativeDefinitionCommand}_getGoToPreference(u){return u.getOption(67).multipleDefinitions}}lt(class u extends Us{static{this.id="editor.action.revealDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:u.id,title:{...b(1123,"Go to Definition"),mnemonicTitle:e(1100,"Go to &&Definition")},precondition:r.hasDefinitionProvider,keybinding:[{when:r.editorTextFocus,primary:70,weight:100},{when:T.and(r.editorTextFocus,FI),primary:2118,weight:100}],menu:[{id:l.EditorContext,group:"navigation",order:1.1},{id:l.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]});Le.registerCommandAlias("editor.action.goToDeclaration",u.id)}});lt(class u extends Us{static{this.id="editor.action.revealDefinitionAside"}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:u.id,title:b(1124,"Open Definition to the Side"),precondition:T.and(r.hasDefinitionProvider,r.isInEmbeddedEditor.toNegated()),keybinding:[{when:r.editorTextFocus,primary:un(2089,70),weight:100},{when:T.and(r.editorTextFocus,FI),primary:un(2089,2118),weight:100}]});Le.registerCommandAlias("editor.action.openDeclarationToTheSide",u.id)}});lt(class u extends Us{static{this.id="editor.action.peekDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:u.id,title:b(1125,"Peek Definition"),precondition:T.and(r.hasDefinitionProvider,_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),keybinding:{when:r.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:l.EditorContextPeek,group:"peek",order:2}});Le.registerCommandAlias("editor.action.previewDeclaration",u.id)}});class Ob extends zi{async _getLocationModel(u,n,h,g){return new Fi(await xp(u.declarationProvider,n,h,!1,g),e(1101,"Declarations"))}_getNoResultFoundMessage(u){return u&&u.word?e(1102,"No declaration found for '{0}'",u.word):e(1103,"No declaration found")}_getAlternativeCommand(u){return u.getOption(67).alternativeDeclarationCommand}_getGoToPreference(u){return u.getOption(67).multipleDeclarations}}lt(class u extends Ob{static{this.id="editor.action.revealDeclaration"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:u.id,title:{...b(1126,"Go to Declaration"),mnemonicTitle:e(1104,"Go to &&Declaration")},precondition:T.and(r.hasDeclarationProvider,r.isInEmbeddedEditor.toNegated()),menu:[{id:l.EditorContext,group:"navigation",order:1.3},{id:l.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(n){return n&&n.word?e(1105,"No declaration found for '{0}'",n.word):e(1106,"No declaration found")}});lt(class u extends Ob{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:b(1127,"Peek Declaration"),precondition:T.and(r.hasDeclarationProvider,_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),menu:{id:l.EditorContextPeek,group:"peek",order:3}})}});class Pb extends zi{async _getLocationModel(u,n,h,g){return new Fi(await Lp(u.typeDefinitionProvider,n,h,!1,g),e(1107,"Type Definitions"))}_getNoResultFoundMessage(u){return u&&u.word?e(1108,"No type definition found for '{0}'",u.word):e(1109,"No type definition found")}_getAlternativeCommand(u){return u.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference(u){return u.getOption(67).multipleTypeDefinitions}}lt(class u extends Pb{static{this.ID="editor.action.goToTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:u.ID,title:{...b(1128,"Go to Type Definition"),mnemonicTitle:e(1110,"Go to &&Type Definition")},precondition:r.hasTypeDefinitionProvider,keybinding:{when:r.editorTextFocus,primary:0,weight:100},menu:[{id:l.EditorContext,group:"navigation",order:1.4},{id:l.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}});lt(class u extends Pb{static{this.ID="editor.action.peekTypeDefinition"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:u.ID,title:b(1129,"Peek Type Definition"),precondition:T.and(r.hasTypeDefinitionProvider,_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),menu:{id:l.EditorContextPeek,group:"peek",order:4}})}});class Ab extends zi{async _getLocationModel(u,n,h,g){return new Fi(await Ip(u.implementationProvider,n,h,!1,g),e(1111,"Implementations"))}_getNoResultFoundMessage(u){return u&&u.word?e(1112,"No implementation found for '{0}'",u.word):e(1113,"No implementation found")}_getAlternativeCommand(u){return u.getOption(67).alternativeImplementationCommand}_getGoToPreference(u){return u.getOption(67).multipleImplementations}}lt(class u extends Ab{static{this.ID="editor.action.goToImplementation"}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:u.ID,title:{...b(1130,"Go to Implementations"),mnemonicTitle:e(1114,"Go to &&Implementations")},precondition:r.hasImplementationProvider,keybinding:{when:r.editorTextFocus,primary:2118,weight:100},menu:[{id:l.EditorContext,group:"navigation",order:1.45},{id:l.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}});lt(class u extends Ab{static{this.ID="editor.action.peekImplementation"}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:u.ID,title:b(1131,"Peek Implementations"),precondition:T.and(r.hasImplementationProvider,_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),keybinding:{when:r.editorTextFocus,primary:3142,weight:100},menu:{id:l.EditorContextPeek,group:"peek",order:5}})}});class Fb extends zi{_getNoResultFoundMessage(u){return u?e(1115,"No references found for '{0}'",u.word):e(1116,"No references found")}_getAlternativeCommand(u){return u.getOption(67).alternativeReferenceCommand}_getGoToPreference(u){return u.getOption(67).multipleReferences}}lt(class u extends Fb{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...b(1132,"Go to References"),mnemonicTitle:e(1117,"Go to &&References")},precondition:T.and(r.hasReferenceProvider,_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),keybinding:{when:r.editorTextFocus,primary:1094,weight:100},menu:[{id:l.EditorContext,group:"navigation",order:1.45},{id:l.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(n,h,g,p){return new Fi(await Ic(n.referenceProvider,h,g,!0,!1,p),e(1118,"References"))}});lt(class u extends Fb{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:b(1133,"Peek References"),precondition:T.and(r.hasReferenceProvider,_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated()),menu:{id:l.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(n,h,g,p){return new Fi(await Ic(n.referenceProvider,h,g,!1,!1,p),e(1119,"References"))}});class EL extends zi{constructor(u,n,h){super(u,{id:"editor.action.goToLocation",title:b(1134,"Go to Any Symbol"),precondition:T.and(_i.notInPeekEditor,r.isInEmbeddedEditor.toNegated())});this._references=n,this._gotoMultipleBehaviour=h}async _getLocationModel(u,n,h,g){return new Fi(this._references,e(1120,"Locations"))}_getNoResultFoundMessage(u){return u&&e(1121,"No results for '{0}'",u.word)||""}_getGoToPreference(u){return this._gotoMultipleBehaviour??u.getOption(67).multipleReferences}_getAlternativeCommand(){return}}Le.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:q},{name:"position",description:"The position at which to start",constraint:s.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(u,n,h,g,p,m,_)=>{Fe(q.isUri(n)),Fe(s.isIPosition(h)),Fe(Array.isArray(g)),Fe(typeof p>"u"||typeof p==="string"),Fe(typeof _>"u"||typeof _==="boolean");let v=u.get(Te),S=await v.openCodeEditor({resource:n},v.getFocusedCodeEditor());if(Ya(S))return S.setPosition(h),S.revealPositionInCenterIfOutsideViewport(h,0),S.invokeWithinContext((C)=>{let L=new class extends EL{_getNoResultFoundMessage(R){return m||super._getNoResultFoundMessage(R)}}({muteMessage:!Boolean(m),openInPeek:Boolean(_),openToSide:!1},g,p);C.get(A).invokeFunction(L.run.bind(L),S)})}});Le.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:q},{name:"position",description:"The position at which to start",constraint:s.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(u,n,h,g,p)=>{u.get(Ue).executeCommand("editor.action.goToLocations",n,h,g,p,void 0,!0)}});Le.registerCommand({id:"editor.action.findReferences",handler:(u,n,h)=>{Fe(q.isUri(n)),Fe(s.isIPosition(h));let g=u.get(z),p=u.get(Te);return p.openCodeEditor({resource:n},p.getFocusedCodeEditor()).then((m)=>{if(!Ya(m)||!m.hasModel())return;let _=Dh.get(m);if(!_)return;let v=Yt((C)=>Ic(g.referenceProvider,m.getModel(),s.lift(h),!1,!1,C).then((L)=>new Fi(L,e(1122,"References")))),S=new t(h.lineNumber,h.column,h.lineNumber,h.column);return Promise.resolve(_.toggleWidget(S,v,!1))})}});Le.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var PT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Hb=function(u,n){return function(h,g){n(h,g,u)}},lh,Lc=class u{static{lh=this}static{this.ID="editor.contrib.gotodefinitionatposition"}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(n,h,g,p){this.textModelResolverService=h,this.languageService=g,this.languageFeaturesService=p,this.toUnhook=new d,this.toUnhookForKeyboard=new d,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=n,this.linkDecorations=this.editor.createDecorationsCollection();let m=new Kr(n);this.toUnhook.add(m),this.toUnhook.add(m.onMouseMoveOrRelevantKeyDown(([_,v])=>{this.startFindDefinitionFromMouse(_,v??void 0)})),this.toUnhook.add(m.onExecute((_)=>{if(this.isEnabled(_))this.gotoDefinition(_.target.position,_.hasSideBySideModifier).catch((v)=>{X(v)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(m.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(n){return n.getContribution(lh.ID)}async startFindDefinitionFromCursor(n){await this.startFindDefinition(n),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown((h)=>{if(h)this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))}startFindDefinitionFromMouse(n,h){if(n.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(n,h)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}let g=n.target.position;this.startFindDefinition(g)}async startFindDefinition(n){this.toUnhookForKeyboard.clear();let h=n?this.editor.getModel()?.getWordAtPosition(n):null;if(!h){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===h.startColumn&&this.currentWordAtPosition.endColumn===h.endColumn&&this.currentWordAtPosition.word===h.word)return;this.currentWordAtPosition=h;let g=new Wf(this.editor,15);if(this.previousPromise)this.previousPromise.cancel(),this.previousPromise=null;this.previousPromise=Yt((_)=>this.findDefinition(n,_));let p;try{p=await this.previousPromise}catch(_){X(_);return}if(!p||!p.length||!g.validate(this.editor)){this.removeLinkDecorations();return}let m=p[0].originSelectionRange?t.lift(p[0].originSelectionRange):new t(n.lineNumber,h.startColumn,n.lineNumber,h.endColumn);if(p.length>1){let _=m;for(let{originSelectionRange:v}of p)if(v)_=t.plusRange(_,v);this.addDecoration(_,new On().appendText(e(1135,"Click to show {0} definitions.",p.length)))}else{let _=p[0];if(!_.uri)return;return this.textModelResolverService.createModelReference(_.uri).then((v)=>{if(!v.object||!v.object.textEditorModel){v.dispose();return}let{object:{textEditorModel:S}}=v,{startLineNumber:C}=_.range;if(C<1||C>S.getLineCount()){v.dispose();return}let L=this.getPreviewValue(S,C,_),R=this.languageService.guessLanguageIdByFilepathOrFirstLine(S.uri);this.addDecoration(m,L?new On().appendCodeblock(R?R:"",L):void 0),v.dispose()})}}getPreviewValue(n,h,g){let p=g.range;if(p.endLineNumber-p.startLineNumber>=lh.MAX_SOURCE_PREVIEW_LINES)p=this.getPreviewRangeBasedOnIndentation(n,h);return p=n.validateRange(p),this.stripIndentationFromPreviewRange(n,h,p)}stripIndentationFromPreviewRange(n,h,g){let m=n.getLineFirstNonWhitespaceColumn(h);for(let v=h+1;v<g.endLineNumber;v++){let S=n.getLineFirstNonWhitespaceColumn(v);m=Math.min(m,S)}return n.getValueInRange(g).replace(new RegExp(`^\\s{${m-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(n,h){let g=n.getLineFirstNonWhitespaceColumn(h),p=Math.min(n.getLineCount(),h+lh.MAX_SOURCE_PREVIEW_LINES),m=h+1;for(;m<p;m++){let _=n.getLineFirstNonWhitespaceColumn(m);if(g===_)break}return new t(h,1,m+1,1)}addDecoration(n,h){let g={range:n,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:h}};this.linkDecorations.set([g])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(n,h){return this.editor.hasModel()&&n.isLeftClick&&n.isNoneOrSingleMouseDown&&n.target.type===6&&!(n.target.detail.injectedText?.options instanceof md)&&(n.hasTriggerModifier||(h?h.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(n,h){let g=this.editor.getModel();if(!g)return Promise.resolve(null);return Ks(this.languageFeaturesService.definitionProvider,g,n,!1,h)}async gotoDefinition(n,h){return this.editor.setPosition(n),this.editor.invokeWithinContext((g)=>{let p=!h&&this.editor.getOption(101)&&!this.isInPeekEditor(g);return new Us({openToSide:h,openInPeek:p,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(g)})}isInPeekEditor(n){let h=n.get(G);return _i.inPeekEditor.getValue(h)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};Lc=lh=PT([Hb(1,Rn),Hb(2,xt),Hb(3,z)],Lc);fe(Lc.ID,Lc,2);var Xn="editor.action.inlineSuggest.commit",ed="editor.action.inlineSuggest.commitAlternativeAction",kp="editor.action.inlineSuggest.showPrevious",Ep="editor.action.inlineSuggest.showNext",kc="editor.action.inlineSuggest.jump",Dp="editor.action.inlineSuggest.hide",hh="editor.action.inlineSuggest.toggleShowCollapsed",Wb="editor.action.inlineSuggest.renameSymbol";var Vb=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},pn=function(u,n){return function(h,g){n(h,g,u)}},Tp,Rp=class u extends i{constructor(n,h,g){super();this.editor=n,this.model=h,this.instantiationService=g,this.alwaysShowToolbar=Pe(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar==="always"),this.sessionPosition=void 0,this.position=f(this,(p)=>{let m=this.model.read(p)?.primaryGhostText.read(p);if(!this.alwaysShowToolbar.read(p)||!m||m.parts.length===0)return this.sessionPosition=void 0,null;let _=m.parts[0].column;if(this.sessionPosition&&this.sessionPosition.lineNumber!==m.lineNumber)this.sessionPosition=void 0;let v=new s(m.lineNumber,Math.min(_,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=v,v}),this._register(ri((p,m)=>{let _=this.model.read(p);if(!_||!this.alwaysShowToolbar.read(p))return;let v=f((C)=>{let L=C.store.add(this.instantiationService.createInstance(qr.hot.read(C),this.editor,!0,this.position,_.selectedInlineCompletionIndex,_.inlineCompletionsCount,_.activeCommands,_.warning,()=>{}));return n.addContentWidget(L),C.store.add(N(()=>n.removeContentWidget(L))),C.store.add(W((R)=>{if(!this.position.read(R))return;if(_.lastTriggerKind.read(R)!==cr.Explicit)_.triggerExplicitly()})),L}),S=hr(this,(C,L)=>!!this.position.read(C)||!!L);m.add(W((C)=>{if(S.read(C))v.read(C)}))}))}};Rp=Vb([pn(2,A)],Rp);var AT=Mt("inline-suggestion-hints-next",x.chevronRight,e(1270,"Icon for show next parameter hint.")),FT=Mt("inline-suggestion-hints-previous",x.chevronLeft,e(1271,"Icon for show previous parameter hint.")),qr=class u extends i{static{Tp=this}static{this.hot=xy(this)}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(n,h,g){let p=new wo(n,h,g,!0,()=>this._commandService.executeCommand(n));return p.tooltip=this.keybindingService.appendKeybinding(h,n,this._contextKeyService),p}constructor(n,h,g,p,m,_,v,S,C,L,R,Z,Y){super();this.editor=n,this.withBorder=h,this._position=g,this._currentSuggestionIdx=p,this._suggestionCount=m,this._extraCommands=_,this._warning=v,this._relayout=S,this._commandService=C,this.keybindingService=R,this._contextKeyService=Z,this._menuService=Y,this.id=`InlineSuggestionHintsContentWidget${Tp.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=f((Q)=>{let ee=this._warning.read(Q);if(!ee)return;if(typeof ee.message==="string")return ee.message;return Q.store.add(Il(ee.message)).element}),this._warningMessageNode=he.div({class:"warningMessage",style:{maxWidth:400,margin:4,marginBottom:4,display:f((Q)=>this._warning.read(Q)?"block":"none")}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=Ie("div.inlineSuggestionsHints",{className:this.withBorder?"monaco-hover monaco-hover-content":""},[this._warningMessageNode.element,Ie("div@toolBar")]),this.previousAction=this._register(this.createCommandAction(kp,e(1272,"Previous"),J.asClassName(FT))),this.availableSuggestionCountAction=this._register(new wo("inlineSuggestionHints.availableSuggestionCount","",void 0,!1)),this.nextAction=this._register(this.createCommandAction(Ep,e(1273,"Next"),J.asClassName(AT))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(l.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new ke(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new ke(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(W((Q)=>{this._warningMessageContentNode.read(Q),this._warningMessageNode.readEffect(Q),this._relayout()})),this.toolBar=this._register(L.createInstance(Bb,this.nodes.toolBar,l.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:(Q)=>Q.startsWith("primary")},actionViewItemProvider:(Q,ee)=>{if(Q instanceof Ki)return L.createInstance(TL,Q,void 0);if(Q===this.availableSuggestionCountAction){let oe=new DL(void 0,Q,{label:!0,icon:!1});return oe.setClass("availableSuggestionCount"),oe}return},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((Q)=>{Tp._dropDownVisible=Q})),this._register(W((Q)=>{this._position.read(Q),this.editor.layoutContentWidget(this)})),this._register(W((Q)=>{let ee=this._suggestionCount.read(Q),oe=this._currentSuggestionIdx.read(Q);if(ee!==void 0)this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${oe+1}/${ee}`;else this.clearAvailableSuggestionCountLabelDebounced.schedule();if(ee!==void 0&&ee>1)this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0;else this.disableButtonsDebounced.schedule()})),this._register(W((Q)=>{let oe=this._extraCommands.read(Q).map((ne)=>({class:void 0,id:ne.command.id,enabled:!0,tooltip:ne.command.tooltip||"",label:ne.command.title,run:()=>this._commandService.executeCommand(ne.command.id,...ne.command.arguments??[])}));for(let[ne,de]of this.inlineCompletionsActionsMenus.getActions())for(let ge of de)if(ge instanceof Ki)oe.push(ge);if(oe.length>0)oe.unshift(new ut);this.toolBar.setAdditionalSecondaryActions(oe)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};qr=Tp=Vb([pn(8,Ue),pn(9,A),pn(10,me),pn(11,G),pn(12,Ai)],qr);class DL extends wc{constructor(){super(...arguments);this._className=void 0}setClass(u){this._className=u}render(u){if(super.render(u),this._className)u.classList.add(this._className)}updateTooltip(){}}class TL extends Rl{updateLabel(){let u=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!u)return super.updateLabel();if(this.label){let n=Ie("div.keybinding").root;this._register(new Ka(n,Ni,{disableTitle:!0,...Y1})).set(u),this.label.textContent=this._action.label,this.label.appendChild(n),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}var Bb=class u extends J0{constructor(n,h,g,p,m,_,v,S,C){super(n,{resetMenu:h,...g},p,m,_,v,S,C);this.menuId=h,this.options2=g,this.menuService=p,this.contextKeyService=m,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:n,secondary:h}=Ng(this.menu.getActions(this.options2?.menuOptions),this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions);h.push(...this.additionalActions),n.unshift(...this.prependedPrimaryActions),n.push(...this.additionalPrimaryActions),this.setActions(n,h)}setPrependedPrimaryActions(n){if(ot(this.prependedPrimaryActions,n,(h,g)=>h===g))return;this.prependedPrimaryActions=n,this.updateToolbar()}setAdditionalSecondaryActions(n){if(ot(this.additionalActions,n,(h,g)=>h===g))return;this.additionalActions=n,this.updateToolbar()}};Bb=Vb([pn(3,Ai),pn(4,G),pn(5,Zn),pn(6,me),pn(7,Ue),pn(8,Bn)],Bb);function qs(u,n,h){let g=kt(u);if(n<g.left+3||n>g.left+g.width-3||h<g.top+3||h>g.top+g.height-3)return!1;return!0}function Np(u,n,h){if(u==="on")return!0;if(u==="off")return!1;return uh(n,h.event)}function uh(u,n){if(u==="altKey")return n.ctrlKey||n.metaKey;return n.altKey}class RL{constructor(u,n,h,g){this.value=u,this.isComplete=n,this.hasLoadingMessage=h,this.options=g}}class gh extends i{constructor(u,n){super();this._editor=u,this._computer=n,this._onResult=this._register(new o),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new Mp((h)=>this._triggerAsyncComputation(h),0)),this._syncComputationScheduler=this._register(new Mp((h)=>this._triggerSyncComputation(h),0)),this._loadingMessageScheduler=this._register(new Mp((h)=>this._triggerLoadingMessage(h),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){if(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(u,n){this._options=n,this._state=u,this._fireResult(n)}_triggerAsyncComputation(u){if(this._setState(2,u),this._syncComputationScheduler.schedule(u,this._secondWaitTime),this._computer.computeAsync)this._asyncIterableDone=!1,this._asyncIterable=IM((n)=>this._computer.computeAsync(u,n)),(async()=>{try{for await(let n of this._asyncIterable)if(n)this._result.push(n),this._fireResult(u);if(this._asyncIterableDone=!0,this._state===3||this._state===4)this._setState(0,u)}catch(n){X(n)}})();else this._asyncIterableDone=!0}_triggerSyncComputation(u){if(this._computer.computeSync)this._result=this._result.concat(this._computer.computeSync(u));this._setState(this._asyncIterableDone?0:3,u)}_triggerLoadingMessage(u){if(this._state===3)this._setState(4,u)}_fireResult(u){if(this._state===1||this._state===2)return;let n=this._state===0,h=this._state===4;this._onResult.fire(new RL(this._result.slice(0),n,h,u))}start(u,n){if(u===0){if(this._state===0)this._setState(1,n),this._asyncComputationScheduler.schedule(n,this._firstWaitTime),this._loadingMessageScheduler.schedule(n,this._loadingMessageTime)}else switch(this._state){case 0:this._triggerAsyncComputation(n),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(n);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(n);break}}cancel(){if(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}}class Mp extends i{constructor(u,n){super();this._scheduler=this._register(new ke(()=>u(this._options),n))}schedule(u,n){this._options=u,this._scheduler.schedule(n)}cancel(){this._scheduler.cancel()}}class ph{constructor(u,n,h,g){this.priority=u,this.range=n,this.initialMousePosX=h,this.initialMousePosY=g,this.type=1}equals(u){return u.type===1&&this.range.equalsRange(u.range)}canAdoptVisibleHover(u,n){return u.type===1&&n.lineNumber===this.range.startLineNumber}}class $s{constructor(u,n,h,g,p,m){this.priority=u,this.owner=n,this.range=h,this.initialMousePosX=g,this.initialMousePosY=p,this.supportsMarkerHover=m,this.type=2}equals(u){return u.type===2&&this.owner===u.owner}canAdoptVisibleHover(u,n){return u.type===2&&this.owner===u.owner}}class Go{constructor(u,n){this.renderedHoverParts=u,this.disposables=n}dispose(){for(let u of this.renderedHoverParts)u.dispose();this.disposables?.dispose()}}var gl=new class u{constructor(){this._participants=[]}register(n){this._participants.push(n)}getAll(){return this._participants}};class td{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new o,this._onDidResize=new o,this._sashListener=new d,this._size=new at(0,0),this._minSize=new at(0,0),this._maxSize=new at(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new mo(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new mo(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new mo(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:P0.North}),this._southSash=new mo(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:P0.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let u,n=0,h=0;this._sashListener.add(I.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{if(u===void 0)this._onDidWillResize.fire(),u=this._size,n=0,h=0})),this._sashListener.add(I.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{if(u!==void 0)u=void 0,n=0,h=0,this._onDidResize.fire({dimension:this._size,done:!0})})),this._sashListener.add(this._eastSash.onDidChange((g)=>{if(u)h=g.currentX-g.startX,this.layout(u.height+n,u.width+h),this._onDidResize.fire({dimension:this._size,done:!1,east:!0})})),this._sashListener.add(this._westSash.onDidChange((g)=>{if(u)h=-(g.currentX-g.startX),this.layout(u.height+n,u.width+h),this._onDidResize.fire({dimension:this._size,done:!1,west:!0})})),this._sashListener.add(this._northSash.onDidChange((g)=>{if(u)n=-(g.currentY-g.startY),this.layout(u.height+n,u.width+h),this._onDidResize.fire({dimension:this._size,done:!1,north:!0})})),this._sashListener.add(this._southSash.onDidChange((g)=>{if(u)n=g.currentY-g.startY,this.layout(u.height+n,u.width+h),this._onDidResize.fire({dimension:this._size,done:!1,south:!0})})),this._sashListener.add(I.any(this._eastSash.onDidReset,this._westSash.onDidReset)((g)=>{if(this._preferredSize)this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0})})),this._sashListener.add(I.any(this._northSash.onDidReset,this._southSash.onDidReset)((g)=>{if(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(u,n,h,g){this._northSash.state=u?3:0,this._eastSash.state=n?3:0,this._southSash.state=h?3:0,this._westSash.state=g?3:0}layout(u=this.size.height,n=this.size.width){let{height:h,width:g}=this._minSize,{height:p,width:m}=this._maxSize;u=Math.max(h,Math.min(p,u)),n=Math.max(g,Math.min(m,n));let _=new at(n,u);if(!at.equals(_,this._size))this.domNode.style.height=u+"px",this.domNode.style.width=n+"px",this._size=_,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(u){this._maxSize=u}get maxSize(){return this._maxSize}set minSize(u){this._minSize=u}get minSize(){return this._minSize}set preferredSize(u){this._preferredSize=u}get preferredSize(){return this._preferredSize}}var HT=30,WT=24;class zb extends i{constructor(u,n=new at(10,10)){super();this._editor=u,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new td),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=at.lift(n),this._resizableNode.layout(n.height,n.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((h)=>{if(this._resize(new at(h.dimension.width,h.dimension.height)),h.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?s.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(u){let n=this._editor.getDomNode(),h=this._editor.getScrolledVisiblePosition(u);if(!n||!h)return;return kt(n).top+h.top-HT}_availableVerticalSpaceBelow(u){let n=this._editor.getDomNode(),h=this._editor.getScrolledVisiblePosition(u);if(!n||!h)return;let g=kt(n),p=la(n.ownerDocument.body),m=g.top+h.top+h.height;return p.height-m-WT}_findPositionPreference(u,n){let h=Math.min(this._availableVerticalSpaceBelow(n)??1/0,u),g=Math.min(this._availableVerticalSpaceAbove(n)??1/0,u),p=Math.min(Math.max(g,h),u),m=Math.min(u,p),_;if(this._editor.getOption(69).above)_=m<=g?1:2;else _=m<=h?2:1;if(_===1)this._resizableNode.enableSashes(!0,!0,!1,!1);else this._resizableNode.enableSashes(!1,!0,!0,!1);return _}_resize(u){this._resizableNode.layout(u.height,u.width)}}var BT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Op=function(u,n){return function(h,g){n(h,g,u)}},fn,NL=30,Pp=class u extends zb{static{fn=this}static{this.ID="editor.contrib.resizableContentHoverWidget"}static{this._lastDimensions=new at(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(n,h,g,p,m){let _=n.getOption(75)+8,v=150,S=new at(150,_);super(n,S);this._configurationService=g,this._accessibilityService=p,this._keybindingService=m,this._hover=this._register(new Lg(!0)),this._onDidResize=this._register(new o),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new o),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new o),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=S,this._hoverVisibleKey=r.hoverVisible.bindTo(h),this._hoverFocusedKey=r.hoverFocused.bindTo(h),k(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._resizableNode.domNode.className="monaco-resizable-hover",this._register(this._editor.onDidLayoutChange(()=>{if(this.isVisible)this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration((L)=>{if(L.hasChanged(59))this._updateFont()}));let C=this._register(vi(this._resizableNode.domNode));this._register(C.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(C.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll((L)=>{this._onDidScroll.fire(L)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return fn.ID}static _applyDimensions(n,h,g){let p=typeof h==="number"?`${h}px`:h,m=typeof g==="number"?`${g}px`:g;n.style.width=p,n.style.height=m}_setContentsDomNodeDimensions(n,h){let g=this._hover.contentsDomNode;return fn._applyDimensions(g,n,h)}_setContainerDomNodeDimensions(n,h){let g=this._hover.containerDomNode;return fn._applyDimensions(g,n,h)}_setScrollableElementDimensions(n,h){let g=this._hover.scrollbar.getDomNode();return fn._applyDimensions(g,n,h)}_setHoverWidgetDimensions(n,h){this._setContainerDomNodeDimensions(n,h),this._setScrollableElementDimensions(n,h),this._setContentsDomNodeDimensions(n,h),this._layoutContentWidget()}static _applyMaxDimensions(n,h,g){let p=typeof h==="number"?`${h}px`:h,m=typeof g==="number"?`${g}px`:g;n.style.maxWidth=p,n.style.maxHeight=m}_setHoverWidgetMaxDimensions(n,h){fn._applyMaxDimensions(this._hover.contentsDomNode,n,h),fn._applyMaxDimensions(this._hover.scrollbar.getDomNode(),n,h),fn._applyMaxDimensions(this._hover.containerDomNode,n,h),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof n==="number"?`${n}px`:n),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(n){this._setHoverWidgetMaxDimensions("none","none"),this._setHoverWidgetDimensions(n.width,n.height)}_updateResizableNodeMaxDimensions(){let n=this._findMaximumRenderingWidth()??1/0,h=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new at(n,h),this._setHoverWidgetMaxDimensions(n,h)}_resize(n){fn._lastDimensions=new at(n.width,n.height),this._setAdjustedHoverWidgetDimensions(n),this._resizableNode.layout(n.height,n.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){let n=this._renderedHover?.showAtPosition;if(!n)return;return this._positionPreference===1?this._availableVerticalSpaceAbove(n):this._availableVerticalSpaceBelow(n)}_findMaximumRenderingHeight(){let n=this._findAvailableSpaceVertically();if(!n)return;let g=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach((p)=>{g+=p.clientHeight}),Math.min(n,g)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");let n=Array.from(this._hover.contentsDomNode.children).some((h)=>h.scrollWidth>h.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),n}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;let n=this._isHoverTextOverflowing(),h=typeof this._contentWidth>"u"?0:this._contentWidth;if(n||this._hover.containerDomNode.clientWidth<h){let g=la(this._hover.containerDomNode.ownerDocument.body).width,p=14;return g-14}else return this._hover.containerDomNode.clientWidth}isMouseGettingCloser(n,h){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=n,this._renderedHover.initialMousePosY=h,!1;let g=kt(this.getDomNode());if(this._renderedHover.closestMouseDistance===void 0)this._renderedHover.closestMouseDistance=ML(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,g.left,g.top,g.width,g.height);let p=ML(n,h,g.left,g.top,g.width,g.height);if(p>this._renderedHover.closestMouseDistance+4)return!1;return this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,p),!0}_setRenderedHover(n){this._renderedHover?.dispose(),this._renderedHover=n,this._hoverVisibleKey.set(!!n),this._hover.containerDomNode.classList.toggle("hidden",!n)}_updateFont(){let{fontSize:n,lineHeight:h}=this._editor.getOption(59),g=this._hover.contentsDomNode;g.style.fontSize=`${n}px`,g.style.lineHeight=`${h/n}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((m)=>this._editor.applyFontInfo(m))}_updateContent(n){let h=this._hover.contentsDomNode;h.style.paddingBottom="",h.textContent="",h.appendChild(n)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){let n=Math.max(this._editor.getLayoutInfo().height/4,250,fn._lastDimensions.height),h=Math.max(this._editor.getLayoutInfo().width*0.66,750,fn._lastDimensions.width);this._resizableNode.maxSize=new at(h,n),this._setHoverWidgetMaxDimensions(h,n)}_render(n){this._setRenderedHover(n),this._updateFont(),this._updateContent(n.domNode),this.handleContentsChanged(),this._editor.render()}getPosition(){if(!this._renderedHover)return null;return{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}}show(n){if(!this._editor||!this._editor.hasModel())return;this._render(n);let h=_l(this._hover.containerDomNode),g=n.showAtPosition;if(this._positionPreference=this._findPositionPreference(h,g)??1,this.handleContentsChanged(),n.shouldFocus)this._hover.containerDomNode.focus();this._onDidResize.fire();let m=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&T1(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");if(m)this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+m}hide(){if(!this._renderedHover)return;let n=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();if(this._setRenderedHover(void 0),this._resizableNode.maxSize=new at(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),n)this._editor.focus()}_removeConstraintsRenderNormally(){let n=this._editor.getLayoutInfo();this._resizableNode.layout(n.height,n.width),this._setHoverWidgetDimensions("auto","auto"),this._updateMaxDimensions()}setMinimumDimensions(n){this._minimumSize=new at(Math.max(this._minimumSize.width,n.width),Math.max(this._minimumSize.height,n.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let n=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new at(n,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let n=this._hover.contentsDomNode,h=_l(n),g=Ao(n)+2;if(this._resizableNode.layout(h,g),this._setHoverWidgetDimensions(g,h),h=_l(n),g=Ao(n),this._contentWidth=g,this._updateMinimumWidth(),this._resizableNode.layout(h,g),this._renderedHover?.showAtPosition){let p=_l(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(p,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let n=this._hover.scrollbar.getScrollPosition().scrollTop,h=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:n-h.lineHeight})}scrollDown(){let n=this._hover.scrollbar.getScrollPosition().scrollTop,h=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:n+h.lineHeight})}scrollLeft(){let n=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:n-NL})}scrollRight(){let n=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:n+NL})}pageUp(){let n=this._hover.scrollbar.getScrollPosition().scrollTop,h=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:n-h})}pageDown(){let n=this._hover.scrollbar.getScrollPosition().scrollTop,h=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:n+h})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};Pp=fn=BT([Op(1,G),Op(2,re),Op(3,on),Op(4,me)],Pp);function ML(u,n,h,g,p,m){let _=h+p/2,v=g+m/2,S=Math.max(Math.abs(u-_)-p/2,0),C=Math.max(Math.abs(n-v)-m/2,0);return Math.sqrt(S*S+C*C)}class mh{constructor(u,n){this._editor=u,this._participants=n}static _getLineDecorations(u,n){if(n.type!==1&&!n.supportsMarkerHover)return[];let h=u.getModel(),g=n.range.startLineNumber;if(g>h.getLineCount())return[];let p=h.getLineMaxColumn(g);return u.getLineDecorations(g).filter((m)=>{if(m.options.isWholeLine)return!0;let _=m.range.startLineNumber===g?m.range.startColumn:1,v=m.range.endLineNumber===g?m.range.endColumn:p;if(m.options.showIfCollapsed){if(_>n.range.startColumn+1||n.range.endColumn-1>v)return!1}else if(_>n.range.startColumn||n.range.endColumn>v)return!1;return!0})}computeAsync(u,n){let h=u.anchor;if(!this._editor.hasModel()||!h)return oi.EMPTY;let g=mh._getLineDecorations(this._editor,h);return oi.merge(this._participants.map((p)=>{if(!p.computeAsync)return oi.EMPTY;return p.computeAsync(h,g,u.source,n)}))}computeSync(u){if(!this._editor.hasModel())return[];let n=u.anchor,h=mh._getLineDecorations(this._editor,n),g=[];for(let p of this._participants)g=g.concat(p.computeSync(n,h,u.source));return vo(g)}}class Ap{constructor(u,n,h){this.hoverParts=u,this.isComplete=n,this.options=h}filter(u){let n=this.hoverParts.filter((h)=>h.isValidForHoverAnchor(u));if(n.length===this.hoverParts.length)return this;return new OL(this,n,this.isComplete,this.options)}}class OL extends Ap{constructor(u,n,h,g){super(n,h,g);this.original=u}filter(u){return this.original.filter(u)}}var VT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},PL=function(u,n){return function(h,g){n(h,g,u)}},AL=w,Ov=class u extends i{get hasContent(){return this._hasContent}constructor(n,h){super();this._keybindingService=n,this._hoverService=h,this.actions=[],this._hasContent=!1,this.hoverElement=AL("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=k(this.hoverElement,AL("div.actions"))}addAction(n){let h=this._keybindingService.lookupKeybinding(n.commandId),g=h?h.getLabel():null;this._hasContent=!0;let p=this._register(Mf.render(this.actionsElement,n,g));return this._register(this._hoverService.setupManagedHover(mr("element"),p.actionContainer,p.actionRenderedLabel)),this.actions.push(p),p}append(n){let h=k(this.actionsElement,n);return this._hasContent=!0,h}};Ov=VT([PL(0,me),PL(1,An)],Ov);var zT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},FL=function(u,n){return function(h,g){n(h,g,u)}},Fp=class u extends i{constructor(n,h,g,p){super();this._container=n,this._getContent=h,this._clipboardService=g,this._hoverService=p,this._container.classList.add("hover-row-with-copy"),this._button=this._register(new Hr({label:e(1186,"Copy"),icon:x.copy,onTrigger:()=>this._copyContent(),className:"hover-copy-button"},this._hoverService)),this._container.appendChild(this._button.domNode)}async _copyContent(){let n=this._getContent();if(n)await this._clipboardService.writeText(n),jo(e(1187,"Copied to clipboard"))}};Fp=zT([FL(2,yi),FL(3,An)],Fp);class HL{constructor(u,n,h){this.provider=u,this.hover=n,this.ordinal=h}}async function KT(u,n,h,g,p){let m=await Promise.resolve(u.provideHover(h,g,p)).catch(vt);if(!m||!UT(m))return;return new HL(u,m,n)}function fh(u,n,h,g,p=!1){let _=u.ordered(n,p).map((v,S)=>KT(v,S,n,h,g));return oi.fromPromisesResolveOrder(_).coalesce()}async function WL(u,n,h,g,p=!1){let m=[];for await(let _ of fh(u,n,h,g,p))m.push(_.hover);return m}Mo("_executeHoverProvider",(u,n,h)=>{let g=u.get(z);return WL(g.hoverProvider,n,h,ye.None)});Mo("_executeHoverProvider_recursive",(u,n,h)=>{let g=u.get(z);return WL(g.hoverProvider,n,h,ye.None,!0)});function UT(u){let n=typeof u.range<"u",h=typeof u.contents<"u"&&u.contents&&u.contents.length>0;return n&&h}var qT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ec=function(u,n){return function(h,g){n(h,g,u)}},id=w,jT=Mt("hover-increase-verbosity",x.addSmall,e(1188,"Icon for increaseing hover verbosity.")),$T=Mt("hover-decrease-verbosity",x.removeSmall,e(1189,"Icon for decreasing hover verbosity."));class oo{constructor(u,n,h,g,p,m=void 0){this.owner=u,this.range=n,this.contents=h,this.isBeforeContent=g,this.ordinal=p,this.source=m}isValidForHoverAnchor(u){return u.type===1&&this.range.startColumn<=u.range.startColumn&&this.range.endColumn>=u.range.endColumn}}class Kb{constructor(u,n,h){this.hover=u,this.hoverProvider=n,this.hoverPosition=h}supportsVerbosityAction(u){switch(u){case ps.Increase:return this.hover.canIncreaseVerbosity??!1;case ps.Decrease:return this.hover.canDecreaseVerbosity??!1}}}var Gs=class u{constructor(n,h,g,p,m,_,v){this._editor=n,this._markdownRendererService=h,this._configurationService=g,this._languageFeaturesService=p,this._keybindingService=m,this._hoverService=_,this._commandService=v,this.hoverOrdinal=3}createLoadingMessage(n){return new oo(this,n.range,[new On().appendText(e(1190,"Loading..."))],!1,2000)}computeSync(n,h){if(!this._editor.hasModel()||n.type!==1)return[];let g=this._editor.getModel(),p=n.range.startLineNumber,m=g.getLineMaxColumn(p),_=[],v=1000,S=g.getLineLength(p),C=g.getLanguageIdAtPosition(n.range.startLineNumber,n.range.startColumn),L=this._editor.getOption(133),R=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:C}),Z=this._editor.getOption(69).showLongLineWarning,Y=!1;if(L>=0&&S>L&&n.range.startColumn>=L){if(Y=!0,Z)_.push(new oo(this,n.range,[{value:e(1191,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`. [Don't Show Again](command:{0})",oh),isTrusted:!0}],!1,v++))}if(!Y&&typeof R==="number"&&S>=R){if(Z)_.push(new oo(this,n.range,[{value:e(1192,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`. [Don't Show Again](command:{0})",oh),isTrusted:!0}],!1,v++))}let Q=!1;for(let ee of h){let oe=ee.range.startLineNumber===p?ee.range.startColumn:1,ne=ee.range.endLineNumber===p?ee.range.endColumn:m,de=ee.options.hoverMessage;if(!de||Xh(de))continue;if(ee.options.beforeContentClassName)Q=!0;let ge=new t(n.range.startLineNumber,oe,n.range.startLineNumber,ne);_.push(new oo(this,ge,jv(de),Q,v++))}return _}computeAsync(n,h,g,p){if(!this._editor.hasModel()||n.type!==1)return oi.EMPTY;let m=this._editor.getModel(),_=this._languageFeaturesService.hoverProvider;if(!_.has(m))return oi.EMPTY;return this._getMarkdownHovers(_,m,n,p)}async*_getMarkdownHovers(n,h,g,p){let m=g.range.getStartPosition(),_=fh(n,h,m,p);for await(let v of _)if(!Xh(v.hover.contents)){let S=v.hover.range?t.lift(v.hover.range):g.range,C=new Kb(v.hover,v.provider,m);yield new oo(this,S,v.hover.contents,!1,v.ordinal,C)}}renderHoverParts(n,h){return this._renderedHoverParts=new BL(h,n.fragment,this,this._editor,this._commandService,this._keybindingService,this._hoverService,this._configurationService,this._markdownRendererService,n.onContentsChanged),this._renderedHoverParts}handleScroll(n){this._renderedHoverParts?.handleScroll(n)}getAccessibleContent(n){return this._renderedHoverParts?.getAccessibleContent(n)??""}updateMarkdownHoverVerbosityLevel(n,h){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(n,h))}};Gs=qT([Ec(1,Bo),Ec(2,re),Ec(3,z),Ec(4,me),Ec(5,An),Ec(6,Ue)],Gs);class _h{constructor(u,n,h,g){this.hoverPart=u,this.hoverElement=n,this.disposables=h,this.actionsContainer=g}dispose(){this.disposables.dispose()}}class BL{constructor(u,n,h,g,p,m,_,v,S,C){this._hoverParticipant=h,this._editor=g,this._commandService=p,this._keybindingService=m,this._hoverService=_,this._configurationService=v,this._markdownRendererService=S,this._onFinishedRendering=C,this._ongoingHoverOperations=new Map,this._disposables=new d,this.renderedHoverParts=this._renderHoverParts(u,n,this._onFinishedRendering),this._disposables.add(N(()=>{this.renderedHoverParts.forEach((L)=>{L.dispose()}),this._ongoingHoverOperations.forEach((L)=>{L.tokenSource.dispose(!0)})}))}_renderHoverParts(u,n,h){return u.sort(jn((g)=>g.ordinal,Vi)),u.map((g)=>{let p=this._renderHoverPart(g,h);return n.appendChild(p.hoverElement),p})}_renderHoverPart(u,n){let h=this._renderMarkdownHover(u,n),g=h.hoverElement,p=u.source,m=new d;if(m.add(h),!p)return new _h(u,g,m);let _=p.supportsVerbosityAction(ps.Increase),v=p.supportsVerbosityAction(ps.Decrease);if(!_&&!v)return new _h(u,g,m);let S=id("div.verbosity-actions");g.prepend(S);let C=id("div.verbosity-actions-inner");return S.append(C),m.add(this._renderHoverExpansionAction(C,ps.Increase,_)),m.add(this._renderHoverExpansionAction(C,ps.Decrease,v)),new _h(u,g,m,C)}_renderMarkdownHover(u,n){return zL(this._editor,u,this._markdownRendererService,n)}_renderHoverExpansionAction(u,n,h){let g=new d,p=n===ps.Increase,m=k(u,id(J.asCSSSelector(p?jT:$T)));m.tabIndex=0;let _=g.add(new mu("mouse",void 0,{target:u,position:{hoverPosition:0}},this._configurationService,this._hoverService));if(g.add(this._hoverService.setupManagedHover(_,m,GT(this._keybindingService,n))),!h)return m.classList.add("disabled"),g;m.classList.add("enabled");let v=()=>this._commandService.executeCommand(n===ps.Increase?qa:ja,{focus:!0});return g.add(new L1(m,v)),g.add(new $1(m,v,[3,10])),g}handleScroll(u){this.renderedHoverParts.forEach((n)=>{let h=n.actionsContainer;if(!h)return;let g=n.hoverElement,m=u.scrollTop+u.height,{offsetTop:_,clientHeight:v}=g,S=_+v,C=22,L;if(S<=m||_>=m)L=v-C;else L=m-_-C;h.style.top=`${L}px`})}async updateMarkdownHoverPartVerbosityLevel(u,n){let h=this._editor.getModel();if(!h)return;let g=this._getRenderedHoverPartAtIndex(n),p=g?.hoverPart.source;if(!g||!p?.supportsVerbosityAction(u))return;let m=await this._fetchHover(p,h,u);if(!m)return;let _=new Kb(m,p.hoverProvider,p.hoverPosition),v=g.hoverPart,S=new oo(this._hoverParticipant,v.range,m.contents,v.isBeforeContent,v.ordinal,_),C=this._updateRenderedHoverPart(n,S);if(!C)return;return{hoverPart:S,hoverElement:C.hoverElement}}getAccessibleContent(u){let n=this.renderedHoverParts.findIndex((m)=>m.hoverPart===u);if(n===-1)return;let h=this._getRenderedHoverPartAtIndex(n);if(!h)return;return h.hoverElement.innerText.replace(/[^\S\n\r]+/gu," ")}async _fetchHover(u,n,h){let g=h===ps.Increase?1:-1,p=u.hoverProvider,m=this._ongoingHoverOperations.get(p);if(m)m.tokenSource.cancel(),g+=m.verbosityDelta;let _=new qe;this._ongoingHoverOperations.set(p,{verbosityDelta:g,tokenSource:_});let v={verbosityRequest:{verbosityDelta:g,previousHover:u.hover}},S;try{S=await Promise.resolve(p.provideHover(n,u.hoverPosition,_.token,v))}catch(C){vt(C)}return _.dispose(),this._ongoingHoverOperations.delete(p),S}_updateRenderedHoverPart(u,n){if(u>=this.renderedHoverParts.length||u<0)return;let h=this._renderHoverPart(n,this._onFinishedRendering),g=this.renderedHoverParts[u],p=g.hoverElement,m=h.hoverElement,_=Array.from(m.children);p.replaceChildren(..._);let v=new _h(n,p,h.disposables,h.actionsContainer);return g.dispose(),this.renderedHoverParts[u]=v,v}_getRenderedHoverPartAtIndex(u){return this.renderedHoverParts[u]}dispose(){this._disposables.dispose()}}function VL(u,n,h,g){n.sort(jn((m)=>m.ordinal,Vi));let p=[];for(let m of n){let _=zL(h,m,g,u.onContentsChanged);u.fragment.appendChild(_.hoverElement),p.push(_)}return new Go(p)}function zL(u,n,h,g){let p=new d,m=id("div.hover-row"),_=id("div.hover-row-contents");m.appendChild(_);let v=n.contents;for(let C of v){if(Xh(C))continue;let L=id("div.markdown-hover"),R=k(L,id("div.hover-contents")),Z=p.add(h.render(C,{context:u,asyncRenderCallback:()=>{R.className="hover-contents code-hover-contents",g()}}));R.appendChild(Z.element),_.appendChild(L)}return{hoverPart:n,hoverElement:m,dispose(){p.dispose()}}}function GT(u,n){switch(n){case ps.Increase:return u.appendKeybinding(e(1193,"Increase Hover Verbosity"),qa);case ps.Decrease:return u.appendKeybinding(e(1194,"Decrease Hover Verbosity"),ja)}}var KL=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ub=function(u,n){return function(h,g){n(h,g,u)}},eg=class u{constructor(n){this._editorWorkerService=n}async provideDocumentColors(n,h){return this._editorWorkerService.computeDefaultDocumentColors(n.uri)}provideColorPresentations(n,h,g){let{range:p,color:m}=h,_=new y(new D(Math.round(255*m.red),Math.round(255*m.green),Math.round(255*m.blue),m.alpha)),v=y.Format.CSS.formatRGB(_),S=y.Format.CSS.formatHSL(_),C=y.Format.CSS.formatHexA(_,!0),L=[];return L.push({label:v,textEdit:{range:p,text:v}}),L.push({label:S,textEdit:{range:p,text:S}}),L.push({label:C,textEdit:{range:p,text:C}}),L}};eg=KL([Ub(0,Mi)],eg);var VC=class u extends i{constructor(n,h){super();this._register(n.colorProvider.register("*",new eg(h)))}};VC=KL([Ub(0,z),Ub(1,Mi)],VC);async function UC(u,n,h,g="auto"){return qC(new UL,u,n,h,g)}function qb(u,n,h,g){return Promise.resolve(h.provideColorPresentations(u,n,g))}class UL{constructor(){}async compute(u,n,h,g){let p=await u.provideDocumentColors(n,h);if(Array.isArray(p))for(let m of p)g.push({colorInfo:m,provider:u});return Array.isArray(p)}}class vI{constructor(){}async compute(u,n,h,g){let p=await u.provideDocumentColors(n,h);if(Array.isArray(p))for(let m of p)g.push({range:m.range,color:[m.color.red,m.color.green,m.color.blue,m.color.alpha]});return Array.isArray(p)}}class yI{constructor(u){this.colorInfo=u}async compute(u,n,h,g){let p=await u.provideColorPresentations(n,this.colorInfo,ye.None);if(Array.isArray(p))g.push(...p);return Array.isArray(p)}}async function qC(u,n,h,g,p){let m=!1,_,v=[],S=n.ordered(h);for(let C=S.length-1;C>=0;C--){let L=S[C];if(p!=="always"&&L instanceof eg)_=L;else try{if(await u.compute(L,h,g,v))m=!0}catch(R){vt(R)}}if(m)return v;if(_&&p!=="never")return await u.compute(_,h,g,v),v;return[]}function wI(u,n){let{colorProvider:h}=u.get(z),g=u.get(Et).getModel(n);if(!g)throw yo();let p=u.get(re).getValue("editor.defaultColorDecorators",{resource:n});return{model:g,colorProviderRegistry:h,defaultColorDecoratorsEnablement:p}}var ZT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},jb=function(u,n){return function(h,g){n(h,g,u)}},nd,$b=Object.create({}),Nh=class u extends i{static{nd=this}static{this.ID="editor.contrib.colorDetector"}static{this.RECOMPUTE_TIME=1000}static{this.colorDecoratorInnerWidthInEm=0.8}static{this.colorDecoratorMarginInEm=0.2}constructor(n,h,g,p){super();this._editor=n,this._configurationService=h,this._languageFeaturesService=g,this._localToDispose=this._register(new d),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new qL),this._colorDecorationClassRefs=this._register(new d),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new sy(this._editor));let m=this._editor.getContainerDomNode();m.style.setProperty("--vscode-colorPicker-colorDecoratorWidth",`${nd.colorDecoratorInnerWidthInEm}em`),m.style.setProperty("--vscode-colorPicker-colorDecoratorMargin",`${nd.colorDecoratorMarginInEm}em`),this._register(N(()=>{m.style.removeProperty("--vscode-colorPicker-colorDecoratorWidth"),m.style.removeProperty("--vscode-colorPicker-colorDecoratorMargin")})),this._debounceInformation=p.for(g.colorProvider,"Document Colors",{min:nd.RECOMPUTE_TIME}),this._register(n.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(n.onDidChangeModelLanguage(()=>this.updateColors())),this._register(g.colorProvider.onDidChange(()=>this.updateColors())),this._register(n.onDidChangeConfiguration((_)=>{let v=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168);let S=v!==this._isColorDecoratorsEnabled||_.hasChanged(27),C=_.hasChanged(168);if(S||C)if(this._isColorDecoratorsEnabled)this.updateColors();else this.removeAllDecorations()})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168),this.updateColors()}isEnabled(){let n=this._editor.getModel();if(!n)return!1;let h=n.getLanguageId(),g=this._configurationService.getValue(h);if(g&&typeof g==="object"){let p=g.colorDecorators;if(p&&p.enable!==void 0&&!p.enable)return p.enable}return this._editor.getOption(26)}static get(n){return n.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled){this.removeAllDecorations();return}let n=this._editor.getModel();if(!n||!this._languageFeaturesService.colorProvider.has(n))return;this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{if(!this._timeoutTimer)this._timeoutTimer=new di,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(n))})),this.beginCompute()}async beginCompute(){this._computePromise=Yt(async(n)=>{let h=this._editor.getModel();if(!h)return[];let g=new dn(!1),p=await UC(this._languageFeaturesService.colorProvider,h,n,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(h,g.elapsed()),p});try{let n=await this._computePromise;this.updateDecorations(n),this.updateColorDecorators(n),this._computePromise=null}catch(n){X(n)}}stop(){if(this._timeoutTimer)this._timeoutTimer.cancel(),this._timeoutTimer=null;if(this._computePromise)this._computePromise.cancel(),this._computePromise=null;this._localToDispose.clear()}updateDecorations(n){let h=n.map((g)=>({range:{startLineNumber:g.colorInfo.range.startLineNumber,startColumn:g.colorInfo.range.startColumn,endLineNumber:g.colorInfo.range.endLineNumber,endColumn:g.colorInfo.range.endColumn},options:ue.EMPTY}));this._editor.changeDecorations((g)=>{this._decorationsIds=g.deltaDecorations(this._decorationsIds,h),this._colorDatas=new Map,this._decorationsIds.forEach((p,m)=>this._colorDatas.set(p,n[m]))})}updateColorDecorators(n){this._colorDecorationClassRefs.clear();let h=[],g=nd.colorDecoratorInnerWidthInEm+2*nd.colorDecoratorMarginInEm,p=this._editor.getOption(27);for(let _=0;_<n.length&&h.length<p;_++){let{red:v,green:S,blue:C,alpha:L}=n[_].colorInfo.color,R=new D(Math.round(v*255),Math.round(S*255),Math.round(C*255),L),Z=`rgba(${R.r}, ${R.g}, ${R.b}, ${R.a})`,Y=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:Z}));h.push({range:{startLineNumber:n[_].colorInfo.range.startLineNumber,startColumn:n[_].colorInfo.range.startColumn,endLineNumber:n[_].colorInfo.range.endLineNumber,endColumn:n[_].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:i1,inlineClassName:`${Y.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:$b,widthInEm:g}}})}let m=p<n.length?p:!1;this._decoratorLimitReporter.update(n.length,m),this._colorDecoratorIds.set(h)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(n){let h=this._editor.getModel();if(!h)return null;let g=h.getDecorationsInRange(t.fromPositions(n,n)).filter((p)=>this._colorDatas.has(p.id));if(g.length===0)return null;return this._colorDatas.get(g[0].id)}isColorDecoration(n){return this._colorDecoratorIds.has(n)}};Nh=nd=ZT([jb(1,re),jb(2,z),jb(3,uo)],Nh);class qL extends i{constructor(){super(...arguments);this._onDidChange=this._register(new o),this._computed=0,this._limited=!1}update(u,n){if(u!==this._computed||n!==this._limited)this._computed=u,this._limited=n,this._onDidChange.fire()}}var jL=w;class Gb extends i{constructor(u,n,h){super();this.model=n,this.pixelRatio=h,this._onDidChange=this._register(new o),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new o),this.onColorFlushed=this._onColorFlushed.event,this._domNode=jL(".saturation-wrap"),k(u,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",k(this._domNode,this._canvas),this.selection=jL(".saturation-selection"),k(this._domNode,this.selection),this.layout(),this._register(c(this._domNode,E.POINTER_DOWN,(g)=>this.onPointerDown(g))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(u){if(!u.target||!(u.target instanceof Element))return;this.monitor=this._register(new El);let n=kt(this._domNode);if(u.target!==this.selection)this.onDidChangePosition(u.offsetX,u.offsetY);this.monitor.startMonitoring(u.target,u.pointerId,u.buttons,(g)=>this.onDidChangePosition(g.pageX-n.left,g.pageY-n.top),()=>null);let h=c(u.target.ownerDocument,E.POINTER_UP,()=>{if(this._onColorFlushed.fire(),h.dispose(),this.monitor)this.monitor.stopMonitoring(!0),this.monitor=null},!0)}onDidChangePosition(u,n){let h=Math.max(0,Math.min(1,u/this.width)),g=Math.max(0,Math.min(1,1-n/this.height));this.paintSelection(h,g),this._onDidChange.fire({s:h,v:g})}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 u=this.model.color.hsva;this.paintSelection(u.s,u.v)}paint(){let u=this.model.color.hsva,n=new y(new pc(u.h,1,1,1)),h=this._canvas.getContext("2d"),g=h.createLinearGradient(0,0,this._canvas.width,0);g.addColorStop(0,"rgba(255, 255, 255, 1)"),g.addColorStop(0.5,"rgba(255, 255, 255, 0.5)"),g.addColorStop(1,"rgba(255, 255, 255, 0)");let p=h.createLinearGradient(0,0,0,this._canvas.height);p.addColorStop(0,"rgba(0, 0, 0, 0)"),p.addColorStop(1,"rgba(0, 0, 0, 1)"),h.rect(0,0,this._canvas.width,this._canvas.height),h.fillStyle=y.Format.CSS.format(n),h.fill(),h.fillStyle=g,h.fill(),h.fillStyle=p,h.fill()}paintSelection(u,n){this.selection.style.left=`${u*this.width}px`,this.selection.style.top=`${this.height-n*this.height}px`}onDidChangeColor(u){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let n=u.hsva;this.paintSelection(n.s,n.v)}}class Zb extends i{constructor(u){super();this._onClicked=this._register(new o),this.onClicked=this._onClicked.event,this._button=k(u,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(c(this._button,E.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}var bh=w;class Xb extends i{constructor(u,n,h){super();if(this.model=n,this._onDidChange=this._register(new o),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new o),this.onColorFlushed=this._onColorFlushed.event,h==="standalone")this.domNode=k(u,bh(".standalone-strip")),this.overlay=k(this.domNode,bh(".standalone-overlay"));else this.domNode=k(u,bh(".strip")),this.overlay=k(this.domNode,bh(".overlay"));this.slider=k(this.domNode,bh(".slider")),this.slider.style.top="0px",this._register(c(this.domNode,E.POINTER_DOWN,(g)=>this.onPointerDown(g))),this._register(n.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let u=this.getValue(this.model.color);this.updateSliderPosition(u)}onDidChangeColor(u){let n=this.getValue(u);this.updateSliderPosition(n)}onPointerDown(u){if(!u.target||!(u.target instanceof Element))return;let n=this._register(new El),h=kt(this.domNode);if(this.domNode.classList.add("grabbing"),u.target!==this.slider)this.onDidChangeTop(u.offsetY);n.startMonitoring(u.target,u.pointerId,u.buttons,(p)=>this.onDidChangeTop(p.pageY-h.top),()=>null);let g=c(u.target.ownerDocument,E.POINTER_UP,()=>{this._onColorFlushed.fire(),g.dispose(),n.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(u){let n=Math.max(0,Math.min(1,1-u/this.height));this.updateSliderPosition(n),this._onDidChange.fire(n)}updateSliderPosition(u){this.slider.style.top=`${(1-u)*this.height}px`}}class Yb extends Xb{constructor(u,n,h){super(u,n,h);this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(u){super.onDidChangeColor(u);let{r:n,g:h,b:g}=u.rgba,p=new y(new D(n,h,g,1)),m=new y(new D(n,h,g,0));this.overlay.style.background=`linear-gradient(to bottom, ${p} 0%, ${m} 100%)`}getValue(u){return u.hsva.a}}class Jb extends Xb{constructor(u,n,h){super(u,n,h);this.domNode.classList.add("hue-strip")}getValue(u){return 1-u.hsva.h/360}}var XT=w;class Qb extends i{constructor(u,n,h,g){super();if(this.model=n,this.pixelRatio=h,this._insertButton=null,this._domNode=XT(".colorpicker-body"),k(u,this._domNode),this._saturationBox=new Gb(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 Yb(this._domNode,this.model,g),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new Jb(this._domNode,this.model,g),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),g==="standalone")this._insertButton=this._register(new Zb(this._domNode)),this._domNode.classList.add("standalone-colorpicker")}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:u,v:n}){let h=this.model.color.hsva;this.model.color=new y(new pc(h.h,u,n,h.a))}onDidOpacityChange(u){let n=this.model.color.hsva;this.model.color=new y(new pc(n.h,n.s,n.v,u))}onDidHueChange(u){let n=this.model.color.hsva,h=(1-u)*360;this.model.color=new y(new pc(h===360?0:h,n.s,n.v,n.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 YT=w;class ev extends i{constructor(u){super();this._onClicked=this._register(new o),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),k(u,this._button);let n=document.createElement("div");n.classList.add("close-button-inner-div"),k(this._button,n),k(n,YT(".button"+J.asCSSSelector(Mt("color-picker-close",x.close,e(936,"Icon to close the color picker"))))).classList.add("close-icon"),this._register(c(this._button,E.CLICK,()=>{this._onClicked.fire()}))}}var Hp=w;class tv extends i{constructor(u,n,h,g){super();this.model=n,this.type=g,this._closeButton=null,this._domNode=Hp(".colorpicker-header"),k(u,this._domNode),this._pickedColorNode=k(this._domNode,Hp(".picked-color")),k(this._pickedColorNode,Hp("span.codicon.codicon-color-mode")),this._pickedColorPresentation=k(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");let p=e(937,"Click to toggle color options (rgb/hsl/hex)");if(this._pickedColorNode.setAttribute("title",p),this._originalColorNode=k(this._domNode,Hp(".original-color")),this._originalColorNode.style.backgroundColor=y.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=h.getColorTheme().getColor(yg)||y.white,this._register(h.onDidColorThemeChange((m)=>{this.backgroundColor=m.getColor(yg)||y.white})),this._register(c(this._pickedColorNode,E.CLICK,()=>this.model.selectNextColorPresentation())),this._register(c(this._originalColorNode,E.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(n.onDidChangeColor(this.onDidChangeColor,this)),this._register(n.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=y.Format.CSS.format(n.color)||"",this._pickedColorNode.classList.toggle("light",n.color.rgba.a<0.5?this.backgroundColor.isLighter():n.color.isLighter()),this.onDidChangeColor(this.model.color),this.type==="standalone")this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new ev(this._domNode))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(u){this._pickedColorNode.style.backgroundColor=y.Format.CSS.format(u)||"",this._pickedColorNode.classList.toggle("light",u.rgba.a<0.5?this.backgroundColor.isLighter():u.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}var JT=w;class t0 extends Ei{constructor(u,n,h,g,p){super();this.model=n,this.pixelRatio=h,this._register(vf.getInstance(B(u)).onDidChange(()=>this.layout())),this._domNode=JT(".colorpicker-widget"),u.appendChild(this._domNode),this.header=this._register(new tv(this._domNode,this.model,g,p)),this.body=this._register(new Qb(this._domNode,this.model,this.pixelRatio,p))}layout(){this.body.layout()}get domNode(){return this._domNode}}class iv extends i{get color(){return this._color}set color(u){if(this._color.equals(u))return;this._color=u,this._onDidChangeColor.fire(u)}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(u){if(this._colorPresentations=u,this.presentationIndex>u.length-1)this.presentationIndex=0;this._onDidChangePresentation.fire(this.presentation)}constructor(u,n,h){super();this.presentationIndex=h,this._onColorFlushed=this._register(new o),this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=this._register(new o),this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=this._register(new o),this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=u,this._color=u,this._colorPresentations=n}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(u,n){let h=-1;for(let g=0;g<this.colorPresentations.length;g++)if(n.toLowerCase()===this.colorPresentations[g].label){h=g;break}if(h===-1){let g=n.split("(")[0].toLowerCase();for(let p=0;p<this.colorPresentations.length;p++)if(this.colorPresentations[p].label.toLowerCase().startsWith(g)){h=p;break}}if(h!==-1&&h!==this.presentationIndex)this.presentationIndex=h,this._onDidChangePresentation.fire(this.presentation)}flushColor(){this._onColorFlushed.fire(this._color)}}async function GC(u,n,h){let g=u.getValueInRange(n.range),{red:p,green:m,blue:_,alpha:v}=n.color,S=new D(Math.round(p*255),Math.round(m*255),Math.round(_*255),v),C=new y(S),L=await qb(u,n,h,ye.None),R=new iv(C,[],0);return R.colorPresentations=L||[],R.guessColorPresentation(C,g),{range:t.lift(n.range),model:R,provider:h}}function KC(u,n,h,g){let p=[],m=h.presentation.textEdit??{range:n,text:h.presentation.label,forceMoveMarkers:!1};if(h.presentation.additionalTextEdits)p.push(...h.presentation.additionalTextEdits);let _=t.lift(m.range),v=u.getModel()._setTrackedRange(null,_,3);if(g)p.push(...g.map((S)=>({range:S,text:m.text,forceMoveMarkers:!1})));else p.push(m);return u.executeEdits("colorpicker",p),u.pushUndoStop(),u.getModel()._getTrackedRange(v)??_}async function tg(u,n,h,g,p){let m=await qb(u,{range:g,color:{red:h.rgba.r/255,green:h.rgba.g/255,blue:h.rgba.b/255,alpha:h.rgba.a}},p.provider,ye.None);n.colorPresentations=m||[]}var QT=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},eR=function(u,n){return function(h,g){n(h,g,u)}};class Dc{constructor(u,n,h,g){this.owner=u,this.range=n,this.model=h,this.provider=g,this.forceShowAtRange=!0}isValidForHoverAnchor(u){return u.type===1&&this.range.startColumn<=u.range.startColumn&&this.range.endColumn>=u.range.endColumn}static fromBaseColor(u,n){return new Dc(u,n.range,n.model,n.provider)}}var Mv=class u{constructor(n,h){this._editor=n,this._themeService=h,this.hoverOrdinal=2}computeSync(n,h,g){return[]}computeAsync(n,h,g,p){return oi.fromPromise(this._computeAsync(n,h,g))}async _computeAsync(n,h,g){if(!this._editor.hasModel())return[];if(!this._isValidRequest(g))return[];let p=Nh.get(this._editor);if(!p)return[];for(let m of h){if(!p.isColorDecoration(m))continue;let _=p.getColorData(m.range.getStartPosition());if(_)return[Dc.fromBaseColor(this,await GC(this._editor.getModel(),_.colorInfo,_.provider))]}return[]}_isValidRequest(n){let h=this._editor.getOption(169);switch(n){case 0:return h==="hover"||h==="clickAndHover";case 1:return h==="click"||h==="clickAndHover";case 2:return!0}}renderHoverParts(n,h){let g=this._editor;if(h.length===0||!g.hasModel())return new Go([]);let p=g.getOption(75)+8;n.setMinimumDimensions(new at(302,p));let m=new d,_=h[0],v=g.getModel(),S=_.model;this._colorPicker=m.add(new t0(n.fragment,S,g.getOption(164),this._themeService,"hover"));let C=!1,L=new t(_.range.startLineNumber,_.range.startColumn,_.range.endLineNumber,_.range.endColumn);m.add(S.onColorFlushed(async(Z)=>{await tg(v,S,Z,L,_),C=!0,L=KC(g,L,S)})),m.add(S.onDidChangeColor((Z)=>{tg(v,S,Z,L,_)})),m.add(g.onDidChangeModelContent((Z)=>{if(C)C=!1;else n.hide(),g.focus()}));let R={hoverPart:Dc.fromBaseColor(this,_),hoverElement:this._colorPicker.domNode,dispose(){m.dispose()}};return new Go([R])}getAccessibleContent(n){return e(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}};Mv=QT([eR(1,ze)],Mv);class Wp{constructor(u,n){this.range=u,this.direction=n}}class ov{constructor(u,n,h){this.hint=u,this.anchor=n,this.provider=h,this._isResolved=!1}with(u){let n=new ov(this.hint,u.anchor,this.provider);return n._isResolved=this._isResolved,n._currentResolve=this._currentResolve,n}async resolve(u){if(typeof this.provider.resolveInlayHint!=="function")return;if(this._currentResolve){if(await this._currentResolve,u.isCancellationRequested)return;return this.resolve(u)}if(!this._isResolved)this._currentResolve=this._doResolve(u).finally(()=>this._currentResolve=void 0);await this._currentResolve}async _doResolve(u){try{let n=await Promise.resolve(this.provider.resolveInlayHint(this.hint,u));this.hint.tooltip=n?.tooltip??this.hint.tooltip,this.hint.label=n?.label??this.hint.label,this.hint.textEdits=n?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(n){vt(n),this._isResolved=!1}}}class _d{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(u,n,h,g){let p=[],m=u.ordered(n).reverse().map((_)=>h.map(async(v)=>{try{let S=await _.provideInlayHints(n,v,g);if(S?.hints.length||_.onDidChangeInlayHints)p.push([S??_d._emptyInlayHintList,_])}catch(S){vt(S)}}));if(await Promise.all(m.flat()),g.isCancellationRequested||n.isDisposed())throw new Lr;return new _d(h,p,n)}constructor(u,n,h){this._disposables=new d,this.ranges=u,this.provider=new Set;let g=[];for(let[p,m]of n){this._disposables.add(p),this.provider.add(m);for(let _ of p.hints){let v=h.validatePosition(_.position),S="before",C=_d._getRangeAtPosition(h,v),L;if(C.getStartPosition().isBefore(v))L=t.fromPositions(C.getStartPosition(),v),S="after";else L=t.fromPositions(v,C.getEndPosition()),S="before";g.push(new ov(_,new Wp(L,S),m))}}this.items=g.sort((p,m)=>s.compare(p.hint.position,m.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(u,n){let h=n.lineNumber,g=u.getWordAtPosition(n);if(g)return new t(h,g.startColumn,h,g.endColumn);u.tokenization.tokenizeIfCheap(h);let p=u.tokenization.getLineTokens(h),m=n.column-1,_=p.findTokenIndexAtOffset(m),v=p.getStartOffset(_),S=p.getEndOffset(_);if(S-v===1){if(v===m&&_>1)v=p.getStartOffset(_-1),S=p.getEndOffset(_-1);else if(S===m&&_<p.getCount()-1)v=p.getStartOffset(_+1),S=p.getEndOffset(_+1)}return new t(h,v+1,h,S+1)}}function $L(u){return R1(u.id,...u.arguments??[]).toString()}async function GL(u,n,h,g){let p=u.get(Rn),m=u.get(Zn),_=u.get(Ue),v=u.get(A),S=u.get(yt);if(await g.item.resolve(ye.None),!g.part.location)return;let C=g.part.location,L=[],R=new Set(Jn.getMenuItems(l.EditorContext).map((Y)=>yf(Y)?Y.command.id:$l()));for(let Y of zi.all())if(R.has(Y.desc.id))L.push(new wo(Y.desc.id,Ki.label(Y.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let Q=await p.createModelReference(C.uri);try{let ee=new Qa(Q.object.textEditorModel,t.getStartPosition(C.range)),oe=g.item.anchor.range;await v.invokeFunction(Y.runEditorCommand.bind(Y),n,ee,oe)}finally{Q.dispose()}}));if(g.part.command){let{command:Y}=g.part;L.push(new ut),L.push(new wo(Y.id,Y.title,void 0,!0,async()=>{try{await _.executeCommand(Y.id,...Y.arguments??[])}catch(Q){S.notify({severity:bc.Error,source:g.item.provider.displayName,message:Q})}}))}let Z=n.getOption(144);m.showContextMenu({domForShadowRoot:Z?n.getDomNode()??void 0:void 0,getAnchor:()=>{let Y=kt(h);return{x:Y.left,y:Y.top+Y.height+8}},getActions:()=>L,onHide:()=>{n.focus()},autoSelectFirstItem:!0})}async function Bp(u,n,h,g){let m=await u.get(Rn).createModelReference(g.uri);await h.invokeWithinContext(async(_)=>{let v=n.hasSideBySideModifier,S=_.get(G),C=_i.inPeekEditor.getValue(S),L=!v&&h.getOption(101)&&!C;return new Us({openToSide:v,openInPeek:L,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(_,new Qa(m.object.textEditorModel,t.getStartPosition(g.range)),t.lift(g.range))}),m.dispose()}var tR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Tc=function(u,n){return function(h,g){n(h,g,u)}},Rc;class Vp{constructor(){this._entries=new Ji(50)}get(u){let n=Vp._key(u);return this._entries.get(n)}set(u,n){let h=Vp._key(u);this._entries.set(h,n)}static _key(u){return`${u.uri.toString()}/${u.getVersionId()}`}}var ZL=ie("IInlayHintsCache");xe(ZL,Vp,1);class vh{constructor(u,n){this.item=u,this.index=n}get part(){let u=this.item.hint.label;if(typeof u==="string")return{label:u};else return u[this.index]}}class XL{constructor(u,n){this.part=u,this.hasTriggerModifier=n}}class YL{constructor(){this._store=new ce,this._tokenSource=new qe}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new qe,this._store.value=new d,{store:this._store.value,token:this._tokenSource.token}}}var ng=class u{static{Rc=this}static{this.ID="editor.contrib.InlayHints"}static{this._MAX_DECORATORS=1500}static{this._whitespaceData={}}static get(n){return n.getContribution(Rc.ID)??void 0}constructor(n,h,g,p,m,_,v){this._editor=n,this._languageFeaturesService=h,this._inlayHintsCache=p,this._commandService=m,this._notificationService=_,this._instaService=v,this._disposables=new d,this._sessionDisposables=new d,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new sy(this._editor)),this._debounceInfo=g.for(h.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(h.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(n.onDidChangeModel(()=>this._update())),this._disposables.add(n.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(n.onDidChangeConfiguration((S)=>{if(S.hasChanged(159))this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let n=this._editor.getOption(159);if(n.enabled==="off")return;let h=this._editor.getModel();if(!h||!this._languageFeaturesService.inlayHintsProvider.has(h))return;if(n.enabled==="on")this._activeRenderMode=0;else{let C,L;if(n.enabled==="onUnlessPressed")C=0,L=1;else C=1,L=0;this._activeRenderMode=C,this._sessionDisposables.add(Wa.getInstance().event((R)=>{if(!this._editor.hasModel())return;let Z=R.altKey&&R.ctrlKey&&!(R.shiftKey||R.metaKey)?L:C;if(Z!==this._activeRenderMode){this._activeRenderMode=Z;let Y=this._editor.getModel(),Q=this._copyInlayHintsWithCurrentAnchor(Y);this._updateHintsDecorators([Y.getFullModelRange()],Q),v.schedule(0)}}))}let g=this._inlayHintsCache.get(h);if(g)this._updateHintsDecorators([h.getFullModelRange()],g);this._sessionDisposables.add(N(()=>{if(!h.isDisposed())this._cacheHintsForFastRestore(h)}));let p,m=new Set;this._sessionDisposables.add(h.onWillDispose(()=>p?.cancel()));let _=this._sessionDisposables.add(new YL),v=new ke(async()=>{let C=Date.now(),{store:L,token:R}=_.reset();try{let Z=await _d.create(this._languageFeaturesService.inlayHintsProvider,h,this._getHintsRanges(),R);if(v.delay=this._debounceInfo.update(h,Date.now()-C),R.isCancellationRequested){Z.dispose();return}for(let Y of Z.provider)if(typeof Y.onDidChangeInlayHints==="function"&&!m.has(Y))m.add(Y),L.add(Y.onDidChangeInlayHints(()=>{if(!v.isScheduled())v.schedule()}));L.add(Z),L.add(N(()=>m.clear())),this._updateHintsDecorators(Z.ranges,Z.items),this._cacheHintsForFastRestore(h)}catch(Z){X(Z)}},this._debounceInfo.get(h));this._sessionDisposables.add(v),v.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((C)=>{if(C.scrollTopChanged||!v.isScheduled())v.schedule()}));let S=this._sessionDisposables.add(new ce);this._sessionDisposables.add(this._editor.onDidChangeModelContent((C)=>{let L=Math.max(v.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+L},S.value=gi(()=>v.schedule(0),L),v.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration((C)=>{if(C.hasChanged(159))v.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>v.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let n=new d,h=n.add(new Kr(this._editor)),g=new d;return n.add(g),n.add(h.onMouseMoveOrRelevantKeyDown((p)=>{let[m]=p,_=this._getInlayHintLabelPart(m),v=this._editor.getModel();if(!_||!v){g.clear();return}let S=new qe;g.add(N(()=>S.dispose(!0))),_.item.resolve(S.token),this._activeInlayHintPart=_.part.command||_.part.location?new XL(_,m.hasTriggerModifier):void 0;let C=v.validatePosition(_.item.hint.position).lineNumber,L=new t(C,1,C,v.getLineMaxColumn(C)),R=this._getInlineHintsForRange(L);this._updateHintsDecorators([L],R),g.add(N(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([L],R)}))})),n.add(h.onCancel(()=>g.clear())),n.add(h.onExecute(async(p)=>{let m=this._getInlayHintLabelPart(p);if(m){let _=m.part;if(_.location)this._instaService.invokeFunction(Bp,p,this._editor,_.location);else if(Uv.is(_.command))await this._invokeCommand(_.command,m.item)}})),n}_getInlineHintsForRange(n){let h=new Set;for(let g of this._decorationsMetadata.values())if(n.containsRange(g.item.anchor.range))h.add(g.item);return Array.from(h)}_installDblClickGesture(n){return this._editor.onMouseUp(async(h)=>{if(h.event.detail!==2)return;let g=this._getInlayHintLabelPart(h);if(!g)return;if(h.event.preventDefault(),await g.item.resolve(ye.None),qn(g.item.hint.textEdits)){let p=g.item.hint.textEdits.map((m)=>Jt.replace(t.lift(m.range),m.text));this._editor.executeEdits("inlayHint.default",p),n()}})}_installContextMenu(){return this._editor.onContextMenu(async(n)=>{if(!$e(n.event.target))return;let h=this._getInlayHintLabelPart(n);if(h)await this._instaService.invokeFunction(GL,this._editor,n.event.target,h)})}_getInlayHintLabelPart(n){if(n.target.type!==6)return;let h=n.target.detail.injectedText?.options;if(h instanceof md&&h?.attachedData instanceof vh)return h.attachedData;return}async _invokeCommand(n,h){try{await this._commandService.executeCommand(n.id,...n.arguments??[])}catch(g){this._notificationService.notify({severity:bc.Error,source:h.provider.displayName,message:g})}}_cacheHintsForFastRestore(n){let h=this._copyInlayHintsWithCurrentAnchor(n);this._inlayHintsCache.set(n,h)}_copyInlayHintsWithCurrentAnchor(n){let h=new Map;for(let[g,p]of this._decorationsMetadata){if(h.has(p.item))continue;let m=n.getDecorationRange(g);if(m){let _=new Wp(m,p.item.anchor.direction),v=p.item.with({anchor:_});h.set(p.item,v)}}return Array.from(h.values())}_getHintsRanges(){let h=this._editor.getModel(),g=this._editor.getVisibleRangesPlusViewportAboveBelow(),p=[];for(let m of g.sort(t.compareRangesUsingStarts)){let _=h.validateRange(new t(m.startLineNumber-30,m.startColumn,m.endLineNumber+30,m.endColumn));if(p.length===0||!t.areIntersectingOrTouching(p[p.length-1],_))p.push(_);else p[p.length-1]=t.plusRange(p[p.length-1],_)}return p}_updateHintsDecorators(n,h){let g=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&n.some((ne)=>ne.containsPosition(this._cursorInfo.position))){let{position:ne}=this._cursorInfo;this._cursorInfo=void 0;let de=new Map;for(let ae of this._editor.getLineDecorations(ne.lineNumber)??[]){let pe=this._decorationsMetadata.get(ae.id);if(ae.range.startColumn>ne.column)continue;let Ne=pe?.decoration.options[pe.item.anchor.direction];if(Ne&&Ne.attachedData!==Rc._whitespaceData){let Me=de.get(pe.item)??0;de.set(pe.item,Me+Ne.content.length)}}let ge=h.filter((ae)=>ae.anchor.range.startLineNumber===ne.lineNumber&&ae.anchor.range.endColumn<=ne.column),_e=Array.from(de.values()),Se;while(!0){let ae=ge.shift(),pe=_e.shift();if(!pe&&!ae)break;if(ae)g.set(ae,pe??0),Se=ae;else if(Se&&pe){let Ne=g.get(Se);Ne+=pe,Ne+=_e.reduce((Me,Oe)=>Me+Oe,0),_e.length=0;break}}}let{fontSize:p,fontFamily:m,padding:_,isUniform:v}=this._getLayoutInfo(),S=this._editor.getOption(61),C=[],L=(ne,de,ge,_e,Se,ae)=>{let pe={content:ge,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:de.className,cursorStops:_e,attachedData:Se,widthInEm:ae};C.push({item:ne,classNameRef:de,decoration:{range:ne.anchor.range,options:{description:"InlayHint",showIfCollapsed:ne.anchor.range.isEmpty(),collapseOnReplaceEdit:!ne.anchor.range.isEmpty(),stickiness:0,[ne.anchor.direction]:this._activeRenderMode===0?pe:void 0}}})},R=(ne,de)=>{let ge=p/3|0,_e=ge/S,Se=this._ruleFactory.createClassNameRef({width:`${ge}px`,display:"inline-block"});L(ne,Se,"",de?vs.Right:vs.None,Rc._whitespaceData,_e)},Z=this._editor.getOption(159).maximumLength,Y="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(Y,m);let Q={line:0,totalLen:0};for(let ne=0;ne<h.length;ne++){let de=h[ne];if(Q.line!==de.anchor.range.startLineNumber)Q={line:de.anchor.range.startLineNumber,totalLen:0};if(Z&&Q.totalLen>Z)continue;if(de.hint.paddingLeft)R(de,!1);let ge=typeof de.hint.label==="string"?[{label:de.hint.label}]:de.hint.label,_e=g.get(de),Se=0;for(let ae=0;ae<ge.length;ae++){let pe=ge[ae],Ne=ae===0,Me=ae===ge.length-1,Oe={fontSize:`${p}px`,fontFamily:`var(${Y}), ${Do.fontFamily}`,verticalAlign:v?"baseline":"middle",unicodeBidi:"isolate"};if(qn(de.hint.textEdits))Oe.cursor="default";if(this._fillInColors(Oe,de.hint),(pe.command||pe.location)&&this._activeInlayHintPart?.part.item===de&&this._activeInlayHintPart.part.index===ae){if(Oe.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier)Oe.color=bn(qM),Oe.cursor="pointer"}let Ce=pe.label;Q.totalLen+=Ce.length;let He=!1,it=Z!==0?Q.totalLen-Z:0;if(it>0)Ce=Ce.slice(0,-it)+"…",He=!0;if(Se+=Ce.length,_e!==void 0){let Ve=Se-_e;if(Ve>=0)Se-=Ve,Ce=Ce.slice(0,-(1+Ve))+"…",He=!0}if(_)if(Ne&&(Me||He))Oe.padding=`1px ${Math.max(1,p/4)|0}px`,Oe.borderRadius=`${p/4|0}px`;else if(Ne)Oe.padding=`1px 0 1px ${Math.max(1,p/4)|0}px`,Oe.borderRadius=`${p/4|0}px 0 0 ${p/4|0}px`;else if(Me||He)Oe.padding=`1px ${Math.max(1,p/4)|0}px 1px 0`,Oe.borderRadius=`0 ${p/4|0}px ${p/4|0}px 0`;else Oe.padding="1px 0 1px 0";if(L(de,this._ruleFactory.createClassNameRef(Oe),iR(Ce),Me&&!de.hint.paddingRight?vs.Right:vs.None,new vh(de,ae)),He)break}if(_e!==void 0&&Se<_e){let ae=_e-Se;L(de,this._ruleFactory.createClassNameRef({})," ".repeat(ae),vs.None)}if(de.hint.paddingRight)R(de,!0);if(C.length>Rc._MAX_DECORATORS)break}let ee=[];for(let[ne,de]of this._decorationsMetadata){let ge=this._editor.getModel()?.getDecorationRange(ne);if(ge&&n.some((_e)=>_e.containsRange(ge)))ee.push(ne),de.classNameRef.dispose(),this._decorationsMetadata.delete(ne)}let oe=is.capture(this._editor);this._editor.changeDecorations((ne)=>{let de=ne.deltaDecorations(ee,C.map((ge)=>ge.decoration));for(let ge=0;ge<de.length;ge++){let _e=C[ge];this._decorationsMetadata.set(de[ge],_e)}}),oe.restore(this._editor)}_fillInColors(n,h){if(h.kind===s0.Parameter)n.backgroundColor=bn(QM),n.color=bn(XM);else if(h.kind===s0.Type)n.backgroundColor=bn(ZM),n.color=bn(YM);else n.backgroundColor=bn(m1),n.color=bn(f1)}_getLayoutInfo(){let n=this._editor.getOption(159),h=n.padding,g=this._editor.getOption(61),p=this._editor.getOption(58),m=n.fontSize;if(!m||m<5||m>g)m=g;let _=n.fontFamily||p;return{fontSize:m,fontFamily:_,padding:h,isUniform:!h&&_===p&&m===g}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let n of this._decorationsMetadata.values())n.classNameRef.dispose();this._decorationsMetadata.clear()}};ng=Rc=tR([Tc(1,z),Tc(2,uo),Tc(3,ZL),Tc(4,Ue),Tc(5,yt),Tc(6,A)],ng);function iR(u){return u.replace(/[ \t]/g," ")}Le.registerCommand("_executeInlayHintProvider",async(u,...n)=>{let[h,g]=n;Fe(q.isUri(h)),Fe(t.isIRange(g));let{inlayHintsProvider:p}=u.get(z),m=await u.get(Rn).createModelReference(h);try{let _=await _d.create(p,m.object.textEditorModel,[t.lift(g)],ye.None),v=_.items.map((S)=>S.hint);return setTimeout(()=>_.dispose(),0),v}finally{m.dispose()}});var oR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},wd=function(u,n){return function(h,g){n(h,g,u)}};class nv extends $s{constructor(u,n,h,g){super(10,n,u.item.anchor.range,h,g,!0);this.part=u}}var Pv=class u extends Gs{constructor(n,h,g,p,m,_,v,S){super(n,h,m,v,g,p,S);this._resolverService=_,this.hoverOrdinal=6}suggestHoverAnchor(n){if(!ng.get(this._editor))return null;if(n.target.type!==6)return null;let g=n.target.detail.injectedText?.options;if(!(g instanceof md&&g.attachedData instanceof vh))return null;return new nv(g.attachedData,this,n.event.posx,n.event.posy)}computeSync(){return[]}computeAsync(n,h,g,p){if(!(n instanceof nv))return oi.EMPTY;return new oi(async(m)=>{let{part:_}=n;if(await _.item.resolve(p),p.isCancellationRequested)return;let v;if(typeof _.item.hint.tooltip==="string")v=new On().appendText(_.item.hint.tooltip);else if(_.item.hint.tooltip)v=_.item.hint.tooltip;if(v)m.emitOne(new oo(this,n.range,[v],!1,0));if(qn(_.item.hint.textEdits))m.emitOne(new oo(this,n.range,[new On().appendText(e(1220,"Double-click to insert"))],!1,10001));let S;if(typeof _.part.tooltip==="string")S=new On().appendText(_.part.tooltip);else if(_.part.tooltip)S=_.part.tooltip;if(S)m.emitOne(new oo(this,n.range,[S],!1,1));if(_.part.location||_.part.command){let L,Z=this._editor.getOption(86)==="altKey"?ve?e(1221,"cmd + click"):e(1222,"ctrl + click"):ve?e(1223,"option + click"):e(1224,"alt + click");if(_.part.location&&_.part.command)L=new On().appendText(e(1225,"Go to Definition ({0}), right click for more",Z));else if(_.part.location)L=new On().appendText(e(1226,"Go to Definition ({0})",Z));else if(_.part.command)L=new On(`[${e(1227,"Execute Command")}](${$L(_.part.command)} "${_.part.command.title}") (${Z})`,{isTrusted:!0});if(L)m.emitOne(new oo(this,n.range,[L],!1,1e4))}let C=this._resolveInlayHintLabelPartHover(_,p);for await(let L of C)m.emitOne(L)})}async*_resolveInlayHintLabelPartHover(n,h){if(!n.part.location)return;let{uri:g,range:p}=n.part.location,m=await this._resolverService.createModelReference(g);try{let _=m.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(_))return;for await(let v of fh(this._languageFeaturesService.hoverProvider,_,new s(p.startLineNumber,p.startColumn),h))if(!Xh(v.hover.contents))yield new oo(this,n.item.anchor.range,v.hover.contents,!1,2+v.ordinal)}finally{m.dispose()}}};Pv=oR([wd(1,Bo),wd(2,me),wd(3,An),wd(4,re),wd(5,Rn),wd(6,z),wd(7,Ue)],Pv);var JL=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Nc=function(u,n){return function(h,g){n(h,g,u)}},rv,sv,zp=rv=class u extends i{constructor(n,h,g,p,m,_,v){super();let S=h.hoverParts;this._renderedHoverParts=this._register(new av(n,g,S,p,m,_,v));let C=h.options,L=C.anchor,{showAtPosition:R,showAtSecondaryPosition:Z}=rv.computeHoverPositions(n,L.range,S);this.shouldAppearBeforeContent=S.some((Y)=>Y.isBeforeContent),this.showAtPosition=R,this.showAtSecondaryPosition=Z,this.initialMousePosX=L.initialMousePosX,this.initialMousePosY=L.initialMousePosY,this.shouldFocus=C.shouldFocus,this.source=C.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}get hoverPartsCount(){return this._renderedHoverParts.hoverPartsCount}focusHoverPartWithIndex(n){this._renderedHoverParts.focusHoverPartWithIndex(n)}async updateHoverVerbosityLevel(n,h,g){this._renderedHoverParts.updateHoverVerbosityLevel(n,h,g)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(n,h,g){let p=1;if(n.hasModel()){let L=n._getViewModel(),R=L.coordinatesConverter,Z=R.convertModelRangeToViewRange(h),Y=L.getLineMinColumn(Z.startLineNumber),Q=new s(Z.startLineNumber,Y);p=R.convertViewPositionToModelPosition(Q).column}let{startLineNumber:m,startColumn:_}=h,v;for(let L of g){let R=L.range,Z=R.startLineNumber===m,Y=R.endLineNumber===m;if(Z&&Y){let ee=R.startColumn,oe=Math.min(_,ee);_=Math.max(oe,p)}if(L.forceShowAtRange)v=R}let S,C;if(v){let L=v.getStartPosition();S=L,C=L}else S=h.getStartPosition(),C=new s(m,_);return{showAtPosition:S,showAtSecondaryPosition:C}}};zp=rv=JL([Nc(4,me),Nc(5,An),Nc(6,yi)],zp);class QL{constructor(u,n){this._statusBar=n,u.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}var av=class u extends i{static{sv=this}static{this._DECORATION_OPTIONS=ue.register({description:"content-hover-highlight",className:"hoverHighlight"})}constructor(n,h,g,p,m,_,v){super();this._hoverService=_,this._clipboardService=v,this._renderedParts=[],this._perPartDisposables=new Map,this._focusedHoverPartIndex=-1,this._context=p,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(h,g,p,m,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(n,g)),this._updateMarkdownAndColorParticipantInfo(h)}_createEditorDecorations(n,h){if(h.length===0)return i.None;let g=h[0].range;for(let m of h){let _=m.range;g=t.plusRange(g,_)}let p=n.createDecorationsCollection();return p.set([{range:g,options:sv._DECORATION_OPTIONS}]),N(()=>{p.clear()})}_renderParts(n,h,g,p,m){let _=new Ov(p,m),v={fragment:this._fragment,statusBar:_,...g},S=new d;S.add(_);for(let L of n){let R=this._renderHoverPartsForParticipant(h,L,v);S.add(R);for(let Z of R.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:L,hoverPart:Z.hoverPart,hoverElement:Z.hoverElement})}let C=this._renderStatusBar(this._fragment,_);if(C)S.add(C),this._renderedParts.push({type:"statusBar",hoverElement:C.hoverElement,actions:C.actions});return S}_renderHoverPartsForParticipant(n,h,g){let p=n.filter((_)=>_.owner===h);if(!(p.length>0))return new Go([]);return h.renderHoverParts(g,p)}_renderStatusBar(n,h){if(!h.hasContent)return;return new QL(n,h)}_registerListenersOnRenderedParts(){return this._renderedParts.forEach((n,h)=>{this._createListenersForPart(h,n)}),N(()=>{for(let n of this._perPartDisposables.values())n.dispose();this._perPartDisposables.clear()})}_createListenersForPart(n,h){let g=new d,p=h.hoverElement;if(p.tabIndex=0,g.add(c(p,E.FOCUS_IN,(m)=>{m.stopPropagation(),this._focusedHoverPartIndex=n})),g.add(c(p,E.FOCUS_OUT,(m)=>{m.stopPropagation(),this._focusedHoverPartIndex=-1})),h.type==="hoverPart"&&!(h.hoverPart instanceof Dc)&&!h.participant.hideCopyButton)g.add(new Fp(p,()=>h.participant.getAccessibleContent(h.hoverPart),this._clipboardService,this._hoverService));this._perPartDisposables.set(n,g)}_updateMarkdownAndColorParticipantInfo(n){let h=n.find((g)=>g instanceof Gs&&!(g instanceof Pv));if(h)this._markdownHoverParticipant=h;this._colorHoverParticipant=n.find((g)=>g instanceof Mv)}focusHoverPartWithIndex(n){if(n<0||n>=this._renderedParts.length)return;this._renderedParts[n].hoverElement.focus()}async updateHoverVerbosityLevel(n,h,g){if(!this._markdownHoverParticipant)return;let p;if(h>=0)p={start:h,endExclusive:h+1};else p=this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let m=p.start;m<p.endExclusive;m++){let _=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,m);if(_===void 0)continue;let v=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(n,_);if(!v)continue;let S=this._perPartDisposables.get(m);if(S)S.dispose(),this._perPartDisposables.delete(m);this._renderedParts[m]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:v.hoverPart,hoverElement:v.hoverElement},this._createListenersForPart(m,this._renderedParts[m])}if(g)if(h>=0)this.focusHoverPartWithIndex(h);else this._context.focus();this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(n,h){let g=this._renderedParts[h];if(!g||g.type!=="hoverPart")return;if(g.participant!==n)return;let m=this._renderedParts.findIndex((_)=>_.type==="hoverPart"&&_.participant===n);if(m===-1)throw new H;return h-m}_findRangeOfMarkdownHoverParts(n){let h=this._renderedParts.slice(),g=h.findIndex((_)=>_.type==="hoverPart"&&_.participant===n),p=h.reverse().findIndex((_)=>_.type==="hoverPart"&&_.participant===n),m=p>=0?h.length-p:p;return{start:g,endExclusive:m+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}};av=sv=JL([Nc(4,me),Nc(5,An),Nc(6,yi)],av);var nR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Kp=function(u,n){return function(h,g){n(h,g,u)}},Up=class u extends i{constructor(n,h,g,p,m){super();this._editor=n,this._instantiationService=h,this._keybindingService=g,this._hoverService=p,this._clipboardService=m,this._currentResult=null,this._renderedContentHover=this._register(new ce),this._onContentsChanged=this._register(new o),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(Pp,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new gh(this._editor,new mh(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let n=[];for(let h of gl.getAll()){let g=this._instantiationService.createInstance(h,this._editor);n.push(g)}return n.sort((h,g)=>h.hoverOrdinal-g.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach((h)=>h.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll((h)=>{this._participants.forEach((g)=>g.handleScroll?.(h))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach((h)=>h.handleContentsChanged?.())})),n}_registerListeners(){this._register(this._hoverOperation.onResult((h)=>{let g=h.hasLoadingMessage?this._addLoadingMessage(h):h.value;this._withResult(new Ap(g,h.isComplete,h.options))}));let n=this._contentHoverWidget.getDomNode();this._register(Ct(n,"keydown",(h)=>{if(h.equals(9))this.hide()})),this._register(Ct(n,"mouseleave",(h)=>{this._onMouseLeave(h)})),this._register(Ut.onDidChange(()=>{if(this._contentHoverWidget.position&&this._currentResult)this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(n,h,g,p,m){if(!(this._contentHoverWidget.position&&this._currentResult)){if(n)return this._startHoverOperationIfNecessary(n,h,g,p,!1),!0;return!1}let v=this._editor.getOption(69).sticky,S=m&&this._contentHoverWidget.isMouseGettingCloser(m.event.posx,m.event.posy);if(v&&S){if(n)this._startHoverOperationIfNecessary(n,h,g,p,!0);return!0}if(!n)return this._setCurrentResult(null),!1;if(this._currentResult&&this._currentResult.options.anchor.equals(n))return!0;if(!(this._currentResult&&n.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)))return this._setCurrentResult(null),this._startHoverOperationIfNecessary(n,h,g,p,!1),!0;if(this._currentResult)this._setCurrentResult(this._currentResult.filter(n));return this._startHoverOperationIfNecessary(n,h,g,p,!1),!0}_startHoverOperationIfNecessary(n,h,g,p,m){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(n))return;this._hoverOperation.cancel();let v={anchor:n,source:g,shouldFocus:p,insistOnKeepingHoverVisible:m};this._hoverOperation.start(h,v)}_setCurrentResult(n){let h=n;if(this._currentResult===h)return;if(h&&h.hoverParts.length===0)h=null;if(this._currentResult=h,this._currentResult)this._showHover(this._currentResult);else this._hideHover()}_addLoadingMessage(n){for(let h of this._participants){if(!h.createLoadingMessage)continue;let g=h.createLoadingMessage(n.options.anchor);if(!g)continue;return n.value.slice(0).concat([g])}return n.value}_withResult(n){if(!(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete))this._setCurrentResult(n);if(!n.isComplete)return;let p=n.hoverParts.length===0,m=n.options.insistOnKeepingHoverVisible;if(p&&m)return;this._setCurrentResult(n)}_showHover(n){let h=this._getHoverContext();if(this._renderedContentHover.value=new zp(this._editor,n,this._participants,h,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren)this._contentHoverWidget.show(this._renderedContentHover.value);else this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEach((n)=>n.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:(m)=>{this._contentHoverWidget.setMinimumDimensions(m)},focus:()=>this.focus()}}showsOrWillShow(n){if(this._contentHoverWidget.isResizing)return!0;if(this._isMouseOnCodeActionWidget(n))return!0;let g=this._findHoverAnchorCandidates(n);if(!(g.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,n);let m=g[0];return this._startShowingOrUpdateHover(m,0,0,!1,n)}_findHoverAnchorCandidates(n){let h=[];for(let p of this._participants){if(!p.suggestHoverAnchor)continue;let m=p.suggestHoverAnchor(n);if(!m)continue;h.push(m)}let g=n.target;switch(g.type){case 6:{h.push(new ph(0,g.range,n.event.posx,n.event.posy));break}case 7:{let p=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!g.detail.isAfterLines&&typeof g.detail.horizontalDistanceToText==="number"&&g.detail.horizontalDistanceToText<p))break;h.push(new ph(0,g.range,n.event.posx,n.event.posy));break}}return h.sort((p,m)=>m.priority-p.priority),h}_isMouseOnCodeActionWidget(n){let h=n.event.browserEvent.target;if(h instanceof Element&&!!h.closest(".action-widget"))return!0;return!1}_onMouseLeave(n){let h=this._editor.getDomNode();if(!h||!qs(h,n.x,n.y))this.hide()}startShowingAtRange(n,h,g,p){this._startShowingOrUpdateHover(new ph(0,n,void 0,void 0),h,g,p,null)}async updateHoverVerbosityLevel(n,h,g){this._renderedContentHover.value?.updateHoverVerbosityLevel(n,h,g)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(n){return n?this._contentHoverWidget.getDomNode().contains(n):!1}focus(){if(this._renderedContentHover.value?.hoverPartsCount===1){this.focusHoverPartWithIndex(0);return}this._contentHoverWidget.focus()}focusHoverPartWithIndex(n){this._renderedContentHover.value?.focusHoverPartWithIndex(n)}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}};Up=nR([Kp(1,A),Kp(2,me),Kp(3,An),Kp(4,yi)],Up);function JC(u){let n=u.target;return!!n&&n.type===6&&n.detail.injectedText?.options.attachedData===$b}var rR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},dv=function(u,n){return function(h,g){n(h,g,u)}},cv,Io=class u extends i{static{cv=this}static{this.ID="editor.contrib.contentHover"}constructor(n,h,g,p){super();this._editor=n,this._instantiationService=g,this._keybindingService=p,this._onHoverContentsChanged=this._register(new o),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new d,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new ke(()=>{if(this._mouseMoveEvent)this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(h.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(h.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((m)=>{if(m.hasChanged(69))this._unhookListeners(),this._hookListeners()}))}static get(n){return n.getContribution(cv.ID)}_hookListeners(){let n=this._editor.getOption(69);if(this._hoverSettings={enabled:n.enabled,sticky:n.sticky,hidingDelay:n.hidingDelay},n.enabled==="off")this._cancelSchedulerAndHide();this._listenersStore.add(this._editor.onMouseDown((h)=>this._onEditorMouseDown(h))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove((h)=>this._onEditorMouseMove(h))),this._listenersStore.add(this._editor.onKeyDown((h)=>this._onKeyDown(h))),this._listenersStore.add(this._editor.onMouseLeave((h)=>this._onEditorMouseLeave(h))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange((h)=>this._onEditorScrollChanged(h)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(n){if(this._ignoreMouseEvents)return;if(n.scrollTopChanged||n.scrollLeftChanged)this.hideContentHover()}_onEditorMouseDown(n){if(this._ignoreMouseEvents)return;if(this._isMouseDown=!0,this._shouldKeepHoverWidgetVisible(n))return;this.hideContentHover()}_shouldKeepHoverWidgetVisible(n){return this._isMouseOnContentHoverWidget(n)||this._isContentWidgetResizing()||JC(n)}_isMouseOnContentHoverWidget(n){if(!this._contentWidget||!this._contentWidget.getDomNode().isConnected)return!1;return qs(this._contentWidget.getDomNode(),n.event.posx,n.event.posy)}_onEditorMouseUp(){if(this._ignoreMouseEvents)return;this._isMouseDown=!1}_onEditorMouseLeave(n){if(this._ignoreMouseEvents)return;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._cancelScheduler(),this._shouldKeepHoverWidgetVisible(n))return;this.hideContentHover()}_shouldKeepCurrentHover(n){let h=this._contentWidget;if(!h)return!1;let g=this._hoverSettings.sticky,p=(L,R)=>{let Z=this._isMouseOnContentHoverWidget(L);return R&&Z},m=(L)=>{let R=h.isColorPickerVisible,Z=this._isMouseOnContentHoverWidget(L),Y=R&&Z,Q=R&&this._isMouseDown;return Y||Q},_=(L,R)=>{let Z=L.event.browserEvent.view;if(!Z)return!1;return R&&h.containsNode(Z.document.activeElement)&&!Z.getSelection()?.isCollapsed},{isFocused:v,isResizing:S}=h,C=this._hoverSettings.sticky&&h.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||v||S||C||p(n,g)||m(n)||_(n,g)}_onEditorMouseMove(n){if(this._ignoreMouseEvents)return;if(this._isMouseDown&&!this._shouldKeepHoverWidgetVisible(n)){this._cancelSchedulerAndHide();return}if(this._mouseMoveEvent=n,this._shouldKeepCurrentHover(n)){this._reactToEditorMouseMoveRunner.cancel();return}if(this._shouldRescheduleHoverComputation()){if(!this._reactToEditorMouseMoveRunner.isScheduled())this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay);return}this._reactToEditorMouseMove(n)}_shouldRescheduleHoverComputation(){let n=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&n>0}_reactToEditorMouseMove(n){if(Np(this._hoverSettings.enabled,this._editor.getOption(86),n)){if(this._getOrCreateContentWidget().showsOrWillShow(n))return}this.hideContentHover()}_onKeyDown(n){if(this._ignoreMouseEvents||!this._contentWidget)return;if(this._hoverSettings.enabled==="onKeyboardModifier"&&uh(this._editor.getOption(86),n)&&this._mouseMoveEvent){if(!this._contentWidget.isVisible)this._contentWidget.showsOrWillShow(this._mouseMoveEvent);return}let h=this._isPotentialKeyboardShortcut(n),g=Mh(n.keyCode);if(h||g)return;if(this._contentWidget.isFocused&&n.keyCode===2)return;this.hideContentHover()}_isPotentialKeyboardShortcut(n){if(!this._editor.hasModel()||!this._contentWidget)return!1;let h=this._keybindingService.softDispatch(n,this._editor.getDomNode()),g=h.kind===1,p=h.kind===2&&(h.commandId===fp||h.commandId===qa||h.commandId===ja)&&this._contentWidget.isVisible;return g||p}hideContentHover(){if(qr.dropDownVisible)return;this._contentWidget?.hide()}_getOrCreateContentWidget(){if(!this._contentWidget)this._contentWidget=this._instantiationService.createInstance(Up,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()));return this._contentWidget}showContentHover(n,h,g,p){this._getOrCreateContentWidget().startShowingAtRange(n,h,g,p)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(n,h,g){this._getOrCreateContentWidget().updateHoverVerbosityLevel(n,h,g)}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()}};Io=cv=rR([dv(1,Zn),dv(2,A),dv(3,me)],Io);var Qn;(function(u){u.NoAutoFocus="noAutoFocus",u.FocusIfVisible="focusIfVisible",u.AutoFocusImmediately="autoFocusImmediately"})(Qn||(Qn={}));class lv extends U{constructor(){super({id:fp,label:b(1165,"Show or Focus Hover"),metadata:{description:b(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:[Qn.NoAutoFocus,Qn.FocusIfVisible,Qn.AutoFocusImmediately],enumDescriptions:[e(1162,"The hover will not automatically take focus."),e(1163,"The hover will take focus only if it is already visible."),e(1164,"The hover will automatically take focus when it appears.")],default:Qn.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:un(2089,2087),weight:100}})}run(u,n,h){if(!n.hasModel())return;let g=Io.get(n);if(!g)return;let p=h?.focus,m=Qn.FocusIfVisible;if(Object.values(Qn).includes(p))m=p;else if(typeof p==="boolean"&&p)m=Qn.AutoFocusImmediately;let _=(S)=>{let C=n.getPosition(),L=new t(C.lineNumber,C.column,C.lineNumber,C.column);g.showContentHover(L,1,2,S)},v=n.getOption(2)===2;if(g.isHoverVisible)if(m!==Qn.NoAutoFocus)g.focus();else _(v);else _(v||m===Qn.AutoFocusImmediately)}}class hv extends U{constructor(){super({id:lL,label:b(1167,"Show Definition Preview Hover"),precondition:void 0,metadata:{description:b(1168,"Show the definition preview hover in the editor.")}})}run(u,n){let h=Io.get(n);if(!h)return;let g=n.getPosition();if(!g)return;let p=new t(g.lineNumber,g.column,g.lineNumber,g.column),m=Lc.get(n);if(!m)return;m.startFindDefinitionFromCursor(g).then(()=>{h.showContentHover(p,1,2,!0)})}}class uv extends U{constructor(){super({id:hL,label:b(1169,"Hide Hover"),alias:"Hide Content Hover",precondition:void 0})}run(u,n){Io.get(n)?.hideContentHover()}}class gv extends U{constructor(){super({id:uL,label:b(1170,"Scroll Up Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:16,weight:100},metadata:{description:b(1171,"Scroll up the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.scrollUp()}}class pv extends U{constructor(){super({id:gL,label:b(1172,"Scroll Down Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:18,weight:100},metadata:{description:b(1173,"Scroll down the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.scrollDown()}}class mv extends U{constructor(){super({id:pL,label:b(1174,"Scroll Left Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:15,weight:100},metadata:{description:b(1175,"Scroll left the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.scrollLeft()}}class fv extends U{constructor(){super({id:mL,label:b(1176,"Scroll Right Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:17,weight:100},metadata:{description:b(1177,"Scroll right the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.scrollRight()}}class _v extends U{constructor(){super({id:fL,label:b(1178,"Page Up Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:b(1179,"Page up the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.pageUp()}}class bv extends U{constructor(){super({id:_L,label:b(1180,"Page Down Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:b(1181,"Page down the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.pageDown()}}class vv extends U{constructor(){super({id:bL,label:b(1182,"Go To Top Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:b(1183,"Go to the top of the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.goToTop()}}class wv extends U{constructor(){super({id:vL,label:b(1184,"Go To Bottom Hover"),precondition:r.hoverFocused,kbOpts:{kbExpr:r.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:b(1185,"Go to the bottom of the editor hover.")}})}run(u,n){let h=Io.get(n);if(!h)return;h.goToBottom()}}class Sv extends U{constructor(){super({id:qa,label:wL,alias:"Increase Hover Verbosity Level",precondition:r.hoverVisible})}run(u,n,h){let g=Io.get(n);if(!g)return;let p=h?.index!==void 0?h.index:g.focusedHoverPartIndex();g.updateHoverVerbosityLevel(ps.Increase,p,h?.focus)}}class Cv extends U{constructor(){super({id:ja,label:SL,alias:"Decrease Hover Verbosity Level",precondition:r.hoverVisible})}run(u,n,h){let g=Io.get(n);if(!g)return;let p=h?.index!==void 0?h.index:g.focusedHoverPartIndex();Io.get(n)?.updateHoverVerbosityLevel(ps.Decrease,p,h?.focus)}}var sR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},wh=function(u,n){return function(h,g){n(h,g,u)}},wn=w;class tk{constructor(u,n,h){this.owner=u,this.range=n,this.marker=h}isValidForHoverAnchor(u){return u.type===1&&this.range.startColumn<=u.range.startColumn&&this.range.endColumn>=u.range.endColumn}}var ek={type:1,filter:{include:_t.QuickFix},triggerAction:Si.QuickFixHover},qp=class u{constructor(n,h,g,p,m,_){this._editor=n,this._markerDecorationsService=h,this._openerService=g,this._languageFeaturesService=p,this._menuService=m,this._contextKeyService=_,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(n,h){if(!this._editor.hasModel()||n.type!==1&&!n.supportsMarkerHover)return[];let g=this._editor.getModel(),p=n.range;if(!g.isValidRange(n.range))return[];let m=p.startLineNumber,_=g.getLineMaxColumn(m),v=[];for(let S of h){let C=S.range.startLineNumber===m?S.range.startColumn:1,L=S.range.endLineNumber===m?S.range.endColumn:_,R=this._markerDecorationsService.getMarker(g.uri,S);if(!R)continue;let Z=new t(n.range.startLineNumber,C,n.range.startLineNumber,L);v.push(new tk(this,Z,R))}return v}renderHoverParts(n,h){if(!h.length)return new Go([]);let g=[];h.forEach((_)=>{let v=this._renderMarkerHover(_);n.fragment.appendChild(v.hoverElement),g.push(v)});let p=h.length===1?h[0]:h.sort((_,v)=>rn.compare(_.marker.severity,v.marker.severity))[0],m=this._renderMarkerStatusbar(n,p);return new Go(g,m)}getAccessibleContent(n){let{marker:h}=n,g=qn(h.relatedInformation)?h.relatedInformation.map((p)=>`${Oi(p.resource)}(${p.startLineNumber}, ${p.startColumn}): ${p.message}`).join(`
|
|
32
|
-
`):void 0;return[h.message,g].filter((p)=>!!p).join(`
|
|
33
|
-
`)}_renderMarkerHover(n){let h=new d,g=wn("div.hover-row"),p=k(g,wn("div.marker.hover-contents")),{source:m,message:_,code:v,relatedInformation:S}=n.marker;this._editor.applyFontInfo(p);let C=k(p,wn("span"));if(C.style.whiteSpace="pre-wrap",C.innerText=_,m||v)if(v&&typeof v!=="string"){let R=wn("span");if(m){let ee=k(R,wn("span"));ee.innerText=m}let Z=k(R,wn("a.code-link"));Z.setAttribute("href",v.target.toString(!0)),h.add(c(Z,"click",(ee)=>{this._openerService.open(v.target),ee.preventDefault(),ee.stopPropagation()}));let Y=k(Z,wn("span"));Y.innerText=v.value;let Q=k(p,R);Q.style.opacity="0.6",Q.style.paddingLeft="6px"}else{let R=k(p,wn("span"));R.style.opacity="0.6",R.style.paddingLeft="6px",R.innerText=m&&v?`${m}(${v})`:m?m:`(${v})`}if(qn(S))for(let{message:R,resource:Z,startLineNumber:Y,startColumn:Q}of S){let ee=k(p,wn("div"));ee.style.marginTop="8px";let oe=k(ee,wn("a"));oe.innerText=`${Oi(Z)}(${Y}, ${Q}): `,oe.style.cursor="pointer",h.add(c(oe,"click",(de)=>{if(de.stopPropagation(),de.preventDefault(),this._openerService){let ge={selection:{startLineNumber:Y,startColumn:Q}};this._openerService.open(Z,{fromUserGesture:!0,editorOptions:ge}).catch(X)}}));let ne=k(ee,wn("span"));ne.innerText=R,this._editor.applyFontInfo(ne)}return{hoverPart:n,hoverElement:g,dispose:()=>h.dispose()}}_renderMarkerStatusbar(n,h){let g=new d;if(h.marker.severity===rn.Error||h.marker.severity===rn.Warning||h.marker.severity===rn.Info){let _=Ts.get(this._editor);if(_)n.statusBar.addAction({label:e(1195,"View Problem"),commandId:Vr.ID,run:()=>{n.hide(),_.showAtMarker(h.marker),this._editor.focus()}})}let p=[];for(let[,_]of this._menuService.getMenuActions(l.MarkerHoverStatusBar,this._contextKeyService))for(let v of _)if(v instanceof Ki&&v.enabled)p.push(v);let m=()=>{for(let _ of p)n.statusBar.addAction({label:_.label,commandId:_.id,iconClass:_.class,run:()=>{n.hide(),this._editor.setSelection(t.lift(h.range)),_.run()}})};if(!this._editor.getOption(104)){let _=n.statusBar.append(wn("div"));if(this.recentMarkerCodeActionsInfo)if(U0.makeKey(this.recentMarkerCodeActionsInfo.marker)===U0.makeKey(h.marker)){if(!this.recentMarkerCodeActionsInfo.hasCodeActions){if(p.length===0)_.textContent=e(1196,"No quick fixes available")}}else this.recentMarkerCodeActionsInfo=void 0;let v=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?i.None:gi(()=>_.textContent=e(1197,"Checking for quick fixes..."),200,g);if(!_.textContent)_.textContent=String.fromCharCode(160);let S=this.getCodeActions(h.marker);g.add(N(()=>S.cancel())),S.then((C)=>{if(v.dispose(),this.recentMarkerCodeActionsInfo={marker:h.marker,hasCodeActions:C.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){if(C.dispose(),p.length===0)_.textContent=e(1198,"No quick fixes available");else _.style.display="none";m();return}_.style.display="none";let L=!1;g.add(N(()=>{if(!L)C.dispose()})),n.statusBar.addAction({label:e(1199,"Quick Fix..."),commandId:Bs,run:(Z)=>{L=!0;let Y=vr.get(this._editor),Q=kt(Z);Y?.showCodeActions(ek,C,{x:Q.left,y:Q.top,width:Q.width,height:Q.height})}});let R=C.validActions.find((Z)=>Z.action.isAI);if(R)n.statusBar.addAction({label:R.action.title,commandId:R.action.command?.id??"",iconClass:J.asClassName(x.sparkle),run:()=>{vr.get(this._editor)?.applyCodeAction(R,!1,!1,br.FromProblemsHover)}});else m();n.onContentsChanged()},X)}else m();return g}getCodeActions(n){return Yt((h)=>Vs(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new t(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn),ek,Ga.None,h))}};qp=sR([wh(1,ty),wh(2,Zo),wh(3,z),wh(4,Ai),wh(5,G)],qp);class yv{constructor(u){this._editor=u}computeSync(u){let n=(m)=>({value:m}),h=this._editor.getLineDecorations(u.lineNumber),g=[],p=u.laneOrLine==="lineNo";if(!h)return g;for(let m of h){let _=m.options.glyphMargin?.position??es.Center;if(!p&&_!==u.laneOrLine)continue;let v=p?m.options.lineNumberHoverMessage:m.options.glyphMarginHoverMessage;if(!v||Xh(v))continue;g.push(...jv(v).map(n))}return g}}var aR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},dR=function(u,n){return function(h,g){n(h,g,u)}},xv,ik=w,jp=class u extends i{static{xv=this}static{this.ID="editor.contrib.modesGlyphHoverWidget"}constructor(n,h){super();this._markdownRendererService=h,this.allowEditorOverflow=!0,this._renderDisposeables=this._register(new d),this._editor=n,this._isVisible=!1,this._messages=[],this._hover=this._register(new Lg(!0)),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._hoverOperation=this._register(new gh(this._editor,new yv(this._editor))),this._register(this._hoverOperation.onResult((g)=>this._withResult(g))),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration((g)=>{if(g.hasChanged(59))this._updateFont()})),this._register(Ct(this._hover.containerDomNode,"mouseleave",(g)=>{this._onMouseLeave(g)})),this._editor.addOverlayWidget(this)}dispose(){this._hoverComputerOptions=void 0,this._editor.removeOverlayWidget(this),super.dispose()}getId(){return xv.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((h)=>this._editor.applyFontInfo(h))}_onModelDecorationsChanged(){if(this._isVisible&&this._hoverComputerOptions)this._hoverOperation.cancel(),this._hoverOperation.start(0,this._hoverComputerOptions)}showsOrWillShow(n){let h=n.target;if(h.type===2&&h.detail.glyphMarginLane)return this._startShowingAt(h.position.lineNumber,h.detail.glyphMarginLane),!0;if(h.type===3)return this._startShowingAt(h.position.lineNumber,"lineNo"),!0;return!1}_startShowingAt(n,h){if(this._hoverComputerOptions&&this._hoverComputerOptions.lineNumber===n&&this._hoverComputerOptions.laneOrLine===h)return;this._hoverOperation.cancel(),this.hide(),this._hoverComputerOptions={lineNumber:n,laneOrLine:h},this._hoverOperation.start(0,this._hoverComputerOptions)}hide(){if(this._hoverComputerOptions=void 0,this._hoverOperation.cancel(),!this._isVisible)return;this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible)}_withResult(n){if(this._messages=n.value,this._messages.length>0)this._renderMessages(n.options.lineNumber,n.options.laneOrLine,this._messages);else this.hide()}_renderMessages(n,h,g){this._renderDisposeables.clear();let p=document.createDocumentFragment();for(let m of g){let _=ik("div.hover-row.markdown-hover"),v=k(_,ik("div.hover-contents")),S=this._renderDisposeables.add(this._markdownRendererService.render(m.value,{context:this._editor}));v.appendChild(S.element),p.appendChild(_)}this._updateContents(p),this._showAt(n,h)}_updateContents(n){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(n),this._updateFont()}_showAt(n,h){if(!this._isVisible)this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible);let g=this._editor.getLayoutInfo(),p=this._editor.getTopForLineNumber(n),m=this._editor.getScrollTop(),_=this._editor.getOption(75),v=this._hover.containerDomNode.clientHeight,S=p-m-(v-_)/2,C=g.glyphMarginLeft+g.glyphMarginWidth+(h==="lineNo"?g.lineNumbersWidth:0),R=g.height-v,Z=Math.max(0,Math.min(Math.round(S),R));if(this._editor.getOption(51)){let Q=this._editor.getDomNode();if(Q){let ee=kt(Q);this._hover.containerDomNode.style.position="fixed",this._hover.containerDomNode.style.left=`${ee.left+C}px`,this._hover.containerDomNode.style.top=`${ee.top+Z}px`}}else this._hover.containerDomNode.style.position="absolute",this._hover.containerDomNode.style.left=`${C}px`,this._hover.containerDomNode.style.top=`${Z}px`;this._hover.containerDomNode.style.zIndex="11"}_onMouseLeave(n){let h=this._editor.getDomNode();if(!h||!qs(h,n.x,n.y))this.hide()}};jp=xv=aR([dR(1,Bo)],jp);var cR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},lR=function(u,n){return function(h,g){n(h,g,u)}},Sh=class u extends i{static{this.ID="editor.contrib.marginHover"}constructor(n,h){super();this._editor=n,this._instantiationService=h,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new d,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new ke(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration((g)=>{if(g.hasChanged(69))this._unhookListeners(),this._hookListeners()}))}_hookListeners(){let n=this._editor.getOption(69);if(this._hoverSettings={enabled:n.enabled,sticky:n.sticky,hidingDelay:n.hidingDelay},n.enabled!=="off")this._listenersStore.add(this._editor.onMouseDown((h)=>this._onEditorMouseDown(h))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove((h)=>this._onEditorMouseMove(h))),this._listenersStore.add(this._editor.onKeyDown((h)=>this._onKeyDown(h)));else this._listenersStore.add(this._editor.onMouseMove((h)=>this._onEditorMouseMove(h))),this._listenersStore.add(this._editor.onKeyDown((h)=>this._onKeyDown(h)));this._listenersStore.add(this._editor.onMouseLeave((h)=>this._onEditorMouseLeave(h))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this.hideGlyphHover()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange((h)=>this._onEditorScrollChanged(h)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(n){if(n.scrollTopChanged||n.scrollLeftChanged)this.hideGlyphHover()}_onEditorMouseDown(n){if(this._hoverState.mouseDown=!0,this._isMouseOnGlyphHoverWidget(n))return;this.hideGlyphHover()}_isMouseOnGlyphHoverWidget(n){let h=this._glyphWidget?.getDomNode();if(h)return qs(h,n.event.posx,n.event.posy);return!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(n){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._cancelScheduler(),this._isMouseOnGlyphHoverWidget(n))return;this.hideGlyphHover()}_shouldNotRecomputeCurrentHoverWidget(n){let h=this._hoverSettings.sticky,g=this._isMouseOnGlyphHoverWidget(n);return h&&g}_onEditorMouseMove(n){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=n,this._shouldNotRecomputeCurrentHoverWidget(n)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(n)}_reactToEditorMouseMove(n){if(!n)return;if(!Np(this._hoverSettings.enabled,this._editor.getOption(86),n)){this.hideGlyphHover();return}if(this._tryShowHoverWidget(n))return;this.hideGlyphHover()}_tryShowHoverWidget(n){return this._getOrCreateGlyphWidget().showsOrWillShow(n)}_onKeyDown(n){if(!this._editor.hasModel())return;if(this._hoverSettings.enabled==="onKeyboardModifier"&&uh(this._editor.getOption(86),n)&&this._mouseMoveEvent){this._tryShowHoverWidget(this._mouseMoveEvent);return}if(Mh(n.keyCode))return;this.hideGlyphHover()}hideGlyphHover(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){if(!this._glyphWidget)this._glyphWidget=this._instantiationService.createInstance(jp,this._editor);return this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};Sh=cR([lR(1,A)],Sh);var Mc=new class u{constructor(){this._implementations=[]}register(n){return this._implementations.push(n),{dispose:()=>{let h=this._implementations.indexOf(n);if(h!==-1)this._implementations.splice(h,1)}}}getImplementations(){return this._implementations}};class Iv{}class Lv{}class kv{}fe(Io.ID,Io,2);fe(Sh.ID,Sh,2);O(lv);O(hv);O(uv);O(gv);O(pv);O(mv);O(fv);O(_v);O(bv);O(vv);O(wv);O(Sv);O(Cv);gl.register(Gs);gl.register(qp);Le.registerCommand(oh,(u)=>{u.get(re).updateValue("editor.hover.showLongLineWarning",!1)});Li((u,n)=>{let h=u.getColor(If);if(h)n.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${h.transparent(0.5)}; }`),n.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${h.transparent(0.5)}; }`),n.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${h.transparent(0.5)}; }`)});Mc.register(new Iv);Mc.register(new Lv);Mc.register(new kv);class ok{constructor(u,n){this._link=u,this._provider=n}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(u){if(this._link.url)return this._link.url;if(typeof this._provider.resolveLink==="function")return Promise.resolve(this._provider.resolveLink(this._link,u)).then((n)=>{if(this._link=n||this._link,this._link.url)return this.resolve(u);return Promise.reject(Error("missing"))});return Promise.reject(Error("missing"))}}class Ch{static{this.Empty=new Ch([])}constructor(u){this._disposables=new d;let n=[];for(let[h,g]of u){let p=h.links.map((m)=>new ok(m,g));if(n=Ch._union(n,p),oa(h))this._disposables??=new d,this._disposables.add(h)}this.links=n}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(u,n){let h=[],g,p,m,_;for(g=0,m=0,p=u.length,_=n.length;g<p&&m<_;){let v=u[g],S=n[m];if(t.areIntersectingOrTouching(v.range,S.range)){g++;continue}if(t.compareRangesUsingStarts(v.range,S.range)<0)h.push(v),g++;else h.push(S),m++}for(;g<p;g++)h.push(u[g]);for(;m<_;m++)h.push(n[m]);return h}}async function Ev(u,n,h){let g=[],p=u.ordered(n).reverse().map(async(_,v)=>{try{let S=await _.provideLinks(n,h);if(S)g[v]=[S,_]}catch(S){vt(S)}});await Promise.all(p);let m=new Ch(vo(g));if(h.isCancellationRequested)m.dispose(),m=Ch.Empty;return m}Le.registerCommand("_executeLinkProvider",async(u,...n)=>{let[h,g]=n;if(Fe(h instanceof q),typeof g!=="number")g=0;let{linkProvider:p}=u.get(z),m=u.get(Et).getModel(h);if(!m)return[];let _=await Ev(p,m,ye.None);if(!_)return[];for(let S=0;S<Math.min(g,_.links.length);S++)await _.links[S].resolve(ye.None);let v=_.links.slice(0);return _.dispose(),v});var hR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},$p=function(u,n){return function(h,g){n(h,g,u)}},Tv,yh=class u extends i{static{Tv=this}static{this.ID="editor.linkDetector"}static get(n){return n.getContribution(Tv.ID)}constructor(n,h,g,p,m){super();this.editor=n,this.openerService=h,this.notificationService=g,this.languageFeaturesService=p,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=m.for(this.providers,"Links",{min:1000,max:4000}),this.computeLinks=this._register(new ke(()=>this.computeLinksNow(),1000)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let _=this._register(new Kr(n));this._register(_.onMouseMoveOrRelevantKeyDown(([v,S])=>{this._onEditorMouseMove(v,S)})),this._register(_.onExecute((v)=>{this.onEditorMouseUp(v)})),this._register(_.onCancel((v)=>{this.cleanUpActiveLinkDecoration()})),this._register(n.onDidChangeConfiguration((v)=>{if(!v.hasChanged(79))return;this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0)})),this._register(n.onDidChangeModelContent((v)=>{if(!this.editor.hasModel())return;this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(n.onDidChangeModel((v)=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(n.onDidChangeModelLanguage((v)=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange((v)=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(79))return;let n=this.editor.getModel();if(n.isTooLargeForSyncing())return;if(!this.providers.has(n))return;if(this.activeLinksList)this.activeLinksList.dispose(),this.activeLinksList=null;this.computePromise=Yt((h)=>Ev(this.providers,n,h));try{let h=new dn(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(n,h.elapsed()),n.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(h){X(h)}finally{this.computePromise=null}}updateDecorations(n){let h=this.editor.getOption(86)==="altKey",g=[],p=Object.keys(this.currentOccurrences);for(let _ of p){let v=this.currentOccurrences[_];g.push(v.decorationId)}let m=[];if(n)for(let _ of n)m.push(Oc.decoration(_,h));this.editor.changeDecorations((_)=>{let v=_.deltaDecorations(g,m);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let S=0,C=v.length;S<C;S++){let L=new Oc(n[S],v[S]);this.currentOccurrences[L.decorationId]=L}})}_onEditorMouseMove(n,h){let g=this.editor.getOption(86)==="altKey";if(this.isEnabled(n,h)){this.cleanUpActiveLinkDecoration();let p=this.getLinkOccurrence(n.target.position);if(p)this.editor.changeDecorations((m)=>{p.activate(m,g),this.activeLinkDecorationId=p.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){let n=this.editor.getOption(86)==="altKey";if(this.activeLinkDecorationId){let h=this.currentOccurrences[this.activeLinkDecorationId];if(h)this.editor.changeDecorations((g)=>{h.deactivate(g,n)});this.activeLinkDecorationId=null}}onEditorMouseUp(n){if(!this.isEnabled(n))return;let h=this.getLinkOccurrence(n.target.position);if(!h)return;this.openLinkOccurrence(h,n.hasSideBySideModifier,!0)}openLinkOccurrence(n,h,g=!1){if(!this.openerService)return;let{link:p}=n;p.resolve(ye.None).then((m)=>{if(typeof m==="string"&&this.editor.hasModel()){let _=this.editor.getModel().uri;if(_.scheme===se.file&&m.startsWith(`${se.file}:`)){let v=q.parse(m);if(v.scheme===se.file){let S=cd(v),C=null;if(S.startsWith("/./")||S.startsWith("\\.\\"))C=`.${S.substr(1)}`;else if(S.startsWith("//./")||S.startsWith("\\\\.\\"))C=`.${S.substr(2)}`;if(C)m=l1(_,C)}}}return this.openerService.open(m,{openToSide:h,fromUserGesture:g,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},(m)=>{let _=m instanceof Error?m.message:m;if(_==="invalid")this.notificationService.warn(e(1343,"Failed to open this link because it is not well-formed: {0}",p.url.toString()));else if(_==="missing")this.notificationService.warn(e(1344,"Failed to open this link because its target is missing."));else X(m)})}getLinkOccurrence(n){if(!this.editor.hasModel()||!n)return null;let h=this.editor.getModel().getDecorationsInRange({startLineNumber:n.lineNumber,startColumn:n.column,endLineNumber:n.lineNumber,endColumn:n.column},0,!0);for(let g of h){let p=this.currentOccurrences[g.id];if(p)return p}return null}isEnabled(n,h){return Boolean(n.target.type===6&&(n.hasTriggerModifier||h&&h.keyCodeIsTriggerKey||n.isMiddleClick&&n.mouseMiddleClickAction==="openLink"))}stop(){if(this.computeLinks.cancel(),this.activeLinksList)this.activeLinksList?.dispose(),this.activeLinksList=null;if(this.computePromise)this.computePromise.cancel(),this.computePromise=null}dispose(){super.dispose(),this.stop()}};yh=Tv=hR([$p(1,Zo),$p(2,yt),$p(3,z),$p(4,uo)],yh);var nk={general:ue.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:ue.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Oc{static decoration(u,n){return{range:u.range,options:Oc._getOptions(u,n,!1)}}static _getOptions(u,n,h){let g={...h?nk.active:nk.general};return g.hoverMessage=uR(u,n),g}constructor(u,n){this.link=u,this.decorationId=n}activate(u,n){u.changeDecorationOptions(this.decorationId,Oc._getOptions(this.link,n,!0))}deactivate(u,n){u.changeDecorationOptions(this.decorationId,Oc._getOptions(this.link,n,!1))}}function uR(u,n){let h=u.url&&/^command:/i.test(u.url.toString()),g=u.tooltip?u.tooltip:h?e(1345,"Execute command"):e(1346,"Follow link"),p=n?ve?e(1347,"cmd + click"):e(1348,"ctrl + click"):ve?e(1349,"option + click"):e(1350,"alt + click");if(u.url){let m="";if(/^command:/i.test(u.url.toString())){let v=u.url.toString().match(/^command:([^?#]+)/);if(v){let S=v[1];m=e(1351,"Execute command {0}",S)}}return new On("",!0).appendLink(u.url.toString(!0).replace(/ /g,"%20"),g,m).appendMarkdown(` (${p})`)}else return new On().appendText(`${g} (${p})`)}class rk extends U{constructor(){super({id:"editor.action.openLink",label:b(1352,"Open Link"),precondition:void 0})}run(u,n){let h=yh.get(n);if(!h)return;if(!n.hasModel())return;let g=n.getSelections();for(let p of g){let m=h.getLinkOccurrence(p.getEndPosition());if(m)h.openLinkOccurrence(m,!1)}}}fe(yh.ID,yh,1);O(rk);var jr={Visible:new M("parameterHintsVisible",!1),MultipleSignatures:new M("parameterHintsMultipleSignatures",!1)};async function Rv(u,n,h,g,p){let m=u.ordered(n);for(let _ of m)try{let v=await _.provideSignatureHelp(n,h,p,g);if(v)return v}catch(v){vt(v)}return}Le.registerCommand("_executeSignatureHelpProvider",async(u,...n)=>{let[h,g,p]=n;Fe(q.isUri(h)),Fe(s.isIPosition(g)),Fe(typeof p==="string"||!p);let m=u.get(z),_=await u.get(Rn).createModelReference(h);try{let v=await Rv(m.signatureHelpProvider,_.object.textEditorModel,s.lift(g),{triggerKind:yl.Invoke,isRetrigger:!1,triggerCharacter:p},ye.None);if(!v)return;return setTimeout(()=>v.dispose(),0),v.value}finally{_.dispose()}});var Zs;(function(u){u.Default={type:0};class n{constructor(g,p){this.request=g,this.previouslyActiveHints=p,this.type=2}}u.Pending=n;class h{constructor(g){this.hints=g,this.type=1}}u.Active=h})(Zs||(Zs={}));class Gp extends i{static{this.DEFAULT_DELAY=120}constructor(u,n,h=Gp.DEFAULT_DELAY){super();this._onChangedHints=this._register(new o),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Zs.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ce),this.triggerChars=new Sf,this.retriggerChars=new Sf,this.triggerId=0,this.editor=u,this.providers=n,this.throttledDelayer=this._register(new qi(h)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel((g)=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage((g)=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection((g)=>this.onCursorChange(g))),this._register(this.editor.onDidChangeModelContent((g)=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((g)=>this.onDidType(g))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(u){if(this._state.type===2)this._state.request.cancel();this._state=u}cancel(u=!1){if(this.state=Zs.Default,this.throttledDelayer.cancel(),!u)this._onChangedHints.fire(void 0)}trigger(u,n){let h=this.editor.getModel();if(!h||!this.providers.has(h))return;let g=++this.triggerId;this._pendingTriggers.push(u),this.throttledDelayer.trigger(()=>this.doTrigger(g),n).catch(X)}next(){if(this.state.type!==1)return;let u=this.state.hints.signatures.length,n=this.state.hints.activeSignature,h=n%u===u-1,g=this.editor.getOption(98).cycle;if((u<2||h)&&!g){this.cancel();return}this.updateActiveSignature(h&&g?0:n+1)}previous(){if(this.state.type!==1)return;let u=this.state.hints.signatures.length,n=this.state.hints.activeSignature,h=n===0,g=this.editor.getOption(98).cycle;if((u<2||h)&&!g){this.cancel();return}this.updateActiveSignature(h&&g?u-1:n-1)}updateActiveSignature(u){if(this.state.type!==1)return;this.state=new Zs.Active({...this.state.hints,activeSignature:u}),this._onChangedHints.fire(this.state.hints)}async doTrigger(u){let n=this.state.type===1||this.state.type===2,h=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;let g=this._pendingTriggers.reduce(gR);this._pendingTriggers=[];let p={triggerKind:g.triggerKind,triggerCharacter:g.triggerCharacter,isRetrigger:n,activeSignatureHelp:h};if(!this.editor.hasModel())return!1;let m=this.editor.getModel(),_=this.editor.getPosition();this.state=new Zs.Pending(Yt((v)=>Rv(this.providers,m,_,p,v)),h);try{let v=await this.state.request;if(u!==this.triggerId)return v?.dispose(),!1;if(!v||!v.value.signatures||v.value.signatures.length===0)return v?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1;else return this.state=new Zs.Active(v.value),this._lastSignatureHelpResult.value=v,this._onChangedHints.fire(this.state.hints),!0}catch(v){if(u===this.triggerId)this.state=Zs.Default;return X(v),!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 u=this.editor.getModel();if(!u)return;for(let n of this.providers.ordered(u)){for(let h of n.signatureHelpTriggerCharacters||[])if(h.length){let g=h.charCodeAt(0);this.triggerChars.add(g),this.retriggerChars.add(g)}for(let h of n.signatureHelpRetriggerCharacters||[])if(h.length)this.retriggerChars.add(h.charCodeAt(0))}}onDidType(u){if(!this.triggerOnType)return;let n=u.length-1,h=u.charCodeAt(n);if(this.triggerChars.has(h)||this.isTriggered&&this.retriggerChars.has(h))this.trigger({triggerKind:yl.TriggerCharacter,triggerCharacter:u.charAt(n)})}onCursorChange(u){if(u.source==="mouse")this.cancel();else if(this.isTriggered)this.trigger({triggerKind:yl.ContentChange})}onModelContentChange(){if(this.isTriggered)this.trigger({triggerKind:yl.ContentChange})}onEditorConfigurationChange(){if(this.triggerOnType=this.editor.getOption(98).enabled,!this.triggerOnType)this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function gR(u,n){switch(n.triggerKind){case yl.Invoke:return n;case yl.ContentChange:return u;case yl.TriggerCharacter:default:return n}}var pR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},sk=function(u,n){return function(h,g){n(h,g,u)}},zv,To=w,mR=Mt("parameter-hints-next",x.chevronDown,e(1378,"Icon for show next parameter hint.")),fR=Mt("parameter-hints-previous",x.chevronUp,e(1379,"Icon for show previous parameter hint.")),Zp=class u extends i{static{zv=this}static{this.ID="editor.widget.parameterHintsWidget"}constructor(n,h,g,p){super();this.editor=n,this.model=h,this.markdownRendererService=p,this.renderDisposeables=this._register(new d),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=jr.Visible.bindTo(g),this.keyMultipleSignatures=jr.MultipleSignatures.bindTo(g)}createParameterHintDOMNodes(){let n=To(".editor-widget.parameter-hints-widget"),h=k(n,To(".phwrapper"));h.tabIndex=-1;let g=k(h,To(".controls")),p=k(g,To(".button"+J.asCSSSelector(fR))),m=k(g,To(".overloads")),_=k(g,To(".button"+J.asCSSSelector(mR)));this._register(c(p,"click",(Z)=>{Ee.stop(Z),this.previous()})),this._register(c(_,"click",(Z)=>{Ee.stop(Z),this.next()}));let v=To(".body"),S=new Ll(v,{alwaysConsumeMouseWheel:!0});this._register(S),h.appendChild(S.getDomNode());let C=k(v,To(".signature")),L=k(v,To(".docs"));n.style.userSelect="text",this.domNodes={element:n,signature:C,overloads:m,docs:L,scrollbar:S},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((Z)=>{if(this.visible)this.editor.layoutContentWidget(this)}));let R=()=>{if(!this.domNodes)return;let Z=this.editor.getOption(59),Y=this.domNodes.element;Y.style.fontSize=`${Z.fontSize}px`,Y.style.lineHeight=`${Z.lineHeight/Z.fontSize}`,Y.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",Z.fontFamily),Y.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Do.fontFamily)};R(),this._register(I.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(Z)=>Z.filter((Y)=>Y.hasChanged(59)))(R)),this._register(this.editor.onDidLayoutChange((Z)=>this.updateMaxHeight())),this.updateMaxHeight()}show(){if(this.visible)return;if(!this.domNodes)this.createParameterHintDOMNodes();this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add("visible")},100),this.editor.layoutContentWidget(this)}hide(){if(this.renderDisposeables.clear(),!this.visible)return;this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove("visible"),this.editor.layoutContentWidget(this)}getPosition(){if(this.visible)return{position:this.editor.getPosition(),preference:[1,2]};return null}render(n){if(this.renderDisposeables.clear(),!this.domNodes)return;let h=n.signatures.length>1;this.domNodes.element.classList.toggle("multiple",h),this.keyMultipleSignatures.set(h),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";let g=n.signatures[n.activeSignature];if(!g)return;let p=k(this.domNodes.signature,To(".code")),m=g.parameters.length>0,_=g.activeParameter??n.activeParameter;if(!m){let C=k(p,To("span"));C.textContent=g.label}else this.renderParameters(p,g,_);let v=g.parameters[_];if(v?.documentation){let C=To("span.documentation");if(typeof v.documentation==="string")C.textContent=v.documentation;else{let L=this.renderMarkdownDocs(v.documentation);C.appendChild(L.element)}k(this.domNodes.docs,To("p",{},C))}if(g.documentation===void 0);else if(typeof g.documentation==="string")k(this.domNodes.docs,To("p",{},g.documentation));else{let C=this.renderMarkdownDocs(g.documentation);k(this.domNodes.docs,C.element)}let S=this.hasDocs(g,v);if(this.domNodes.signature.classList.toggle("has-docs",S),this.domNodes.docs.classList.toggle("empty",!S),this.domNodes.overloads.textContent=String(n.activeSignature+1).padStart(n.signatures.length.toString().length,"0")+"/"+n.signatures.length,v){let C="",L=g.parameters[_];if(Array.isArray(L.label))C=g.label.substring(L.label[0],L.label[1]);else C=L.label;if(L.documentation)C+=typeof L.documentation==="string"?`, ${L.documentation}`:`, ${L.documentation.value}`;if(g.documentation)C+=typeof g.documentation==="string"?`, ${g.documentation}`:`, ${g.documentation.value}`;if(this.announcedLabel!==C)zn(e(1380,"{0}, hint",C)),this.announcedLabel=C}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(n){let h=this.renderDisposeables.add(this.markdownRendererService.render(n,{context:this.editor,asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));return h.element.classList.add("markdown-docs"),h}hasDocs(n,h){if(h&&typeof h.documentation==="string"&&oc(h.documentation).length>0)return!0;if(h&&typeof h.documentation==="object"&&oc(h.documentation).value.length>0)return!0;if(n.documentation&&typeof n.documentation==="string"&&oc(n.documentation).length>0)return!0;if(n.documentation&&typeof n.documentation==="object"&&oc(n.documentation.value).length>0)return!0;return!1}renderParameters(n,h,g){let[p,m]=this.getParameterLabelOffsets(h,g),_=document.createElement("span");_.textContent=h.label.substring(0,p);let v=document.createElement("span");v.textContent=h.label.substring(p,m),v.className="parameter active";let S=document.createElement("span");S.textContent=h.label.substring(m),k(n,_,v,S)}getParameterLabelOffsets(n,h){let g=n.parameters[h];if(!g)return[0,0];else if(Array.isArray(g.label))return g.label;else if(!g.label.length)return[0,0];else{let p=new RegExp(`(\\W|^)${Ui(g.label)}(?=\\W|$)`,"g");p.test(n.label);let m=p.lastIndex-g.label.length;return m>=0?[m,p.lastIndex]:[0,0]}}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){if(!this.domNodes)this.createParameterHintDOMNodes();return this.domNodes.element}getId(){return zv.ID}updateMaxHeight(){if(!this.domNodes)return;let h=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=h;let g=this.domNodes.element.getElementsByClassName("phwrapper");if(g.length)g[0].style.maxHeight=h}};Zp=zv=pR([sk(2,G),sk(3,Bo)],Zp);a("editorHoverWidget.highlightForeground",Rf,e(1381,"Foreground color of the active item in the parameter hint."));var _R=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ak=function(u,n){return function(h,g){n(h,g,u)}},$v,Pc=class u extends i{static{$v=this}static{this.ID="editor.controller.parameterHints"}static get(n){return n.getContribution($v.ID)}constructor(n,h,g){super();this.editor=n,this.model=this._register(new Gp(n,g.signatureHelpProvider)),this._register(this.model.onChangedHints((p)=>{if(p)this.widget.value.show(),this.widget.value.render(p);else this.widget.rawValue?.hide()})),this.widget=new ii(()=>this._register(h.createInstance(Zp,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(n){this.model.trigger(n,0)}};Pc=$v=_R([ak(1,A),ak(2,z)],Pc);class dk extends U{constructor(){super({id:"editor.action.triggerParameterHints",label:b(1377,"Trigger Parameter Hints"),precondition:r.hasSignatureHelpProvider,kbOpts:{kbExpr:r.editorTextFocus,primary:3082,weight:100}})}run(u,n){Pc.get(n)?.trigger({triggerKind:yl.Invoke})}}fe(Pc.ID,Pc,2);O(dk);var Gv=175,ew=en.bindToContribution(Pc.get);K(new ew({id:"closeParameterHints",precondition:jr.Visible,handler:(u)=>u.cancel(),kbOpts:{weight:Gv,kbExpr:r.focus,primary:9,secondary:[1033]}}));K(new ew({id:"showPrevParameterHint",precondition:T.and(jr.Visible,jr.MultipleSignatures),handler:(u)=>u.previous(),kbOpts:{weight:Gv,kbExpr:r.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));K(new ew({id:"showNextParameterHint",precondition:T.and(jr.Visible,jr.MultipleSignatures),handler:(u)=>u.next(),kbOpts:{weight:Gv,kbExpr:r.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var We={Visible:Pg,HasFocusedSuggestion:new M("suggestWidgetHasFocusedSuggestion",!1,e(1525,"Whether any suggestion is focused")),DetailsVisible:new M("suggestWidgetDetailsVisible",!1,e(1526,"Whether suggestion details are visible")),DetailsFocused:new M("suggestWidgetDetailsFocused",!1,e(1527,"Whether the details pane of the suggest widget has focus")),MultipleSuggestions:new M("suggestWidgetMultipleSuggestions",!1,e(1528,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new M("suggestionMakesTextEdit",!0,e(1529,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new M("acceptSuggestionOnEnter",!0,e(1530,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new M("suggestionHasInsertAndReplaceRange",!1,e(1531,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new M("suggestionInsertMode",void 0,{type:"string",description:e(1532,"Whether the default behaviour is to insert or replace")}),CanResolve:new M("suggestionCanResolve",!1,e(1533,"Whether the current suggestion supports to resolve further details"))},er=new l("suggestWidgetStatusBar");class ck{constructor(u,n,h,g){if(this.position=u,this.completion=n,this.container=h,this.provider=g,this.isInvalid=!1,this.score=ns.Default,this.distance=0,this.textLabel=typeof n.label==="string"?n.label:n.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=n.sortText&&n.sortText.toLowerCase(),this.filterTextLow=n.filterText&&n.filterText.toLowerCase(),this.extensionId=n.extensionId,t.isIRange(n.range))this.editStart=new s(n.range.startLineNumber,n.range.startColumn),this.editInsertEnd=new s(n.range.endLineNumber,n.range.endColumn),this.editReplaceEnd=new s(n.range.endLineNumber,n.range.endColumn),this.isInvalid=this.isInvalid||t.spansMultipleLines(n.range)||n.range.startLineNumber!==u.lineNumber;else this.editStart=new s(n.range.insert.startLineNumber,n.range.insert.startColumn),this.editInsertEnd=new s(n.range.insert.endLineNumber,n.range.insert.endColumn),this.editReplaceEnd=new s(n.range.replace.endLineNumber,n.range.replace.endColumn),this.isInvalid=this.isInvalid||t.spansMultipleLines(n.range.insert)||t.spansMultipleLines(n.range.replace)||n.range.insert.startLineNumber!==u.lineNumber||n.range.replace.startLineNumber!==u.lineNumber||n.range.insert.startColumn!==n.range.replace.startColumn;if(typeof g.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(u){if(!this._resolveCache){let n=u.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),h=new dn(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,u)).then((g)=>{Object.assign(this.completion,g),this._resolveDuration=h.elapsed()},(g)=>{if(mi(g))this._resolveCache=void 0,this._resolveDuration=void 0}).finally(()=>{n.dispose()})}return this._resolveCache}}class Sd{static{this.default=new Sd}constructor(u=2,n=new Set,h=new Set,g=new Map,p=!0){this.snippetSortOrder=u,this.kindFilter=n,this.providerFilter=h,this.providerItemsToReuse=g,this.showDeprecated=p}}class lk{constructor(u,n,h,g){this.items=u,this.needsClipboard=n,this.durations=h,this.disposable=g}}async function xh(u,n,h,g=Sd.default,p={triggerKind:0},m=ye.None){let _=new dn;h=h.clone();let v=n.getWordAtPosition(h),S=v?new t(h.lineNumber,v.startColumn,h.lineNumber,v.endColumn):t.fromPositions(h),C={replace:S,insert:S.setEndPosition(h.lineNumber,h.column)},L=[],R=new d,Z=[],Y=!1,Q=(oe,ne,de)=>{let ge=!1;if(!ne)return ge;for(let _e of ne.suggestions)if(!g.kindFilter.has(_e.kind)){if(!g.showDeprecated&&_e?.tags?.includes(1))continue;if(!_e.range)_e.range=C;if(!_e.sortText)_e.sortText=typeof _e.label==="string"?_e.label:_e.label.label;if(!Y&&_e.insertTextRules&&_e.insertTextRules&4)Y=bo.guessNeedsClipboard(_e.insertText);L.push(new ck(h,_e,ne,oe)),ge=!0}if(oa(ne))R.add(ne);return Z.push({providerName:oe._debugDisplayName??"unknown_provider",elapsedProvider:ne.duration??-1,elapsedOverall:de.elapsed()}),ge},ee=(async()=>{return})();for(let oe of u.orderedGroups(n)){let ne=!1;if(await Promise.all(oe.map(async(de)=>{if(g.providerItemsToReuse.has(de)){let ge=g.providerItemsToReuse.get(de);ge.forEach((_e)=>L.push(_e)),ne=ne||ge.length>0;return}if(g.providerFilter.size>0&&!g.providerFilter.has(de))return;try{let ge=new dn,_e=await de.provideCompletionItems(n,h,p,m);ne=Q(de,_e,ge)||ne}catch(ge){vt(ge)}})),ne||m.isCancellationRequested)break}if(await ee,m.isCancellationRequested)return R.dispose(),Promise.reject(new Lr);return new lk(L.sort(wR(g.snippetSortOrder)),Y,{entries:Z,elapsed:_.elapsed()},R)}function tw(u,n){if(u.sortTextLow&&n.sortTextLow){if(u.sortTextLow<n.sortTextLow)return-1;else if(u.sortTextLow>n.sortTextLow)return 1}if(u.textLabel<n.textLabel)return-1;else if(u.textLabel>n.textLabel)return 1;return u.completion.kind-n.completion.kind}function bR(u,n){if(u.completion.kind!==n.completion.kind){if(u.completion.kind===28)return-1;else if(n.completion.kind===28)return 1}return tw(u,n)}function vR(u,n){if(u.completion.kind!==n.completion.kind){if(u.completion.kind===28)return 1;else if(n.completion.kind===28)return-1}return tw(u,n)}var Xp=new Map;Xp.set(0,bR);Xp.set(2,vR);Xp.set(1,tw);function wR(u){return Xp.get(u)}Le.registerCommand("_executeCompletionItemProvider",async(u,...n)=>{let[h,g,p,m]=n;Fe(q.isUri(h)),Fe(s.isIPosition(g)),Fe(typeof p==="string"||!p),Fe(typeof m==="number"||!m);let{completionProvider:_}=u.get(z),v=await u.get(Rn).createModelReference(h);try{let S={incomplete:!1,suggestions:[]},C=[],L=v.object.textEditorModel.validatePosition(g),R=await xh(_,v.object.textEditorModel,L,void 0,{triggerCharacter:p??void 0,triggerKind:p?1:0});for(let Z of R.items){if(C.length<(m??0))C.push(Z.resolve(ye.None));S.incomplete=S.incomplete||Z.container.incomplete,S.suggestions.push(Z.completion)}try{return await Promise.all(C),S}finally{setTimeout(()=>R.disposable.dispose(),100)}}finally{v.dispose()}});function hk(u,n){u.getContribution("editor.contrib.suggestController")?.triggerSuggest(new Set().add(n),void 0,!0)}class Gr{static isAllOff(u){return u.other==="off"&&u.comments==="off"&&u.strings==="off"}static isAllOn(u){return u.other==="on"&&u.comments==="on"&&u.strings==="on"}static valueFor(u,n){switch(n){case 1:return u.comments;case 2:return u.strings;default:return u.other}}}function iw(u,n=nn){if(PM(u,n))return u.charAt(0).toUpperCase()+u.slice(1);return u}var SR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},CR=function(u,n){return function(h,g){n(h,g,u)}};class Yp{constructor(u){this._delegates=u}resolve(u){for(let n of this._delegates){let h=n.resolve(u);if(h!==void 0)return h}return}}class Jp{constructor(u,n,h,g){this._model=u,this._selection=n,this._selectionIdx=h,this._overtypingCapturer=g}resolve(u){let{name:n}=u;if(n==="SELECTION"||n==="TM_SELECTED_TEXT"){let h=this._model.getValueInRange(this._selection)||void 0,g=this._selection.startLineNumber!==this._selection.endLineNumber;if(!h&&this._overtypingCapturer){let p=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);if(p)h=p.value,g=p.multiline}if(h&&g&&u.snippet){let p=this._model.getLineContent(this._selection.startLineNumber),m=Rt(p,0,this._selection.startColumn-1),_=m;u.snippet.walk((S)=>{if(S===u)return!1;if(S instanceof fi)_=Rt(Ci(S.value).pop());return!0});let v=No(_,m);h=h.replace(/(\r\n|\r|\n)(.*)/g,(S,C,L)=>`${C}${_.substr(v)}${L}`)}return h}else if(n==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);else if(n==="TM_CURRENT_WORD"){let h=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return h&&h.word||void 0}else if(n==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);else if(n==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);else if(n==="CURSOR_INDEX")return String(this._selectionIdx);else if(n==="CURSOR_NUMBER")return String(this._selectionIdx+1);return}}class Qp{constructor(u,n){this._labelService=u,this._model=n}resolve(u){let{name:n}=u;if(n==="TM_FILENAME")return bl(this._model.uri.fsPath);else if(n==="TM_FILENAME_BASE"){let h=bl(this._model.uri.fsPath),g=h.lastIndexOf(".");if(g<=0)return h;else return h.slice(0,g)}else if(n==="TM_DIRECTORY"){if(Wv(this._model.uri.fsPath)===".")return"";return this._labelService.getUriLabel(wf(this._model.uri))}else if(n==="TM_DIRECTORY_BASE"){if(Wv(this._model.uri.fsPath)===".")return"";return bl(Wv(this._model.uri.fsPath))}else if(n==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);else if(n==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0});return}}class em{constructor(u,n,h,g){this._readClipboardText=u,this._selectionIdx=n,this._selectionCount=h,this._spread=g}resolve(u){if(u.name!=="CLIPBOARD")return;let n=this._readClipboardText();if(!n)return;if(this._spread){let h=n.split(/\r\n|\n|\r/).filter((g)=>!n1(g));if(h.length===this._selectionCount)return h[this._selectionIdx]}return n}}var Ih=class u{constructor(n,h,g){this._model=n,this._selection=h,this._languageConfigurationService=g}resolve(n){let{name:h}=n,g=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),p=this._languageConfigurationService.getLanguageConfiguration(g).comments;if(!p)return;if(h==="LINE_COMMENT")return p.lineCommentToken||void 0;else if(h==="BLOCK_COMMENT_START")return p.blockCommentStartToken||void 0;else if(h==="BLOCK_COMMENT_END")return p.blockCommentEndToken||void 0;return}};Ih=SR([CR(2,ht)],Ih);class Xs{constructor(){this._date=new Date}static{this.dayNames=[e(1476,"Sunday"),e(1477,"Monday"),e(1478,"Tuesday"),e(1479,"Wednesday"),e(1480,"Thursday"),e(1481,"Friday"),e(1482,"Saturday")]}static{this.dayNamesShort=[e(1483,"Sun"),e(1484,"Mon"),e(1485,"Tue"),e(1486,"Wed"),e(1487,"Thu"),e(1488,"Fri"),e(1489,"Sat")]}static{this.monthNames=[e(1490,"January"),e(1491,"February"),e(1492,"March"),e(1493,"April"),e(1494,"May"),e(1495,"June"),e(1496,"July"),e(1497,"August"),e(1498,"September"),e(1499,"October"),e(1500,"November"),e(1501,"December")]}static{this.monthNamesShort=[e(1502,"Jan"),e(1503,"Feb"),e(1504,"Mar"),e(1505,"Apr"),e(1506,"May"),e(1507,"Jun"),e(1508,"Jul"),e(1509,"Aug"),e(1510,"Sep"),e(1511,"Oct"),e(1512,"Nov"),e(1513,"Dec")]}resolve(u){let{name:n}=u;switch(n){case"CURRENT_YEAR":return String(this._date.getFullYear());case"CURRENT_YEAR_SHORT":return String(this._date.getFullYear()).slice(-2);case"CURRENT_MONTH":return String(this._date.getMonth().valueOf()+1).padStart(2,"0");case"CURRENT_DATE":return String(this._date.getDate().valueOf()).padStart(2,"0");case"CURRENT_HOUR":return String(this._date.getHours().valueOf()).padStart(2,"0");case"CURRENT_MINUTE":return String(this._date.getMinutes().valueOf()).padStart(2,"0");case"CURRENT_SECOND":return String(this._date.getSeconds().valueOf()).padStart(2,"0");case"CURRENT_MILLISECOND":return String(this._date.getMilliseconds().valueOf()).padStart(3,"0");case"CURRENT_DAY_NAME":return Xs.dayNames[this._date.getDay()];case"CURRENT_DAY_NAME_SHORT":return Xs.dayNamesShort[this._date.getDay()];case"CURRENT_MONTH_NAME":return Xs.monthNames[this._date.getMonth()];case"CURRENT_MONTH_NAME_SHORT":return Xs.monthNamesShort[this._date.getMonth()];case"CURRENT_SECONDS_UNIX":return String(Math.floor(this._date.getTime()/1000));case"CURRENT_MILLISECONDS_UNIX":return String(this._date.getTime());case"CURRENT_TIMEZONE_OFFSET":{let h=this._date.getTimezoneOffset(),g=h>0?"-":"+",p=Math.trunc(Math.abs(h/60)),m=p<10?"0"+p:p,_=Math.abs(h)-p*60,v=_<10?"0"+_:_;return g+m+":"+v}case"CURRENT_TIMEZONE_NAME":return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}return}}class tm{constructor(u){this._workspaceService=u}resolve(u){if(!this._workspaceService)return;let n=b2(this._workspaceService.getWorkspace());if(g2(n))return;if(u.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(n);else if(u.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(n);return}_resolveWorkspaceName(u){if(W1(u))return bl(u.uri.path);let n=bl(u.configPath.path);if(n.endsWith(V1))n=n.substr(0,n.length-V1.length-1);return n}_resoveWorkspacePath(u){if(W1(u))return iw(u.uri.fsPath);let n=bl(u.configPath.path),h=u.configPath.fsPath;if(h.endsWith(n))h=h.substr(0,h.length-n.length-1);return h?iw(h):"/"}}class im{resolve(u){let{name:n}=u;if(n==="RANDOM")return Math.random().toString().slice(-6);else if(n==="RANDOM_HEX")return Math.random().toString(16).slice(-6);else if(n==="UUID")return $l();return}}var yR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},xR=function(u,n){return function(h,g){n(h,g,u)}},tr;class yn{static{this._decor={active:ue.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ue.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ue.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ue.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})}}constructor(u,n,h){this._editor=u,this._snippet=n,this._snippetLineLeadingWhitespace=h,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=SI(n.placeholders,go.compareByIndex),this._placeholderGroupsIdx=-1}initialize(u){this._offset=u.newPosition}dispose(){if(this._placeholderDecorations)this._editor.removeDecorations([...this._placeholderDecorations.values()]);this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;let u=this._editor.getModel();this._editor.changeDecorations((n)=>{for(let h of this._snippet.placeholders){let g=this._snippet.offset(h),p=this._snippet.fullLen(h),m=t.fromPositions(u.getPositionAt(this._offset+g),u.getPositionAt(this._offset+g+p)),_=h.isFinalTabstop?yn._decor.inactiveFinal:yn._decor.inactive,v=n.addDecoration(m,_);this._placeholderDecorations.set(h,v)}})}move(u){if(!this._editor.hasModel())return[];this._initDecorations();let n=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let p=[];for(let m of this._placeholderGroups[this._placeholderGroupsIdx])if(m.transform){let _=this._placeholderDecorations.get(m),v=_?n.getDecorationRange(_):null;if(v){let S=n.getValueInRange(v),C=m.transform.resolve(S).split(/\r\n|\r|\n/);for(let L=1;L<C.length;L++)C[L]=n.normalizeIndentation(this._snippetLineLeadingWhitespace+C[L]);p.push(Jt.replace(v,C.join(n.getEOL())))}}if(p.length>0)this._editor.executeEdits("snippet.placeholderTransform",p)}let h=!1;if(u===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1)this._placeholderGroupsIdx+=1,h=!0;else if(u===!1&&this._placeholderGroupsIdx>0)this._placeholderGroupsIdx-=1,h=!0;let g=n.changeDecorations((p)=>{let m=new Set,_=[];for(let v of this._placeholderGroups[this._placeholderGroupsIdx]){let S=this._placeholderDecorations.get(v),C=S?n.getDecorationRange(S):null;if(h=h&&this._hasPlaceholderBeenCollapsed(v),!S||!C)continue;_.push(new F(C.startLineNumber,C.startColumn,C.endLineNumber,C.endColumn)),p.changeDecorationOptions(S,v.isFinalTabstop?yn._decor.activeFinal:yn._decor.active),m.add(v);for(let L of this._snippet.enclosingPlaceholders(v)){let R=this._placeholderDecorations.get(L);if(R)p.changeDecorationOptions(R,L.isFinalTabstop?yn._decor.activeFinal:yn._decor.active),m.add(L)}}for(let[v,S]of this._placeholderDecorations)if(!m.has(v))p.changeDecorationOptions(S,v.isFinalTabstop?yn._decor.inactiveFinal:yn._decor.inactive);return _});return!h?g??[]:this.move(u)}_hasPlaceholderBeenCollapsed(u){let n=this._editor.getModel(),h=u;while(h){if(h instanceof go){let g=this._placeholderDecorations.get(h),p=g?n.getDecorationRange(g):null;if((!p||p.isEmpty())&&h.toString().length>0)return!0}h=h.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[u]=this._snippet.placeholders;if(u.isFinalTabstop){if(this._snippet.rightMostDescendant===u)return!0}}return!1}computePossibleSelections(){let u=new Map;for(let n of this._placeholderGroups){let h;for(let g of n){if(g.isFinalTabstop)break;if(!h)h=[],u.set(g.index,h);let p=this._placeholderDecorations.get(g),m=this._editor.getModel().getDecorationRange(p);if(!m){u.delete(g.index);break}h.push(m)}}return u}get activeChoice(){if(!this._placeholderDecorations)return;let u=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!u?.choice)return;let n=this._placeholderDecorations.get(u);if(!n)return;let h=this._editor.getModel().getDecorationRange(n);if(!h)return;return{range:h,choice:u.choice}}get hasChoice(){let u=!1;return this._snippet.walk((n)=>(u=n instanceof La,!u)),u}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(u){let n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((h)=>{for(let g of this._placeholderGroups[this._placeholderGroupsIdx]){let p=u.shift();console.assert(p._offset!==-1),console.assert(!p._placeholderDecorations);let m=p._snippet.placeholderInfo.last.index;for(let v of p._snippet.placeholderInfo.all)if(v.isFinalTabstop)v.index=g.index+(m+1)/this._nestingLevel;else v.index=g.index+v.index/this._nestingLevel;this._snippet.replace(g,p._snippet.children);let _=this._placeholderDecorations.get(g);h.removeDecoration(_),this._placeholderDecorations.delete(g);for(let v of p._snippet.placeholders){let S=p._snippet.offset(v),C=p._snippet.fullLen(v),L=t.fromPositions(n.getPositionAt(p._offset+S),n.getPositionAt(p._offset+S+C)),R=h.addDecoration(L,yn._decor.inactive);this._placeholderDecorations.set(v,R)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=SI(this._snippet.placeholders,go.compareByIndex)})}_renormalizePlaceholderIndices(){let u=this._snippet.placeholders,n=new Set;for(let p of u)if(!p.isFinalTabstop)n.add(p.index);let h=[...n].sort((p,m)=>p-m),g=new Map;for(let p=0;p<h.length;p++)g.set(h[p],p+1);for(let p of u)if(!p.isFinalTabstop)p.index=g.get(p.index);this._nestingLevel=1}}var uk={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},Ac=tr=class u{static adjustWhitespace(n,h,g,p,m){let _=n.getLineContent(h.lineNumber),v=Rt(_,0,h.column-1),S;return p.walk((C)=>{if(!(C instanceof fi)||C.parent instanceof La)return!0;if(m&&!m.has(C))return!0;let L=C.value.split(/\r\n|\r|\n/);if(g){let Z=p.offset(C);if(Z===0)L[0]=n.normalizeIndentation(L[0]);else{S=S??p.toString();let Y=S.charCodeAt(Z-1);if(Y===10||Y===13)L[0]=n.normalizeIndentation(v+L[0])}for(let Y=1;Y<L.length;Y++)L[Y]=n.normalizeIndentation(v+L[Y])}let R=L.join(n.getEOL());if(R!==C.value)C.parent.replace(C,[new fi(R)]),S=void 0;return!0}),v}static adjustSelection(n,h,g,p){if(g!==0||p!==0){let{positionLineNumber:m,positionColumn:_}=h,v=_-g,S=_+p,C=n.validateRange({startLineNumber:m,startColumn:v,endLineNumber:m,endColumn:S});h=F.createWithDirection(C.startLineNumber,C.startColumn,C.endLineNumber,C.endColumn,h.getDirection())}return h}static createEditsAndSnippetsFromSelections(n,h,g,p,m,_,v,S,C){let L=[],R=[];if(!n.hasModel())return{edits:L,snippets:R};let Z=n.getModel(),Y=n.invokeWithinContext((_e)=>_e.get(ma)),Q=n.invokeWithinContext((_e)=>new Qp(_e.get(xc),Z)),ee=()=>v,oe=Z.getValueInRange(tr.adjustSelection(Z,n.getSelection(),g,0)),ne=Z.getValueInRange(tr.adjustSelection(Z,n.getSelection(),0,p)),de=Z.getLineFirstNonWhitespaceColumn(n.getSelection().positionLineNumber),ge=n.getSelections().map((_e,Se)=>({selection:_e,idx:Se})).sort((_e,Se)=>t.compareRangesUsingStarts(_e.selection,Se.selection));for(let{selection:_e,idx:Se}of ge){let ae=tr.adjustSelection(Z,_e,g,0),pe=tr.adjustSelection(Z,_e,0,p);if(oe!==Z.getValueInRange(ae))ae=_e;if(ne!==Z.getValueInRange(pe))pe=_e;let Ne=_e.setStartPosition(ae.startLineNumber,ae.startColumn).setEndPosition(pe.endLineNumber,pe.endColumn),Me=new bo().parse(h,!0,m),Oe=Ne.getStartPosition(),Ce=tr.adjustWhitespace(Z,Oe,_||Se>0&&de!==Z.getLineFirstNonWhitespaceColumn(_e.positionLineNumber),Me);Me.resolveVariables(new Yp([Q,new em(ee,Se,ge.length,n.getOption(88)==="spread"),new Jp(Z,_e,Se,S),new Ih(Z,_e,C),new Xs,new tm(Y),new im])),L[Se]=Jt.replace(Ne,Me.toString()),L[Se].identifier={major:Se,minor:0},L[Se]._isTracked=!0,R[Se]=new yn(n,Me,Ce)}return{edits:L,snippets:R}}static createEditsAndSnippetsFromEdits(n,h,g,p,m,_,v){if(!n.hasModel()||h.length===0)return{edits:[],snippets:[]};let S=[],C=n.getModel(),L=new bo,R=new Pd,Z=n.invokeWithinContext((_e)=>new Qp(_e.get(xc),C)),Y=new Xs,Q=new tm(n.invokeWithinContext((_e)=>_e.get(ma))),ee=new im,oe=()=>m,ne=n.getOption(88)==="spread",de=h.map((_e,Se)=>({edit:_e,idx:Se})).sort((_e,Se)=>t.compareRangesUsingStarts(_e.edit.range,Se.edit.range)),ge=0;for(let _e=0;_e<de.length;_e++){let{edit:{range:Se,template:ae,keepWhitespace:pe},idx:Ne}=de[_e];if(_e>0){let Ze=de[_e-1].edit.range,Ft=t.fromPositions(Ze.getEndPosition(),Se.getStartPosition()),nt=new fi(C.getValueInRange(Ft));R.appendChild(nt),ge+=nt.value.length}let Me=new Set;R.walk((Ze)=>{if(Ze instanceof ls)Me.add(Ze);return!0});let Oe=L.parseFragment(ae,R);tr.adjustWhitespace(C,Se.getStartPosition(),pe!==void 0?!pe:p,R,new Set(Oe));let Ce=F.fromRange(Se,0),He=new Yp([Z,new em(oe,Ne,de.length,ne),new Jp(C,Ce,Ne,_),new Ih(C,Ce,v),Y,Q,ee]);R.walk((Ze)=>{if(Ze instanceof ls&&!Me.has(Ze))Ze.resolve(He);return!0});let it=R.toString(),Ve=it.slice(ge);ge=it.length;let rt=Jt.replace(Se,Ve);rt.identifier={major:_e,minor:0},rt._isTracked=!0,S.push(rt)}return L.ensureFinalTabstop(R,g,!0),{edits:S,snippets:[new yn(n,R,"")]}}constructor(n,h,g=uk,p){this._editor=n,this._template=h,this._options=g,this._languageConfigurationService=p,this._templateMerges=[],this._snippets=[]}dispose(){Be(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(n){if(!this._editor.hasModel())return;let{edits:h,snippets:g}=typeof this._template==="string"?tr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):tr.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=g,this._editor.executeEdits(n??Yn.snippet(),h,(p)=>{let m=p.filter((_)=>!!_.identifier);for(let _=0;_<g.length;_++)g[_].initialize(m[_].textChange);if(this._snippets[0].hasPlaceholder)return this._move(!0);else return m.map((_)=>F.fromPositions(_.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(n,h=uk){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,n]);let{edits:g,snippets:p}=tr.createEditsAndSnippetsFromSelections(this._editor,n,h.overwriteBefore,h.overwriteAfter,!0,h.adjustWhitespace,h.clipboardText,h.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",g,(m)=>{let _=m.filter((C)=>!!C.identifier);for(let C=0;C<p.length;C++)p[C].initialize(_[C].textChange);let v=p[0].isTrivialSnippet,S=p.length===this._snippets.reduce((C,L)=>C+L.activePlaceholderCount,0);if(!v&&S){for(let C of this._snippets)C.merge(p);console.assert(p.length===0)}if(this._snippets[0].hasPlaceholder&&!v&&S)return this._move(void 0);else return _.map((C)=>F.fromPositions(C.range.getEndPosition()))})}next(){let n=this._move(!0);if(n.length>0)this._editor.setSelections(n),this._editor.revealPositionInCenterIfOutsideViewport(n[0].getPosition())}prev(){let n=this._move(!1);if(n.length>0)this._editor.setSelections(n),this._editor.revealPositionInCenterIfOutsideViewport(n[0].getPosition())}_move(n){let h=[];for(let g of this._snippets){let p=g.move(n);h.push(...p)}return h}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 n=this._editor.getSelections();if(n.length<this._snippets.length)return!1;let h=new Map;for(let g of this._snippets){let p=g.computePossibleSelections();if(h.size===0)for(let[m,_]of p){_.sort(t.compareRangesUsingStarts);for(let v of n)if(_[0].containsRange(v)){h.set(m,[]);break}}if(h.size===0)return!1;h.forEach((m,_)=>{m.push(...p.get(_))})}n.sort(t.compareRangesUsingStarts);for(let[g,p]of h){if(p.length!==n.length){h.delete(g);continue}p.sort(t.compareRangesUsingStarts);for(let m=0;m<p.length;m++)if(!p[m].containsRange(n[m])){h.delete(g);continue}}return h.size>0}};Ac=tr=yR([xR(3,ht)],Ac);var IR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},om=function(u,n){return function(h,g){n(h,g,u)}},Cd,gk={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},Vt=class u{static{Cd=this}static{this.ID="snippetController2"}static get(n){return n.getContribution(Cd.ID)}static{this.InSnippetMode=new M("inSnippetMode",!1,e(1471,"Whether the editor in current in snippet mode"))}static{this.HasNextTabstop=new M("hasNextTabstop",!1,e(1472,"Whether there is a next tab stop when in snippet mode"))}static{this.HasPrevTabstop=new M("hasPrevTabstop",!1,e(1473,"Whether there is a previous tab stop when in snippet mode"))}static{this.InSnippetChoice=new M("inSnippetChoice",!1,e(1474,"Whether the current snippet tab stop is a choice"))}constructor(n,h,g,p,m){this._editor=n,this._logService=h,this._languageFeaturesService=g,this._languageConfigurationService=m,this._inSnippetObservable=j(this,!1),this._snippetListener=new d,this._modelVersionId=-1,this._inSnippet=Cd.InSnippetMode.bindTo(p),this._hasNextTabstop=Cd.HasNextTabstop.bindTo(p),this._hasPrevTabstop=Cd.HasPrevTabstop.bindTo(p),this._inSnippetChoice=Cd.InSnippetChoice.bindTo(p)}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(n,h){try{this._doInsert(n,typeof h>"u"?gk:{...gk,...h})}catch(g){this.cancel(),this._logService.error(g),this._logService.error("snippet_error"),this._logService.error("insert_template=",n),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(n,h){if(!this._editor.hasModel())return;if(this._snippetListener.clear(),h.undoStopBefore)this._editor.getModel().pushStackElement();if(this._session&&typeof n!=="string")this.cancel();if(!this._session)this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Ac(this._editor,n,h,this._languageConfigurationService),this._session.insert(h.reason);else Fe(typeof n==="string"),this._session.merge(n,h);if(h.undoStopAfter)this._editor.getModel().pushStackElement();if(this._session?.hasChoice){let g={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(C,L)=>{if(!this._session||C!==this._editor.getModel()||!s.equals(this._editor.getPosition(),L))return;let{activeChoice:R}=this._session;if(!R||R.choice.options.length===0)return;let Z=C.getValueInRange(R.range),Y=Boolean(R.choice.options.find((ee)=>ee.value===Z)),Q=[];for(let ee=0;ee<R.choice.options.length;ee++){let oe=R.choice.options[ee];Q.push({kind:13,label:oe.value,insertText:oe.value,sortText:"a".repeat(ee+1),range:R.range,filterText:Y?`${Z}_${oe.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:e(1475,"Go to next placeholder...")}})}return{suggestions:Q}}},p=this._editor.getModel(),m,_=!1,v=()=>{m?.dispose(),_=!1},S=()=>{if(!_)m=this._languageFeaturesService.completionProvider.register({language:p.getLanguageId(),pattern:p.uri.fsPath,scheme:p.uri.scheme,exclusive:!0},g),this._snippetListener.add(m),_=!0};this._choiceCompletions={provider:g,enable:S,disable:v}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((g)=>g.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())return;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:n}=this._session;if(!n||!this._choiceCompletions){this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset();return}if(this._inSnippetChoice.set(!0),this._currentChoice!==n.choice)this._currentChoice=n.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{hk(this._editor,this._choiceCompletions.provider)})}finish(){while(this._inSnippet.get())this.next()}cancel(n=!1){if(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,n)this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}get isInSnippetObservable(){return this._inSnippetObservable}};Vt=Cd=IR([om(1,Ye),om(2,z),om(3,G),om(4,ht)],Vt);fe(Vt.ID,Vt,4);var nm=en.bindToContribution(Vt.get);K(new nm({id:"jumpToNextSnippetPlaceholder",precondition:T.and(Vt.InSnippetMode,Vt.HasNextTabstop),handler:(u)=>u.next(),kbOpts:{weight:130,kbExpr:r.textInputFocus,primary:2}}));K(new nm({id:"jumpToPrevSnippetPlaceholder",precondition:T.and(Vt.InSnippetMode,Vt.HasPrevTabstop),handler:(u)=>u.prev(),kbOpts:{weight:130,kbExpr:r.textInputFocus,primary:1026}}));Dn.registerKeybindingRule({id:"jumpToPrevSnippetPlaceholder",weight:191,when:T.and(Vt.InSnippetMode,Vt.HasPrevTabstop,Vt.InSnippetChoice,r.textInputFocus),primary:1026});K(new nm({id:"leaveSnippet",precondition:Vt.InSnippetMode,handler:(u)=>u.cancel(!0),kbOpts:{weight:130,kbExpr:r.textInputFocus,primary:9,secondary:[1033]}}));K(new nm({id:"acceptSnippet",precondition:Vt.InSnippetMode,handler:(u)=>u.finish()}));class rm{constructor(u,n){this.leadingLineContent=u,this.characterCountDelta=n}}class Sr{constructor(u,n,h,g,p,m,_=uy.default,v=void 0){if(this.clipboardText=v,this._snippetCompareFn=Sr._compareCompletionItems,this._items=u,this._column=n,this._wordDistance=g,this._options=p,this._refilterKind=1,this._lineContext=h,this._fuzzyScoreOptions=_,m==="top")this._snippetCompareFn=Sr._compareCompletionItemsSnippetsUp;else if(m==="bottom")this._snippetCompareFn=Sr._compareCompletionItemsSnippetsDown}get lineContext(){return this._lineContext}set lineContext(u){if(this._lineContext.leadingLineContent!==u.leadingLineContent||this._lineContext.characterCountDelta!==u.characterCountDelta)this._refilterKind=this._lineContext.characterCountDelta<u.characterCountDelta&&this._filteredItems?2:1,this._lineContext=u}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();let u=new Set;for(let[n,h]of this.getItemsByProvider())if(h.length>0&&h[0].container.incomplete)u.add(n);return u}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){if(this._refilterKind!==0)this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;let u=[],{leadingLineContent:n,characterCountDelta:h}=this._lineContext,g="",p="",m=this._refilterKind===1?this._items:this._filteredItems,_=[],v=!this._options.filterGraceful||m.length>2000?bd:u2;for(let S=0;S<m.length;S++){let C=m[S];if(C.isInvalid)continue;let L=this._itemsByProvider.get(C.provider);if(L)L.push(C);else this._itemsByProvider.set(C.provider,[C]);let R=C.position.column-C.editStart.column,Z=R+h-(C.position.column-this._column);if(g.length!==Z)g=Z===0?"":n.slice(-Z),p=g.toLowerCase();if(C.word=g,Z===0)C.score=ns.Default;else{let Y=0;while(Y<R){let Q=g.charCodeAt(Y);if(Q===32||Q===9)Y+=1;else break}if(Y>=Z)C.score=ns.Default;else if(typeof C.completion.filterText==="string"){let Q=v(g,p,Y,C.completion.filterText,C.filterTextLow,0,this._fuzzyScoreOptions);if(!Q)continue;if(a0(C.completion.filterText,C.textLabel)===0)C.score=Q;else C.score=d2(g,p,Y,C.textLabel,C.labelLow,0),C.score[0]=Q[0]}else{let Q=v(g,p,Y,C.textLabel,C.labelLow,0,this._fuzzyScoreOptions);if(!Q)continue;C.score=Q}}C.idx=S,C.distance=this._wordDistance.distance(C.position,C.completion),_.push(C),u.push(C.textLabel.length)}this._filteredItems=_.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:u.length?YC(u.length-0.85,u,(S,C)=>S-C):0}}static _compareCompletionItems(u,n){if(u.score[0]>n.score[0])return-1;else if(u.score[0]<n.score[0])return 1;else if(u.distance<n.distance)return-1;else if(u.distance>n.distance)return 1;else if(u.idx<n.idx)return-1;else if(u.idx>n.idx)return 1;else return 0}static _compareCompletionItemsSnippetsDown(u,n){if(u.completion.kind!==n.completion.kind){if(u.completion.kind===28)return 1;else if(n.completion.kind===28)return-1}return Sr._compareCompletionItems(u,n)}static _compareCompletionItemsSnippetsUp(u,n){if(u.completion.kind!==n.completion.kind){if(u.completion.kind===28)return-1;else if(n.completion.kind===28)return 1}return Sr._compareCompletionItems(u,n)}}var LR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},pk=function(u,n){return function(h,g){n(h,g,u)}},Lh;class sm{constructor(u){this.name=u}select(u,n,h){if(h.length===0)return 0;let g=h[0].score[0];for(let p=0;p<h.length;p++){let{score:m,completion:_}=h[p];if(m[0]!==g)break;if(_.preselect)return p}return 0}}class ow extends sm{constructor(){super("first")}memorize(u,n,h){}toJSON(){return}fromJSON(){}}class mk extends sm{constructor(){super("recentlyUsed");this._cache=new Ji(300,0.66),this._seq=0}memorize(u,n,h){let g=`${u.getLanguageId()}/${h.textLabel}`;this._cache.set(g,{touch:this._seq++,type:h.completion.kind,insertText:h.completion.insertText})}select(u,n,h){if(h.length===0)return 0;let g=u.getLineContent(n.lineNumber).substr(n.column-10,n.column-1);if(/\s$/.test(g))return super.select(u,n,h);let p=h[0].score[0],m=-1,_=-1,v=-1;for(let S=0;S<h.length;S++){if(h[S].score[0]!==p)break;let C=`${u.getLanguageId()}/${h[S].textLabel}`,L=this._cache.peek(C);if(L&&L.touch>v&&L.type===h[S].completion.kind&&L.insertText===h[S].completion.insertText)v=L.touch,_=S;if(h[S].completion.preselect&&m===-1)return m=S}if(_!==-1)return _;else if(m!==-1)return m;else return 0}toJSON(){return this._cache.toJSON()}fromJSON(u){this._cache.clear();let n=0;for(let[h,g]of u)g.touch=n,g.type=typeof g.type==="number"?g.type:Ph.fromString(g.type),this._cache.set(h,g);this._seq=this._cache.size}}class fk extends sm{constructor(){super("recentlyUsedByPrefix");this._trie=Ff.forStrings(),this._seq=0}memorize(u,n,h){let{word:g}=u.getWordUntilPosition(n),p=`${u.getLanguageId()}/${g}`;this._trie.set(p,{type:h.completion.kind,insertText:h.completion.insertText,touch:this._seq++})}select(u,n,h){let{word:g}=u.getWordUntilPosition(n);if(!g)return super.select(u,n,h);let p=`${u.getLanguageId()}/${g}`,m=this._trie.get(p);if(!m)m=this._trie.findSubstr(p);if(m)for(let _=0;_<h.length;_++){let{kind:v,insertText:S}=h[_].completion;if(v===m.type&&S===m.insertText)return _}return super.select(u,n,h)}toJSON(){let u=[];return this._trie.forEach((n,h)=>u.push([h,n])),u.sort((n,h)=>-(n[1].touch-h[1].touch)).forEach((n,h)=>n[1].touch=h),u.slice(0,200)}fromJSON(u){if(this._trie.clear(),u.length>0){this._seq=u[0][1].touch+1;for(let[n,h]of u)h.type=typeof h.type==="number"?h.type:Ph.fromString(h.type),this._trie.set(n,h)}}}var nw=class u{static{Lh=this}static{this._strategyCtors=new Map([["recentlyUsedByPrefix",fk],["recentlyUsed",mk],["first",ow]])}static{this._storagePrefix="suggest/memories"}constructor(n,h){this._storageService=n,this._configService=h,this._disposables=new d,this._persistSoon=new ke(()=>this._saveState(),500),this._disposables.add(n.onWillSaveState((g)=>{if(g.reason===yc.SHUTDOWN)this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(n,h,g){this._withStrategy(n,h).memorize(n,h,g),this._persistSoon.schedule()}select(n,h,g){return this._withStrategy(n,h).select(n,h,g)}_withStrategy(n,h){let g=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:n.getLanguageIdAtPosition(h.lineNumber,h.column),resource:n.uri});if(this._strategy?.name!==g){this._saveState();let p=Lh._strategyCtors.get(g)||ow;this._strategy=new p;try{let _=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,v=this._storageService.get(`${Lh._storagePrefix}/${g}`,_);if(v)this._strategy.fromJSON(JSON.parse(v))}catch(m){}}return this._strategy}_saveState(){if(this._strategy){let h=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,g=JSON.stringify(this._strategy);this._storageService.store(`${Lh._storagePrefix}/${this._strategy.name}`,g,h,1)}}};nw=Lh=LR([pk(0,Mn),pk(1,re)],nw);var Fc=ie("ISuggestMemories");xe(Fc,nw,1);var _k;function am(u){return _k?.(u)??null}function bk(u){_k=u}class dt{static{this.inlineSuggestionVisible=new M("inlineSuggestionVisible",!1,e(1249,"Whether an inline suggestion is visible"))}static{this.inlineSuggestionAlternativeActionVisible=new M("inlineSuggestionAlternativeActionVisible",!1,e(1250,"Whether an alternative action for the inline suggestion is visible."))}static{this.inlineSuggestionHasIndentation=new M("inlineSuggestionHasIndentation",!1,e(1251,"Whether the inline suggestion starts with whitespace"))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new M("inlineSuggestionHasIndentationLessThanTabSize",!0,e(1252,"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"))}static{this.suppressSuggestions=new M("inlineSuggestionSuppressSuggestions",void 0,e(1253,"Whether suggestions should be suppressed for the current suggestion"))}static{this.cursorBeforeGhostText=new M("cursorBeforeGhostText",!1,e(1254,"Whether the cursor is at ghost text"))}static{this.cursorInIndentation=new M("cursorInIndentation",!1,e(1255,"Whether the cursor is in indentation"))}static{this.hasSelection=new M("editor.hasSelection",!1,e(1256,"Whether the editor has a selection"))}static{this.cursorAtInlineEdit=new M("cursorAtInlineEdit",!1,e(1257,"Whether the cursor is at an inline edit"))}static{this.inlineEditVisible=new M("inlineEditIsVisible",!1,e(1258,"Whether an inline edit is visible"))}static{this.tabShouldJumpToInlineEdit=new M("tabShouldJumpToInlineEdit",!1,e(1259,"Whether tab should jump to an inline edit."))}static{this.tabShouldAcceptInlineEdit=new M("tabShouldAcceptInlineEdit",!1,e(1260,"Whether tab should accept the inline edit."))}static{this.inInlineEditsPreviewEditor=new M("inInlineEditsPreviewEditor",!0,e(1261,"Whether the current code editor is showing an inline edits preview"))}}class xn{static{this.None=new class extends xn{distance(){return 0}}}static async create(u,n){if(!n.getOption(134).localityBonus)return xn.None;if(!n.hasModel())return xn.None;let h=n.getModel(),g=n.getPosition();if(!u.canComputeWordRanges(h.uri))return xn.None;let[p]=await new Eo().provideSelectionRanges(h,[g]);if(p.length===0)return xn.None;let m=await u.computeWordRanges(h.uri,p[0].range);if(!m)return xn.None;let _=h.getWordUntilPosition(g);return delete m[_.word],new class extends xn{distance(v,S){if(!g.equals(n.getPosition()))return 0;if(S.kind===17)return 2097152;let C=typeof S.label==="string"?S.label:S.label.label,L=m[C];if(ZC(L))return 2097152;let R=ig(L,t.fromPositions(v),t.compareRangesUsingStarts),Z=R>=0?L[R]:L[Math.max(0,~R-1)],Y=p.length;for(let Q of p){if(!t.containsRange(Q.range,Z))break;Y-=1}return Y}}}}var kR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ys=function(u,n){return function(h,g){n(h,g,u)}},rw;class Js{static shouldAutoTrigger(u){if(!u.hasModel())return!1;let n=u.getModel(),h=u.getPosition();n.tokenization.tokenizeIfCheap(h.lineNumber);let g=n.getWordAtPosition(h);if(!g)return!1;if(g.endColumn!==h.column&&g.startColumn+1!==h.column)return!1;if(!isNaN(Number(g.word)))return!1;return!0}constructor(u,n,h){this.leadingLineContent=u.getLineContent(n.lineNumber).substr(0,n.column-1),this.leadingWord=u.getWordUntilPosition(n),this.lineNumber=n.lineNumber,this.column=n.column,this.triggerOptions=h}}function ER(u,n,h){if(!Boolean(n.getContextKeyValue(dt.inlineSuggestionVisible.key)))return!0;let g=n.getContextKeyValue(dt.suppressSuggestions.key);if(g!==void 0)return!g;return!u.getOption(71).suppressSuggestions}function DR(u,n,h){if(!Boolean(n.getContextKeyValue("inlineSuggestionVisible")))return!0;let g=n.getContextKeyValue(dt.suppressSuggestions.key);if(g!==void 0)return!g;return!u.getOption(71).suppressSuggestions}var Hc=rw=class u{constructor(n,h,g,p,m,_,v,S,C){this._editor=n,this._editorWorkerService=h,this._clipboardService=g,this._telemetryService=p,this._logService=m,this._contextKeyService=_,this._configurationService=v,this._languageFeaturesService=S,this._envService=C,this._toDispose=new d,this._triggerCharacterListener=new d,this._triggerQuickSuggest=new di,this._triggerState=void 0,this._completionDisposables=new d,this._onDidCancel=new o,this._onDidTrigger=new o,this._onDidSuggest=new o,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new F(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let L=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{L=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{L=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection((R)=>{if(!L)this._onCursorChange(R)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{if(!L&&this._triggerState!==void 0)this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Be(this._triggerCharacterListener),Be([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 n=new Map;for(let g of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let p of g.triggerCharacters||[]){let m=n.get(p);if(!m)m=new Set,n.set(p,m);m.add(g)}let h=(g)=>{if(!DR(this._editor,this._contextKeyService,this._configurationService))return;if(Js.shouldAutoTrigger(this._editor))return;if(!g){let _=this._editor.getPosition();g=this._editor.getModel().getLineContent(_.lineNumber).substr(0,_.column-1)}let p="";if(ac(g.charCodeAt(g.length-1))){if($n(g.charCodeAt(g.length-2)))p=g.substr(g.length-2)}else p=g.charAt(g.length-1);let m=n.get(p);if(m){let _=new Map;if(this._completionModel){for(let[v,S]of this._completionModel.getItemsByProvider())if(!m.has(v))_.set(v,S)}this.trigger({auto:!0,triggerKind:1,triggerCharacter:p,retrigger:Boolean(this._completionModel),clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:m,providerItemsToReuse:_}})}};this._triggerCharacterListener.add(this._editor.onDidType(h)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>h()))}get state(){if(!this._triggerState)return 0;else if(!this._triggerState.auto)return 1;else return 2}cancel(n=!1){if(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:n})}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){if(this._triggerState!==void 0)if(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel()))this.cancel();else this.trigger({auto:this._triggerState.auto,retrigger:!0})}_onCursorChange(n){if(!this._editor.hasModel())return;let h=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!n.selection.isEmpty()||n.reason!==0&&n.reason!==3||n.source!=="keyboard"&&n.source!=="deleteLeft"){this.cancel();return}if(this._triggerState===void 0&&n.reason===0){if(h.containsRange(this._currentSelection)||h.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))this._doTriggerQuickSuggest()}else if(this._triggerState!==void 0&&n.reason===3)this._refilterCompletionItems()}_onCompositionEnd(){if(this._triggerState===void 0)this._doTriggerQuickSuggest();else this._refilterCompletionItems()}_doTriggerQuickSuggest(){if(Gr.isAllOff(this._editor.getOption(102)))return;if(this._editor.getOption(134).snippetsPreventQuickSuggestions&&Vt.get(this._editor)?.isInSnippet())return;this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0)return;if(!Js.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let n=this._editor.getModel(),h=this._editor.getPosition(),g=this._editor.getOption(102);if(Gr.isAllOff(g))return;let p=!1;if(!Gr.isAllOn(g)){n.tokenization.tokenizeIfCheap(h.lineNumber);let m=n.tokenization.getLineTokens(h.lineNumber),_=m.getStandardTokenType(m.findTokenIndexAtOffset(Math.max(h.column-1-1,0))),v=Gr.valueFor(g,_);if(v==="off"||v==="inline")return;if(v==="offWhenInlineCompletions")p=this._languageFeaturesService.inlineCompletionsProvider.has(n)&&this._editor.getOption(71).enabled}if(!ER(this._editor,this._contextKeyService,this._configurationService))return;if(!this._languageFeaturesService.completionProvider.has(n))return;if(p)this._waitForInlineCompletionsAndTrigger(n,h);else this.trigger({auto:!0})},this._editor.getOption(103))}_waitForInlineCompletionsAndTrigger(n,h){let g=n.getVersionId(),p=am(this._editor),m=p?.model.get();if(!p||!m){this.trigger({auto:!0});return}if(m.state.get()?.inlineSuggestion)return;let v=new d;this._waitForInlineCompletions=v;let S=(C)=>{if(v.dispose(),this._waitForInlineCompletions===v)this._waitForInlineCompletions=void 0;if(this._triggerState!==void 0)return;if(!C)return;let L=this._editor.getModel(),R=this._editor.getPosition();if(L===n&&L.getVersionId()===g&&R?.equals(h)&&this._editor.hasWidgetFocus())this.trigger({auto:!0})};gi(()=>{S(!0),m.stop("automatic")},750,v),DM(v,(C)=>{if(p.model.read(C)!==m){C.dispose(),S(!1);return}let R=m.status.read(C),Z=m.state.read(C);if(!Z&&R==="loading")return;C.dispose(),S(!Z)})}_refilterCompletionItems(){Fe(this._editor.hasModel()),Fe(this._triggerState!==void 0);let n=this._editor.getModel(),h=this._editor.getPosition(),g=new Js(n,h,{...this._triggerState,refilter:!0});this._onNewContext(g)}trigger(n){if(!this._editor.hasModel())return;let h=this._editor.getModel(),g=new Js(h,this._editor.getPosition(),n);this.cancel(n.retrigger),this._triggerState=n,this._onDidTrigger.fire({auto:n.auto,shy:n.shy??!1,position:this._editor.getPosition()}),this._context=g;let p={triggerKind:n.triggerKind??0};if(n.triggerCharacter)p={triggerKind:1,triggerCharacter:n.triggerCharacter};this._requestToken=new qe;let m=this._editor.getOption(128),_=1;switch(m){case"top":_=0;break;case"bottom":_=2;break}let{itemKind:v,showDeprecated:S}=rw.createSuggestFilter(this._editor),C=new Sd(_,n.completionOptions?.kindFilter??v,n.completionOptions?.providerFilter,n.completionOptions?.providerItemsToReuse,S),L=xn.create(this._editorWorkerService,this._editor),R=xh(this._languageFeaturesService.completionProvider,h,this._editor.getPosition(),C,p,this._requestToken.token);Promise.all([R,L]).then(async([Z,Y])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){Z.disposable.dispose();return}let Q=n?.clipboardText;if(!Q&&Z.needsClipboard)Q=await this._clipboardService.readText();if(this._triggerState===void 0){Z.disposable.dispose();return}let ee=this._editor.getModel(),oe=new Js(ee,this._editor.getPosition(),n),ne={...uy.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new Sr(Z.items,this._context.column,{leadingLineContent:oe.leadingLineContent,characterCountDelta:oe.column-this._context.column},Y,this._editor.getOption(134),this._editor.getOption(128),ne,Q),this._completionDisposables.add(Z.disposable),this._onNewContext(oe),this._reportDurationsTelemetry(Z.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment){for(let de of Z.items)if(de.isInvalid)this._logService.warn(`[suggest] did IGNORE invalid completion item from ${de.provider._debugDisplayName}`,de.completion)}}).catch(X)}_reportDurationsTelemetry(n){if(Math.random()>0.0001)return;setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(n)}),this._logService.debug("suggest.durations.json",n)})}static createSuggestFilter(n){let h=new Set;if(n.getOption(128)==="none")h.add(28);let p=n.getOption(134);if(!p.showMethods)h.add(0);if(!p.showFunctions)h.add(1);if(!p.showConstructors)h.add(2);if(!p.showFields)h.add(3);if(!p.showVariables)h.add(4);if(!p.showClasses)h.add(5);if(!p.showStructs)h.add(6);if(!p.showInterfaces)h.add(7);if(!p.showModules)h.add(8);if(!p.showProperties)h.add(9);if(!p.showEvents)h.add(10);if(!p.showOperators)h.add(11);if(!p.showUnits)h.add(12);if(!p.showValues)h.add(13);if(!p.showConstants)h.add(14);if(!p.showEnums)h.add(15);if(!p.showEnumMembers)h.add(16);if(!p.showKeywords)h.add(17);if(!p.showWords)h.add(18);if(!p.showColors)h.add(19);if(!p.showFiles)h.add(20);if(!p.showReferences)h.add(21);if(!p.showColors)h.add(22);if(!p.showFolders)h.add(23);if(!p.showTypeParameters)h.add(24);if(!p.showSnippets)h.add(28);if(!p.showUsers)h.add(25);if(!p.showIssues)h.add(26);return{itemKind:h,showDeprecated:p.showDeprecated}}_onNewContext(n){if(!this._context)return;if(n.lineNumber!==this._context.lineNumber){this.cancel();return}if(Rt(n.leadingLineContent)!==Rt(this._context.leadingLineContent)){this.cancel();return}if(n.column<this._context.column){if(n.leadingWord.word)this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});else this.cancel();return}if(!this._completionModel)return;if(n.leadingWord.word.length!==0&&n.leadingWord.startColumn>this._context.leadingWord.startColumn){if(Js.shouldAutoTrigger(this._editor)&&this._context){let g=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:g}})}return}if(n.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&n.leadingWord.word.length!==0){let h=new Map,g=new Set;for(let[p,m]of this._completionModel.getItemsByProvider())if(m.length>0&&m[0].container.incomplete)g.add(p);else h.set(p,m);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:g,providerItemsToReuse:h}})}else{let h=this._completionModel.lineContext,g=!1;if(this._completionModel.lineContext={leadingLineContent:n.leadingLineContent,characterCountDelta:n.column-this._context.column},this._completionModel.items.length===0){let p=Js.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(p&&this._context.leadingWord.endColumn<n.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(!this._context.triggerOptions.auto){if(this._completionModel.lineContext=h,g=this._completionModel.items.length>0,g&&n.leadingWord.word.length===0){this.cancel();return}}else{this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:n.triggerOptions,isFrozen:g})}}};Hc=rw=kR([Ys(1,Mi),Ys(2,yi),Ys(3,Bn),Ys(4,Ye),Ys(5,G),Ys(6,re),Ys(7,z),Ys(8,py)],Hc);var vk=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},kh=function(u,n){return function(h,g){n(h,g,u)}};class wk{constructor(u,n,h,g,p,m,_){this.range=u,this.insertText=n,this.filterText=h,this.additionalTextEdits=g,this.command=p,this.gutterMenuLinkAction=m,this.completion=_,this.doNotLog=!0}}var sw=class u extends CI{constructor(n,h,g,p,m,_){super(m.disposable);this.model=n,this.line=h,this.word=g,this.completionModel=p,this._suggestMemoryService=_}canBeReused(n,h,g){return this.model===n&&this.line===h&&this.word.word.length>0&&this.word.startColumn===g.startColumn&&this.word.endColumn<g.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){let n=[],{items:h}=this.completionModel,g=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},h),p=Re.slice(h,g),m=Re.slice(h,0,g),_=5;for(let v of Re.concat(p,m)){if(v.score===ns.Default)continue;let S=new t(v.editStart.lineNumber,v.editStart.column,v.editInsertEnd.lineNumber,v.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),C=v.completion.insertTextRules&&v.completion.insertTextRules&4?{snippet:v.completion.insertText}:v.completion.insertText;if(n.push(new wk(S,C,v.filterTextLow??v.labelLow,v.completion.additionalTextEdits,v.completion.command,v.completion.action,v)),_-->=0)v.resolve(ye.None)}return n}};sw=vk([kh(5,Fc)],sw);var aw=class u extends i{constructor(n,h,g,p){super();this._languageFeatureService=n,this._clipboardService=h,this._suggestMemoryService=g,this._editorService=p,this._store.add(n.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(n,h,g,p){if(g.selectedSuggestionInfo)return;let m;for(let Y of this._editorService.listCodeEditors())if(Y.getModel()===n){m=Y;break}if(!m)return;let _=m.getOption(102);if(Gr.isAllOff(_))return;n.tokenization.tokenizeIfCheap(h.lineNumber);let v=n.tokenization.getLineTokens(h.lineNumber),S=v.getStandardTokenType(v.findTokenIndexAtOffset(Math.max(h.column-1-1,0)));if(Gr.valueFor(_,S)!=="inline")return;let C=n.getWordAtPosition(h),L;if(!C?.word)L=this._getTriggerCharacterInfo(n,h);if(!C?.word&&!L)return;if(!C)C=n.getWordUntilPosition(h);if(C.endColumn!==h.column)return;let R,Z=n.getValueInRange(new t(h.lineNumber,1,h.lineNumber,h.column));if(!L&&this._lastResult?.canBeReused(n,h.lineNumber,C)){let Y=new rm(Z,h.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=Y,this._lastResult.acquire(),R=this._lastResult}else{let Y=await xh(this._languageFeatureService.completionProvider,n,h,new Sd(void 0,Hc.createSuggestFilter(m).itemKind,L?.providers),L&&{triggerKind:1,triggerCharacter:L.ch},p),Q;if(Y.needsClipboard)Q=await this._clipboardService.readText();let ee=new Sr(Y.items,h.column,new rm(Z,0),xn.None,m.getOption(134),m.getOption(128),{boostFullMatch:!1,firstMatchCanBeWeak:!1},Q);R=new sw(n,h.lineNumber,C,ee,Y,this._suggestMemoryService)}return this._lastResult=R,R}handleItemDidShow(n,h){h.completion.resolve(ye.None)}disposeInlineCompletions(n){n.release()}_getTriggerCharacterInfo(n,h){let g=n.getValueInRange(t.fromPositions({lineNumber:h.lineNumber,column:h.column-1},h)),p=new Set;for(let m of this._languageFeatureService.completionProvider.all(n))if(m.triggerCharacters?.includes(g))p.add(m);if(p.size===0)return;return{providers:p,ch:g}}};aw=vk([kh(0,z),kh(1,yi),kh(2,Fc),kh(3,Te)],aw);Dl(aw);var TR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},RR=function(u,n){return function(h,g){n(h,g,u)}};function Ck(u){if(u instanceof dw)return u._instance;return u}class dw{constructor(u){this.instantiationService=u}init(...u){}}function yk(u){return u.get()}var Sk=class u extends dw{constructor(n,h){super(h);this.init(n)}};Sk=TR([RR(1,A)],Sk);class xd{validateOrThrow(u){let n=this.validate(u);if(n.error)throw Error(n.error.message);return n.content}}class Eh extends xd{constructor(u){super();this.type=u}validate(u){if(typeof u!==this.type)return{content:void 0,error:{message:`Expected ${this.type}, but got ${typeof u}`}};return{content:u,error:void 0}}getJSONSchema(){return{type:this.type}}}var NR=new Eh("string");function xk(){return NR}new Eh("number");var MR=new Eh("boolean");function cw(){return MR}new Eh("object");class Ik extends xd{validate(u){return{content:u,error:void 0}}getJSONSchema(){return{}}}function Lk(){return new Ik}class lw extends xd{validate(u){if(u!==void 0)return{content:void 0,error:{message:`Expected undefined, but got ${typeof u}`}};return{content:void 0,error:void 0}}getJSONSchema(){return{}}}function kk(){return new lw}class dm{constructor(u){this.validator=u}}function Th(u){return new dm(u)}class Ek extends xd{constructor(u){super();this.properties=u}validate(u){if(typeof u!=="object"||u===null)return{content:void 0,error:{message:"Expected object"}};let n={};for(let h in this.properties){let g=this.properties[h],p=u[h],m=g instanceof dm,_=m?g.validator:g;if(m&&p===void 0)continue;let{content:v,error:S}=_.validate(p);if(S)return{content:void 0,error:{message:`Error in property '${h}': ${S.message}`}};n[h]=v}return{content:n,error:void 0}}getJSONSchema(){let u=[],n={};for(let[g,p]of Object.entries(this.properties)){let m=p instanceof dm,_=m?p.validator:p;if(n[g]=_.getJSONSchema(),!m)u.push(g)}return{type:"object",properties:n,...u.length>0?{required:u}:{}}}}function Dk(u){return new Ek(u)}class Tk extends xd{constructor(u){super();this.validators=u}validate(u){let n;for(let h of this.validators){let{content:g,error:p}=h.validate(u);if(!p)return{content:g,error:void 0};n=p}return{content:void 0,error:n}}getJSONSchema(){return{oneOf:yM(this.validators,(u)=>{if(u instanceof lw)return;return u.getJSONSchema()})}}}function Rk(...u){return new Tk(u)}class Nk extends xd{constructor(u,n){super();this._ref=u,this._validator=n}validate(u){return this._validator.validate(u)}getJSONSchema(){return{$ref:this._ref}}}function Mk(u,n){return new Nk(u,n)}var OR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ok=function(u,n){return function(h,g){n(h,g,u)}};function Pk(u){return u.sourceId+" @@ "+JSON.stringify({...u,modelUri:u.modelUri?.toString(),sourceId:void 0})}var Wc=class u extends i{static cast(){return this}constructor(n,h,g){super();this._key=n,this._contextKeyService=h,this._dataChannelService=g,this._isEnabledContextKeyValue=PR("structuredLogger.enabled:"+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map((p)=>p!==void 0)}log(n){if(!this._isEnabledContextKeyValue.get())return!1;return this._dataChannelService.getDataChannel("structuredLogger:"+this._key).sendData(n),!0}};Wc=OR([Ok(1,G),Ok(2,vy)],Wc);function PR(u,n){return Pe(n.onDidChangeContext,()=>n.getContextKeyValue(u))}var AR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ak=function(u,n){return function(h,g){n(h,g,u)}},cm=class u extends i{constructor(n,h,g){super();this._editor=n,this._instantiationService=h,this._loggerService=g,this._structuredLogger=this._register(this._instantiationService.createInstance(Wc.cast(),"editor.inlineSuggest.logChangeReason.commandId"));let p=this._loggerService?.createLogger("textModelChanges",{hidden:!1,name:"Text Model Changes Reason"}),m=Pe(this,p.onDidChangeLogLevel,()=>p.getLevel());this._register(W((_)=>{if(!$I(m.read(_),ao.Trace))return;_.store.add(this._editor.onDidChangeModelContent((v)=>{if(this._editor.getModel()?.uri.scheme==="output")return;p.trace("onDidChangeModelContent: "+v.detailedReasons.map((S)=>S.toKey(Number.MAX_VALUE)).join(", "))}))})),this._register(W((_)=>{if(!(this._editor instanceof vc))return;if(!this._structuredLogger.isEnabled.read(_))return;_.store.add(this._editor.onDidChangeModelContent((v)=>{let S=this._editor.getModel();if(!S)return;let C=v.detailedReasons[0],L={...C.metadata,sourceId:"TextModel.setChangeReason",source:C.metadata.source,time:Date.now(),modelUri:S.uri,modelVersion:S.getVersionId()};setTimeout(()=>{this._structuredLogger.log(L)},0)}))}))}};cm=AR([Ak(1,A),Ak(2,c1)],cm);function Id(u){return new Fk(u)}class Fk extends b0{constructor(u){super();this._textModel=u}getOffset(u){return this._textModel.getOffsetAt(u)}getPosition(u){return this._textModel.getPositionAt(u)}}var FR=[];function Hk(){return FR}function hw(u){return HR(u).map((h)=>h.getEndPosition())}function HR(u){let n=i0.createSortPermutation(u,jn((p)=>p.range,t.compareRangesUsingStarts)),g=new Po(n.apply(u)).getNewRanges();return n.inverse().apply(g)}function Wk(u,n){let h=Id(n),g=n.getValue();return u.map((_)=>h.getStringReplacement(_)).map((_)=>_.removeCommonSuffixPrefix(g)).map((_)=>h.getTextReplacement(_))}function Bk(u,n){let h=j("result",[]),g=[];return n.add(W((p)=>{let m=u.read(p);Je((_)=>{if(m.length!==g.length){g.length=m.length;for(let v=0;v<g.length;v++)if(!g[v])g[v]=j("item",m[v]);h.set([...g],_)}g.forEach((v,S)=>v.set(m[S],_))})})),h}class uw{constructor(u){this._contextKeyService=u}bind(u,n){return _s(u,this._contextKeyService,n instanceof Function?n:(h)=>n.read(h))}}function gw(u,n){return new Promise((h)=>{let g=void 0,p=setTimeout(()=>{if(g)g.dispose();h()},u);if(n)g=n.onCancellationRequested(()=>{if(clearTimeout(p),g)g.dispose();h()})})}class Bc{static message(u){return new Bc(void 0,u)}constructor(u,n=void 0){this.error=u,this.message=n}static is(u){return u instanceof Bc}logError(){if(this.message)console.error(`ErrorResult: ${this.message}`,this.error);else console.error("ErrorResult: An unexpected error-case occurred, usually caused by invalid input.",this.error)}}class lm{static startNow(u,n,h,g=Vk){return new lm(u,n,h,Date.now(),g)}constructor(u,n,h,g,p=Vk){if(this.startValue=u,this.endValue=n,this.durationMs=h,this.startTimeMs=g,this._interpolationFunction=p,u===n)this.durationMs=0}isFinished(u){return u>=this.startTimeMs+this.durationMs}getValue(u){let n=u-this.startTimeMs;if(n>=this.durationMs)return this.endValue;return this._interpolationFunction(n,this.startValue,this.endValue-this.startValue,this.durationMs)}}function Vk(u,n,h,g){return u===g?n+h:h*(-Math.pow(2,-10*u/g)+1)+n}function zk(u,n,h,g){return h*((u=u/g-1)*u*u+1)+n}class pw{constructor(u){this._value=u}getValue(u){let n=Date.now();if(!this._value.isFinished(n))Fv.instance.invalidateOnNextAnimationFrame(u);return this._value.getValue(n)}isFinished(u){let n=Date.now(),h=this._value.isFinished(n);if(!h)Fv.instance.invalidateOnNextAnimationFrame(u);return h}}class Fv{constructor(){this._counter=so(this),this._isScheduled=!1}static{this.instance=new Fv}invalidateOnNextAnimationFrame(u){if(this._counter.read(u),!this._isScheduled)this._isScheduled=!0,Ge().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()})}_update(){this._counter.trigger(void 0)}}class Zr{constructor(u,n){this.lineNumber=u,this.parts=n,ia(()=>tu(n,(h,g)=>h.column<=g.column))}equals(u){return this.lineNumber===u.lineNumber&&this.parts.length===u.parts.length&&this.parts.every((n,h)=>n.equals(u.parts[h]))}renderForScreenReader(u){if(this.parts.length===0)return"";let n=this.parts[this.parts.length-1],h=u.substr(0,n.column-1);return new Po([...this.parts.map((p)=>new gt(t.fromPositions(new s(1,p.column)),p.lines.map((m)=>m.line).join(`
|
|
34
|
-
`)))]).applyToString(h).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((u)=>u.lines.length===0)}get lineCount(){return 1+this.parts.reduce((u,n)=>u+n.lines.length-1,0)}}class Ld{constructor(u,n,h,g=[]){this.column=u,this.text=n,this.preview=h,this._inlineDecorations=g,this.lines=Ci(this.text).map((p,m)=>({line:p,lineDecorations:Xi.filter(this._inlineDecorations,m+1,1,p.length+1)}))}equals(u){return this.column===u.column&&this.lines.length===u.lines.length&&this.lines.every((n,h)=>n.line===u.lines[h].line&&Xi.equalsArr(n.lineDecorations,u.lines[h].lineDecorations))}}class zh{constructor(u,n,h,g=0){this.lineNumber=u,this.columnRange=n,this.text=h,this.additionalReservedLineCount=g,this.parts=[new Ld(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Ci(this.text)}renderForScreenReader(u){return this.newLines.join(`
|
|
35
|
-
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((u)=>u.lines.length===0)}equals(u){return this.lineNumber===u.lineNumber&&this.columnRange.equals(u.columnRange)&&this.newLines.length===u.newLines.length&&this.newLines.every((n,h)=>n===u.newLines[h])&&this.additionalReservedLineCount===u.additionalReservedLineCount}}function mw(u,n){return ot(u,n,fw)}function fw(u,n){if(u===n)return!0;if(!u||!n)return!1;if(u instanceof Zr&&n instanceof Zr)return u.equals(n);if(u instanceof zh&&n instanceof zh)return u.equals(n);return!1}function Xo(u,n,h){let g=h?u.range.intersectRanges(h):u.range;if(!g)return u;let p=u.text.replaceAll(`\r
|
|
36
|
-
`,`
|
|
37
|
-
`),m=n.getValueInRange(g,1),_=No(m,p),v=Gt.ofText(m.substring(0,_)).addToPosition(u.range.getStartPosition()),S=p.substring(_),C=t.fromPositions(v,u.range.getEndPosition());return new gt(C,S)}function hm(u,n){return u.text.startsWith(n.text)&&WR(u.range,n.range)}function WR(u,n){return n.getStartPosition().equals(u.getStartPosition())&&n.getEndPosition().isBeforeOrEqual(u.getEndPosition())}function _w(u,n,h,g,p=0){let m=Xo(u,n);if(m.range.endLineNumber!==m.range.startLineNumber)return;let _=n.getLineContent(m.range.startLineNumber),v=Rt(_).length;if(m.range.startColumn-1<=v){let Q=Rt(m.text).length,ee=_.substring(m.range.startColumn-1,v),[oe,ne]=[m.range.getStartPosition(),m.range.getEndPosition()],de=oe.column+ee.length<=ne.column?oe.delta(0,ee.length):ne,ge=t.fromPositions(de,ne),_e=m.text.startsWith(ee)?m.text.substring(ee.length):m.text.substring(Q);m=new gt(ge,_e)}let C=n.getValueInRange(m.range),L=BR(C,m.text);if(!L)return;let R=m.range.startLineNumber,Z=[];if(h==="prefix"){let Q=L.filter((ee)=>ee.originalLength===0);if(Q.length>1||Q.length===1&&Q[0].originalStart!==C.length)return}let Y=m.text.length-p;for(let Q of L){let ee=m.range.startColumn+Q.originalStart+Q.originalLength;if(h==="subwordSmart"&&g&&g.lineNumber===m.range.startLineNumber&&ee<g.column)return;if(Q.originalLength>0)return;if(Q.modifiedLength===0)continue;let oe=Q.modifiedStart+Q.modifiedLength,ne=Math.max(Q.modifiedStart,Math.min(oe,Y)),de=m.text.substring(Q.modifiedStart,ne),ge=m.text.substring(ne,Math.max(Q.modifiedStart,oe));if(de.length>0)Z.push(new Ld(ee,de,!1));if(ge.length>0)Z.push(new Ld(ee,ge,!0))}return new Zr(R,Z)}var um=void 0;function BR(u,n){if(um?.originalValue===u&&um?.newValue===n)return um?.changes;else{let h=Uk(u,n,!0);if(h){let g=Kk(h);if(g>0){let p=Uk(u,n,!1);if(p&&Kk(p)<g)h=p}}return um={originalValue:u,newValue:n,changes:h},h}}function Kk(u){let n=0;for(let h of u)n+=h.originalLength;return n}function Uk(u,n,h){if(u.length>5000||n.length>5000)return;function g(C){let L=0;for(let R=0,Z=C.length;R<Z;R++){let Y=C.charCodeAt(R);if(Y>L)L=Y}return L}let p=Math.max(g(u),g(n));function m(C){if(C<0)throw Error("unexpected");return p+C+1}function _(C){let L=0,R=0,Z=new Int32Array(C.length);for(let Y=0,Q=C.length;Y<Q;Y++)if(h&&C[Y]==="("){let ee=R*100+L;Z[Y]=m(2*ee),L++}else if(h&&C[Y]===")"){L=Math.max(L-1,0);let ee=R*100+L;if(Z[Y]=m(2*ee+1),L===0)R++}else Z[Y]=C.charCodeAt(Y);return Z}let v=_(u),S=_(n);return new ca({getElements:()=>v},{getElements:()=>S}).ComputeDiff(!1).changes}function qk(u,n){let h=void 0,g=!1,p=new d0(new bi(u,void 0,n.update),(m,_)=>{if(!g)h=n.initial instanceof Function?n.initial():n.initial,g=!0;let v=n.update(m,h,_);return h=v,v},n.changeTracker,()=>{if(g)n.disposeFinal?.(h),g=!1},n.equalityComparer??Ko,(m,_,v)=>{if(!g)throw new H("Can only set when there is a listener! This is to prevent leaks.");ad(_,(S)=>{h=m,p.setValue(m,S,v)})},qt.ofCaller());return p}var VR=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},jk=function(u,n){return function(h,g){n(h,g,u)}};class $k{constructor(u,n){this._baseService=u,this._intercept=n}publicLog2(u,n){this._intercept(u,n),this._baseService.publicLog2(u,n)}}var gm=class u extends $k{constructor(n,h){super(n,(g,p)=>{let m=!0;if(p&&bw in p)m=Boolean(p[bw]);if(m)h.getDataChannel("editTelemetry").sendData({eventName:g,data:p??{}})})}};gm=VR([jk(0,Bn),jk(1,vy)],gm);var bw=Symbol("shouldForwardToChannel");function Gk(u){return{[bw]:u}}function vw(u){if(!u)return!1;let n=u.toLowerCase();return n==="github.copilot"||n==="github.copilot-chat"}function Zk(u,n){u.publicLog2("inlineCompletion.endOfLife",n)}var zR=new Set([";",",","=","+","-","*","/","{","}","(",")","[","]","<",">",":",".","!","?","&","|","^","%","@","#","~","`","\\","'",'"',"$"]);function KR(u){return zR.has(u)}function UR(u){return/[a-zA-Z0-9_]/.test(u)}function qR(u){return u===" "||u==="\t"}function pm(u){let n=u.split(/\r\n|\r|\n/);if(n.length>1)return{kind:"multiLine",lineCount:n.length};let h=u.length===1,g;if(h){if(KR(u))g="syntactical";else if(UR(u))g="identifier";else if(qR(u))g="whitespace"}let p=u.match(/[ \t]+/g)||[],m=p.some((L)=>L.length>1),_=p.some((L)=>L.includes(" ")||L.includes("\t\t")),v=u.split(/\s+/).filter((L)=>L.length>0),S=v.length===1&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v[0]),C=v.length>1;return{kind:"singleLine",isSingleCharacter:h,singleCharacterKind:g,isWord:S,isMultipleWords:C,isMultipleWhitespace:m,hasDuplicatedWhitespace:_}}class Xk{constructor(u){this.edits=u}toString(){return JSON.stringify({edits:this.edits})}}function Sw(u,n,h){if(u.replacements.length===0)return;return new Xk(u.replacements.map((g)=>jR(g,n)))}function ww(u){if(u.length===0)return 0;return u.split(/\r\n|\r|\n/).length-1}function jR(u,n,h){let{replaceRange:g,newText:p}=u,m=g.length,_=p.length,v=ww(p);switch(g.isEmpty?"insert":p.length===0?"delete":"replace"){case"insert":return{operation:"insert",properties:$R(g.start,p,n),charactersInserted:_,charactersDeleted:0,linesInserted:v,linesDeleted:0};case"delete":{let C=n.getValue().substring(g.start,g.endExclusive);return{operation:"delete",properties:GR(g.start,g.endExclusive,n),charactersInserted:0,charactersDeleted:m,linesInserted:0,linesDeleted:ww(C)}}case"replace":{let C=n.getValue().substring(g.start,g.endExclusive);return{operation:"replace",properties:ZR(C,p),charactersInserted:_,charactersDeleted:m,linesInserted:v,linesDeleted:ww(C)}}}}function $R(u,n,h,g){let p=pm(n),m=h.getPositionAt(u),_=h.getLineContent(m.lineNumber),v=_.length,S,C=_.trim().length===0,L=m.column>v,R=m.column===1;if(C)S="emptyLine";else if(L)S="endOfLine";else if(R)S="startOfLine";else S="middleOfLine";let Z;return{textShape:p,locationShape:S,relativeToCursor:Z}}function GR(u,n,h){let g=h.getValue().substring(u,n),p=pm(g),m=h.getPositionAt(u),_=h.getPositionAt(n),v=h.getLineContent(_.lineNumber),S=_.column>v.length,C=m.lineNumber===_.lineNumber&&m.column===1&&_.column>v.length;return{textShape:p,isAtEndOfLine:S,deletesEntireLineContent:C}}function ZR(u,n){let h=pm(u),g=pm(n),p=h.kind==="singleLine"&&h.isWord,m=g.kind==="singleLine"&&g.isWord,_=p&&m,v=n.length>u.length,S=n.length<u.length,C=h.kind==="singleLine"&&g.kind==="singleLine",L=h.kind==="singleLine"&&g.kind==="multiLine",R=h.kind==="multiLine"&&g.kind==="singleLine";return{isWordToWordReplacement:_,isAdditive:v,isSubtractive:S,isSingleLineToSingleLine:C,isSingleLineToMultiLine:L,isMultiLineToSingleLine:R}}function mm(u,n,h,g){let p=Xo(u,h),m=u.range;if(!m||n&&!n.getStartPosition().equals(m.getStartPosition())||g.lineNumber!==p.range.startLineNumber||p.isEmpty)return!1;let _=h.getValueInRange(p.range,1),v=p.text,S=Math.max(0,g.column-p.range.startColumn),C=v.substring(0,S),L=v.substring(S),R=_.substring(0,S),Z=_.substring(S),Y=h.getLineIndentColumn(p.range.startLineNumber);if(p.range.startColumn<=Y){if(R=R.trimStart(),R.length===0)Z=Z.trimStart();if(C=C.trimStart(),C.length===0)L=L.trimStart()}return C.startsWith(R)&&!!MI(Z,L)}var fm;(function(u){function n(h){return h?.command.id??void 0}u.toString=n})(fm||(fm={}));class Cr extends hg{static snapshot(u){return new Cr(u)}constructor(u){super();this._textModel=u,this._version=u.getVersionId()}get uri(){return this._textModel.uri}_assertValid(){if(this._textModel.getVersionId()!==this._version)X(Error(`TextModel has changed: expected version ${this._version}, got ${this._textModel.getVersionId()}`))}targets(u){return this._textModel.uri.toString()===u.uri.toString()}getValueOfRange(u){return this._assertValid(),this._textModel.getValueInRange(u)}getLineLength(u){return this._assertValid(),this._textModel.getLineLength(u)}get length(){this._assertValid();let u=this._textModel.getLineCount(),n=this._textModel.getLineLength(u);return new Gt(u-1,n)}getEOL(){return this._assertValid(),this._textModel.getEOL()}getPositionAt(u){return this._assertValid(),this._textModel.getPositionAt(u)}getValueInRange(u){return this._assertValid(),this._textModel.getValueInRange(u)}getVersionId(){return this._version}dangerouslyGetUnderlyingModel(){return this._textModel}}var Vc;(function(u){function n(h,g,p=!0){if(!h.isInlineEdit&&!h.action?.uri&&h.action?.kind==="edit")return $h.create(h,g,h.action);else return Yh.create(h,g,p)}u.create=n})(Vc||(Vc={}));function XR(u){let n=u?.kind==="edit"?{...u,alternativeAction:fm.toString(u.alternativeAction),target:u?.target.uri.toString()}:{...u,target:u?.target.uri.toString()};return JSON.stringify(n)}class Cw{constructor(u,n,h,g){this._data=u,this.identity=n,this.hint=h,this.originalTextRef=g}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===cr.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;else if(this.action?.kind==="jumpTo")return t.fromPositions(this.action.position);throw new H("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 XR(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(u,n,h,g,p){let m=this.action?.kind==="edit"?this.action.textReplacement.text:"";this._data.reportInlineEditShown(u,m,n,h,this.computeEditKind(g),p)}reportPartialAccept(u,n,h){this._data.reportPartialAccept(u,n,h)}reportEndOfLife(u){this._data.reportEndOfLife(u)}setEndOfLifeReason(u){this._data.setEndOfLifeReason(u)}setIsPreceeded(u){this._data.setIsPreceeded(u.partialAccepts)}setNotShownReasonIfNotSet(u){this._data.setNotShownReason(u)}getSourceCompletion(){return this._sourceInlineCompletion}setRenameProcessingInfo(u){this._data.setRenameProcessingInfo(u)}withAction(u){return this._data.withAction(u)}addPerformanceMarker(u){this._data.addPerformanceMarker(u)}}class bm{constructor(){this._onDispose=so(this),this.onDispose=this._onDispose,this._jumpedTo=j(this,!1),this._refCount=0,this.id="InlineCompletionIdentity"+bm.idCounter++}static{this.idCounter=0}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){if(this._refCount--,this._refCount===0)this._onDispose.trigger(void 0)}setJumpTo(u){this._jumpedTo.set(!0,u)}}class eu{static create(u){return new eu(t.lift(u.range),u.content,u.style)}constructor(u,n,h){this.range=u,this.content=n,this.style=h}withEdit(u,n){let h=new V(n.getOffset(this.range.getStartPosition()),n.getOffset(this.range.getEndPosition())),g=II([h],u)[0];if(!g)return;let p=n.getRange(g);return new eu(p,this.content,this.style)}}class $h extends Cw{static create(u,n,h){let g=new bm,p=n.getTransformer(),m=h.insertText.replace(/\r\n|\r|\n/g,n.getEOL()),_=QR(new ui(p.getOffsetRange(h.range),m),n),v=_.removeCommonSuffixAndPrefix(n.getValue()),S=p.getTextReplacement(_),C=u.hint?eu.create(u.hint):void 0;return new $h(_,v,S,S.range,h.snippetInfo,u.additionalTextEdits,u,g,C,n)}constructor(u,n,h,g,p,m,_,v,S,C){super(_,v,S,C);this._edit=u,this._trimmedEdit=n,this._textEdit=h,this._originalRange=g,this.snippetInfo=p,this.additionalTextEdits=m,this.isInlineEdit=!1}get action(){return{kind:"edit",textReplacement:this.getSingleTextEdit(),snippetInfo:this.snippetInfo,stringEdit:new xo([this._trimmedEdit]),alternativeAction:void 0,target:this.originalTextRef}}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(u){return new $h(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,u,this.hint,this.originalTextRef)}withEdit(u,n){if(!this.originalTextRef.targets(n))return this;let h=II([this._edit.replaceRange],u);if(h.length===0)return;let g=new ui(h[0],this._textEdit.text),p=Id(n),m=p.getTextReplacement(g),_=this.hint;if(_){if(_=_.withEdit(u,p),!_)return}let v=g.removeCommonSuffixAndPrefix(n.getValue());return new $h(g,v,m,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,_,this.originalTextRef)}canBeReused(u,n){let h=this._textEdit.range;return!!h&&h.containsPosition(n)&&this.isVisible(u,n)&&Gt.ofRange(h).isGreaterThanOrEqualTo(Gt.ofRange(this._originalRange))}isVisible(u,n){let h=this.getSingleTextEdit();return mm(h,this._originalRange,u,n)}computeEditKind(u){return Sw(new xo([this._edit]),u)}get editRange(){return this.getSingleTextEdit().range}}class Yh extends Cw{static create(u,n,h=!0){let g,p=[];if(u.action?.kind==="edit"){let v=h?YR(n,u.action.range,u.action.insertText):JR(n,u.action.range,u.action.insertText),S=Po.fromStringEdit(v,n),C=v.isEmpty()?new gt(new t(1,1,1,1),""):S.toReplacement(n);p=v.replacements.map((L)=>{let R=t.fromPositions(n.getPositionAt(L.replaceRange.start),n.getTransformer().getPosition(L.replaceRange.endExclusive)),Z=n.getValueInRange(R);return _m.create(L,Z)}),g={kind:"edit",snippetInfo:u.action.snippetInfo,stringEdit:v,textReplacement:C,alternativeAction:u.action.alternativeAction,target:n}}else if(u.action?.kind==="jumpTo")g={kind:"jumpTo",position:u.action.position,offset:n.getTransformer().getOffset(u.action.position),target:n};else if(g=void 0,!u.hint)throw new H("InlineEditItem: action is undefined and no hint is provided");let m=new bm,_=u.hint?eu.create(u.hint):void 0;return new Yh(g,u,m,p,_,!1,n.getVersionId(),n)}constructor(u,n,h,g,p,m=!1,_,v){super(n,h,p,v);this._action=u,this._edits=g,this._lastChangePartOfInlineEdit=m,this._inlineEditModelVersion=_,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get action(){return this._action}withIdentity(u){return new Yh(this._action,this._data,u,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion,this.originalTextRef)}canBeReused(u,n){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===u.getVersionId()}withEdit(u,n){if(!this.originalTextRef.targets(n))return this;return this._applyTextModelChanges(u,this._edits,n)}_applyTextModelChanges(u,n,h){let g=Id(h),p=!1,m=this._inlineEditModelVersion,_,v=Cr.snapshot(h);if(this.action?.kind==="edit"){if(n=n.map((Z)=>Z.applyTextModelChanges(u)),n.some((Z)=>Z.edit===void 0))return;let C=h.getVersionId();if(p=n.some((Z)=>Z.lastChangeUpdatedEdit),p)m=C??-1;if(C===null||m+20<C)return;if(n=n.filter((Z)=>!Z.edit.isEmpty),n.length===0)return;let L=new xo(n.map((Z)=>Z.edit));_={kind:"edit",textReplacement:g.getTextEdit(L).toReplacement(new tp(h)),snippetInfo:this.snippetInfo,stringEdit:L,alternativeAction:this.action.alternativeAction,target:v}}else if(this.action?.kind==="jumpTo"){let C=this.action.offset,L=u.applyToOffsetOrUndefined(C);if(L===void 0)return;_={kind:"jumpTo",position:g.getPosition(L),offset:L,target:v}}else _=void 0;let S=this.hint;if(S){if(S=S.withEdit(u,g),!S)return}return new Yh(_,this._data,this.identity,n,S,p,m,v)}computeEditKind(u){let n=this.action?.kind==="edit"?this.action.stringEdit:void 0;if(!n)return;return Sw(n,u)}}function YR(u,n,h){let g=u.getEOL(),p=u.getValueOfRange(n),m=h.replace(/\r\n|\r|\n/g,g),S=pg.getDefault().computeDiff(Ci(p),Ci(m),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:50}).changes.flatMap((Z)=>Z.innerChanges??[]);function C(Z,Y){let Q=Gt.fromPosition(Y.getStartPosition());return Gt.ofRange(Y).createRange(Q.addToPosition(Z))}let L=new Cl(m);return new xo(S.map((Z)=>{let Y=C(n.getStartPosition(),Z.originalRange),Q=u.getTransformer().getOffsetRange(Y),ee=L.getValueOfRange(Z.modifiedRange),oe=new ui(Q,ee),ne=u.getValueOfRange(Y);return eN(oe,ne,S.length,u)}))}function JR(u,n,h){return new xo([new ui(u.getTransformer().getOffsetRange(n),h)])}class _m{static create(u,n){let h=No(u.newText,n),g=Ms(u.newText,n),p=u.newText.substring(h,u.newText.length-g);return new _m(u,p,h,g)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(u,n,h,g,p=!1){this._edit=u,this._trimmedNewText=n,this._prefixLength=h,this._suffixLength=g,this._lastChangeUpdatedEdit=p}applyTextModelChanges(u){let n=this._clone();return n._applyTextModelChanges(u),n}_clone(){return new _m(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(u){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new H("UpdatedInnerEdits: No edit to apply changes to");let n=this._applyChanges(this._edit,u);if(!n){this._edit=void 0;return}this._edit=n.edit,this._lastChangeUpdatedEdit=n.editHasChanged}_applyChanges(u,n){let h=u.replaceRange.start,g=u.replaceRange.endExclusive,p=u.newText,m=!1,_=this._prefixLength>0||this._suffixLength>0;for(let v=n.replacements.length-1;v>=0;v--){let S=n.replacements[v],C=S.newText.length>0&&S.replaceRange.isEmpty;if(C&&!_&&S.replaceRange.start===h&&p.startsWith(S.newText)){h+=S.newText.length,p=p.substring(S.newText.length),g+=S.newText.length,m=!0;continue}if(C&&_&&S.replaceRange.start===h+this._prefixLength&&this._trimmedNewText.startsWith(S.newText)){g+=S.newText.length,m=!0,this._prefixLength+=S.newText.length,this._trimmedNewText=this._trimmedNewText.substring(S.newText.length);continue}if(S.newText.length===0&&S.replaceRange.length>0&&S.replaceRange.start>=h+this._prefixLength&&S.replaceRange.endExclusive<=g-this._suffixLength){g-=S.replaceRange.length,m=!0;continue}if(S.equals(u)){m=!0,h=S.replaceRange.endExclusive,p="";continue}if(S.replaceRange.start>g)continue;if(S.replaceRange.endExclusive<h){h+=S.newText.length-S.replaceRange.length,g+=S.newText.length-S.replaceRange.length;continue}return}if(this._trimmedNewText.length===0&&h+this._prefixLength===g-this._suffixLength)return{edit:new ui(new V(h+this._prefixLength,h+this._prefixLength),""),editHasChanged:!0};return{edit:new ui(new V(h,g),p),editHasChanged:m}}}function QR(u,n){let h=n.getEOL();if(u.replaceRange.isEmpty&&u.newText.includes(h))u=Yk(u,n);return u}function eN(u,n,h,g){let p=g.getEOL();if(u.newText.endsWith(p)&&n.endsWith(p))u=new ui(u.replaceRange.deltaEnd(-p.length),u.newText.slice(0,-p.length));if(h===1&&u.replaceRange.isEmpty&&u.newText.includes(p)){let m=g.getTransformer().getPosition(u.replaceRange.start);if(g.getLineLength(m.lineNumber)!==0)u=Yk(u,g)}if(h===1){let m=No(n,u.newText),_=Ms(n.slice(m),u.newText.slice(m));if(m+_===n.length)return new ui(u.replaceRange.deltaStart(m).deltaEnd(-_),u.newText.substring(m,u.newText.length-_));if(m+_===u.newText.length)return new ui(u.replaceRange.deltaStart(m).deltaEnd(-_),"")}return u}function Yk(u,n){if(!u.replaceRange.isEmpty)throw new H("Unexpected original range");if(u.replaceRange.start===0)return u;let h=n.getEOL(),g=n.getTransformer().getPosition(u.replaceRange.start),{column:p,lineNumber:m}=g;if(p===1&&m>1&&u.newText.endsWith(h)&&!u.newText.startsWith(h))return new ui(u.replaceRange.delta(-1),h+u.newText.slice(0,-h.length));return u}function Jk(u,n){let h=new $0,g=new R0(h,(C)=>n.getLanguageConfiguration(C)),p=new I0(new Qk([u]),g),m=D0(p,[],void 0,!0),_="",v=u.getLineContent();function S(C,L){if(C.kind===2){if(S(C.openingBracket,L),L=vn(L,C.openingBracket.length),C.child)S(C.child,L),L=vn(L,C.child.length);if(C.closingBracket)S(C.closingBracket,L),L=vn(L,C.closingBracket.length);else{let Z=g.getSingleLanguageBracketTokens(C.openingBracket.languageId).findClosingTokenText(C.openingBracket.bracketIds);_+=Z}}else if(C.kind===3);else if(C.kind===0||C.kind===1)_+=v.substring(dy(L),dy(vn(L,C.length)));else if(C.kind===4)for(let R of C.children)S(R,L),L=vn(L,R.length)}return S(m,fo),_}class Qk{constructor(u){this.lines=u,this.tokenization={getLineTokens:(n)=>this.lines[n-1]}}getLineCount(){return this.lines.length}getLineLength(u){return this.lines[u-1].getLineContent().length}}var Dt;(function(u){u.Jump="jump",u.Accept="accept",u.Inactive="inactive"})(Dt||(Dt={}));class Wo{static create(u,n=!1){return new Wo(new ci(B(u),u),n)}constructor(u,n=!1){this.event=u,this.alternativeAction=n}}var Qe;(function(u){u.GhostText="ghostText",u.Custom="custom",u.SideBySide="sideBySide",u.Deletion="deletion",u.InsertionInline="insertionInline",u.InsertionMultiLine="insertionMultiLine",u.WordReplacements="wordReplacements",u.LineReplacement="lineReplacement",u.Collapsed="collapsed",u.JumpTo="jumpTo"})(Qe||(Qe={}));class zc{constructor(u,n,h,g,p,m,_,v){this.cursorColumnDistance=u,this.cursorLineDistance=n,this.lineCountOriginal=h,this.lineCountModified=g,this.characterCountOriginal=p,this.characterCountModified=m,this.disjointReplacements=_,this.sameShapeReplacements=v,this.longDistanceHintVisible=void 0,this.longDistanceHintDistance=void 0,this.isForAnotherDocument=void 0}setLongDistanceViewData(u,n){this.longDistanceHintVisible=!0,this.longDistanceHintDistance=Math.abs(n-u)}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}}}class vm{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(u,n){let h=new vm;for(let g of u)h._nodes.add(g);for(let g of u){let p=n(g);if(p.length>0){let m=new Set;for(let _ of p)m.add(_);h._outgoingEdges.set(g,m)}}return h}removeCycles(){let u=[],n=new Set,h=new Set,g=[],p=(m)=>{n.add(m),h.add(m);let _=this._outgoingEdges.get(m);if(_){for(let v of _)if(!n.has(v))p(v);else if(h.has(v))u.push(v),g.push({from:m,to:v})}h.delete(m)};for(let m of this._nodes)if(!n.has(m))p(m);for(let{from:m,to:_}of g){let v=this._outgoingEdges.get(m);if(v)v.delete(_)}return{foundCycles:u}}getOutgoing(u){let n=this._outgoingEdges.get(u);return n?Array.from(n):[]}}function d1(u,n,h,g,p,m){let _=y1("icr"),v=new qe,S=void 0,C={...g,requestUuid:_},L=iN(n,h),R=r2(u,(ne)=>ne.groupId),Z=vm.from(u,(ne)=>ne.yieldsToGroupIds?.flatMap((de)=>R.get(de)??[])??[]),{foundCycles:Y}=Z.removeCycles();if(Y.length>0)vt(Error(`Inline completions: cyclic yield-to dependency detected. Path: ${Y.map((ne)=>ne.toString?ne.toString():""+ne).join(" -> ")}`));let Q=0,ee=new qv(async(ne)=>{try{if(Q++,v.token.isCancellationRequested)return;let de=Z.getOutgoing(ne);for(let Ne of de){let Me=await ee.get(Ne);if(Me)for(let Oe of Me.inlineSuggestions.items){if(Oe.isInlineEdit||typeof Oe.insertText!=="string"&&Oe.insertText!==void 0)return;if(Oe.insertText!==void 0){let Ce=new gt(t.lift(Oe.range)??L,Oe.insertText);if(mm(Ce,void 0,h,n))return}}}let ge,_e=Date.now();try{ge=await ne.provideInlineCompletions(h,n,C,v.token)}catch(Ne){vt(Ne);return}let Se=Date.now();if(!ge)return;let ae=[],pe=new A1(ge,ae,ne);if(pe.addRef(),yw(v.token,()=>pe.removeRef(S)),v.token.isCancellationRequested)return;for(let Ne of ge.items){let Me=tN(Ne,pe,L,h,m,C,p,{startTime:_e,endTime:Se});if(Bc.is(Me)){Me.logError();continue}ae.push(Me)}return pe}finally{Q--}}),oe=oi.fromPromisesResolveOrder(u.map((ne)=>ee.get(ne))).filter(ni);return{contextWithUuid:C,get didAllProvidersReturn(){return Q===0},lists:oe,cancelAndDispose:(ne)=>{if(S!==void 0)return;S=ne,v.dispose(!0)}}}function yw(u,n){if(u.isCancellationRequested)return n(),i.None;else{let h=u.onCancellationRequested(()=>{h.dispose(),n()});return{dispose:()=>h.dispose()}}}function tN(u,n,h,g,p,m,_,v){let S,C=u.uri?q.revive(u.uri):void 0;if(u.jumpToPosition!==void 0)S={kind:"jumpTo",position:s.lift(u.jumpToPosition),uri:C};else if(u.insertText!==void 0){let L,R,Z=u.range?t.lift(u.range):h;if(typeof u.insertText==="string"){if(L=u.insertText,p&&u.completeBracketPairs){L=r1(L,Z.getStartPosition(),g,p);let Y=L.length-u.insertText.length;if(Y!==0)Z=new t(Z.startLineNumber,Z.startColumn,Z.endLineNumber,Z.endColumn+Y)}R=void 0}else if("snippet"in u.insertText){let Y=u.insertText.snippet.length;if(p&&u.completeBracketPairs){u.insertText.snippet=r1(u.insertText.snippet,Z.getStartPosition(),g,p);let ee=u.insertText.snippet.length-Y;if(ee!==0)Z=new t(Z.startLineNumber,Z.startColumn,Z.endLineNumber,Z.endColumn+ee)}let Q=new bo().parse(u.insertText.snippet);if(Q.children.length===1&&Q.children[0]instanceof fi)L=Q.children[0].value,R=void 0;else L=Q.toString(),R={snippet:u.insertText.snippet,range:Z}}else ic(u.insertText);S={kind:"edit",range:Z,insertText:L,snippetInfo:R,uri:C,alternativeAction:void 0}}else if(S=void 0,!u.hint)return Bc.message("Inline completion has no insertText, jumpToPosition nor hint.");return new w1(S,u.hint,u.additionalTextEdits||Hk(),u,n,m,u.isInlineEdit??!1,u.supportsRename??!1,_,v,u.correlationId)}class w1{get action(){return this._action}constructor(u,n,h,g,p,m,_,v,S,C,L){this._action=u,this.hint=n,this.additionalTextEdits=h,this.sourceInlineCompletion=g,this.source=p,this.context=m,this.isInlineEdit=_,this.supportsRename=v,this._requestInfo=S,this._providerRequestInfo=C,this._correlationId=L,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 I1,this._viewData={editorType:S.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(u,n,h,g,p,m){if(this.updateShownDuration(h),this._didShow||this._didReportEndOfLife)return;this.addPerformanceMarker("shown"),this._didShow=!0,this._editKind=p,this._viewData.viewKind=h,this._viewData.renderData=g,this._timeUntilShown=m-this._requestInfo.startTime,this._timeUntilActuallyShown=Date.now()-this._requestInfo.startTime;let _=new Tg(g.lineCountModified,g.lineCountOriginal,g.characterCountModified,g.characterCountOriginal);if(this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,n,_),this.sourceInlineCompletion.shownCommand)await u.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(u,n,h){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=h.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*h.ratio,1),this._partiallyAcceptedSinceOriginal.count+=h.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,u,n)}reportEndOfLife(u){if(this._didReportEndOfLife)return;if(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),!u)u=this._lastSetEndOfLifeReason??{kind:vl.Ignored,userTypingDisagreed:!1,supersededBy:void 0};if(u.kind===vl.Rejected&&!this._didShow)u={kind:vl.Ignored,userTypingDisagreed:!1,supersededBy:void 0};if(u.kind===vl.Rejected&&this.source.provider.handleRejection)this.source.provider.handleRejection(this.source.inlineSuggestions,this.sourceInlineCompletion);if(this.source.provider.handleEndOfLifetime){let n={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((h)=>h.toString()).join(","),...this._viewData.renderData?.getData()};this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions,this.sourceInlineCompletion,u,n)}}setIsPreceeded(u){if(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=u}setNotShownReason(u){this._notShownReason??=u}setEndOfLifeReason(u){this.reportInlineEditHidden(),this._lastSetEndOfLifeReason=u}updateShownDuration(u){let n=Date.now();if(!this._showStartTime)this._showStartTime=n;let h=u===Qe.Collapsed;if(!h&&this._showUncollapsedStartTime===void 0)this._showUncollapsedStartTime=n;if(h&&this._showUncollapsedStartTime!==void 0)this._showUncollapsedDuration+=n-this._showUncollapsedStartTime}reportInlineEditHidden(){if(this._showStartTime===void 0)return;let u=Date.now();if(this._shownDuration+=u-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime===void 0)return;this._showUncollapsedDuration+=u-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0}setRenameProcessingInfo(u){if(this._renameInfo)throw new H("Rename info has already been set.");this._renameInfo=u}withAction(u){return this._action=u,this}addPerformanceMarker(u){this.performance.mark(u)}}class I1{constructor(){this.markers=[],this.markers.push({name:"start",timeStamp:Date.now()})}mark(u){this.markers.push({name:u,timeStamp:Date.now()})}toString(){let u=[];for(let n=1;n<this.markers.length;n++){let h=this.markers[n].timeStamp-this.markers[n-1].timeStamp;u.push({[this.markers[n].name]:h})}return JSON.stringify(u)}}var Pt;(function(u){u.TextEditor="textEditor",u.DiffEditor="diffEditor",u.Notebook="notebook"})(Pt||(Pt={}));class A1{constructor(u,n,h){this.inlineSuggestions=u,this.inlineSuggestionsData=n,this.provider=h,this.refCount=0}addRef(){this.refCount++}removeRef(u={kind:"other"}){if(this.refCount--,this.refCount===0){for(let n of this.inlineSuggestionsData)n.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,u)}else if(this.refCount<0)X(new H(`InlineSuggestionList (provider=${this.provider.providerId?.toString()}) refCount went negative (${this.refCount}) — more removeRef than addRef calls.`))}}function iN(u,n){let h=n.getWordAtPosition(u),g=n.getLineMaxColumn(u.lineNumber);return h?new t(u.lineNumber,h.startColumn,u.lineNumber,g):t.fromPositions(u,u.with(void 0,g))}function r1(u,n,h,g){let p=h.getLineContent(n.lineNumber),m=ui.replace(new V(n.column-1,p.length),u),v=h.tokenization.tokenizeLinesAt(n.lineNumber,[m.replace(p)])?.[0].sliceZeroCopy(m.getRangeAfterReplace());if(!v)return u;return Jk(v,g)}var oN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},wm=function(u,n){return function(h,g){n(h,g,u)}},kd=new M("renameInputVisible",!1,e(1460,"Whether the rename input widget is visible"));new M("renameInputFocused",!1,e(1461,"Whether the rename input widget is focused"));var Sm=class u{constructor(n,h,g,p,m,_){this._editor=n,this._acceptKeybindings=h,this._themeService=g,this._keybindingService=p,this._logService=_,this.allowEditorOverflow=!0,this._disposables=new d,this._visibleContextKey=kd.bindTo(m),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new dn,this._inputWithButton=new K1,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((v)=>{if(v.hasChanged(59))this._updateFont()})),this._disposables.add(g.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!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 xw(this._domNode,{fontInfo:this._editor.getOption(59),onFocusChange:(n)=>{this._inputWithButton.input.value=n,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{if(this._renameCandidateListView?.focusedCandidate!==void 0)this._isEditingRenameCandidate=!0;if(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());return this._domNode}_updateStyles(n){if(!this._domNode)return;let h=n.getColor(hu),g=n.getColor(oy);this._domNode.style.backgroundColor=String(n.getColor(Ho)??""),this._domNode.style.boxShadow=h?` 0 0 8px 2px ${h}`:"",this._domNode.style.border=g?`1px solid ${g}`:"",this._domNode.style.color=String(n.getColor(b1)??"");let p=n.getColor(v1);this._inputWithButton.domNode.style.backgroundColor=String(n.getColor(S0)??""),this._inputWithButton.input.style.backgroundColor=String(n.getColor(S0)??""),this._inputWithButton.domNode.style.borderWidth=p?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=p?"solid":"none",this._inputWithButton.domNode.style.borderColor=p?.toString()??"none"}_updateFont(){if(this._domNode===void 0)return;Fe(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);let n=this._editor.getOption(59);this._label.style.fontSize=`${this._computeLabelFontSize(n.fontSize)}px`}_computeLabelFontSize(n){return n*0.8}getPosition(){if(!this._visible)return null;if(!this._editor.hasModel()||!this._editor.getDomNode())return null;let n=la(this.getDomNode().ownerDocument.body),h=kt(this._editor.getDomNode()),g=this._getTopForPosition();this._nPxAvailableAbove=g+h.top,this._nPxAvailableBelow=n.height-this._nPxAvailableAbove;let p=this._editor.getOption(75),{totalHeight:m}=Kc.getLayoutInfo({lineHeight:p}),_=this._nPxAvailableBelow>m*6?[2,1]:[1,2];return{position:this._position,preference:_}}beforeRender(){let[n,h]=this._acceptKeybindings;return this._label.innerText=e(1462,"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(n)?.getLabel(),this._keybindingService.lookupKeybinding(h)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(n){if(n===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;Fe(this._renameCandidateListView),Fe(this._nPxAvailableAbove!==void 0),Fe(this._nPxAvailableBelow!==void 0);let h=_l(this._inputWithButton.domNode),g=_l(this._label),p;if(n===2)p=this._nPxAvailableBelow;else p=this._nPxAvailableAbove;this._renameCandidateListView.layout({height:p-g-h,width:Ao(this._inputWithButton.domNode)})}acceptInput(n){this._trace("invoking acceptInput"),this._currentAcceptInput?.(n)}cancelInput(n,h){this._currentCancelInput?.(n)}focusNextRenameSuggestion(){if(!this._renameCandidateListView?.focusNext())this._inputWithButton.input.value=this._currentName}focusPreviousRenameSuggestion(){if(!this._renameCandidateListView?.focusPrevious())this._inputWithButton.input.value=this._currentName}getInput(n,h,g,p,m){let{start:_,end:v}=this._getSelection(n,h);this._renameCts=m;let S=new d;if(this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,p===void 0)this._inputWithButton.button.style.display="none";else this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=p,this._requestRenameCandidates(h,!1),S.add(c(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(h,!0))),S.add(c(this._inputWithButton.button,E.KEY_DOWN,(L)=>{let R=new Xe(L);if(R.equals(3)||R.equals(10))R.stopPropagation(),R.preventDefault(),this._requestRenameCandidates(h,!0)}));this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",g),this._position=new s(n.startLineNumber,n.startColumn),this._currentName=h,this._inputWithButton.input.value=h,this._inputWithButton.input.setAttribute("selectionStart",_.toString()),this._inputWithButton.input.setAttribute("selectionEnd",v.toString()),this._inputWithButton.input.size=Math.max((n.endColumn-n.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),S.add(N(()=>{this._renameCts=void 0,m.dispose(!0)})),S.add(N(()=>{if(this._renameCandidateProvidersCts!==void 0)this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0})),S.add(N(()=>this._candidates.clear()));let C=new aa;return C.p.finally(()=>{S.dispose(),this._hide()}),this._currentCancelInput=(L)=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),C.complete(L),!0),this._currentAcceptInput=(L)=>{this._trace("invoking _currentAcceptInput"),Fe(this._renameCandidateListView!==void 0);let R=this._renameCandidateListView.nCandidates,Z,Y,Q=this._renameCandidateListView.focusedCandidate;if(Q!==void 0)this._trace("using new name from renameSuggestion"),Z=Q,Y={k:"renameSuggestion"};else this._trace("using new name from inputField"),Z=this._inputWithButton.input.value,Y=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"};if(Z===h||Z.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),C.complete({newName:Z,wantsPreview:g&&L,stats:{source:Y,nRenameSuggestions:R,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},S.add(m.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),S.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget"))),this._show(),C.p}_requestRenameCandidates(n,h){if(this._requestRenameCandidatesOnce===void 0)return;if(this._renameCandidateProvidersCts!==void 0)this._renameCandidateProvidersCts.dispose(!0);if(Fe(this._renameCts),this._inputWithButton.buttonState!=="stop"){this._renameCandidateProvidersCts=new qe;let g=h?sg.Invoke:sg.Automatic,p=this._requestRenameCandidatesOnce(g,this._renameCandidateProvidersCts.token);if(p.length===0){this._inputWithButton.setSparkleButton();return}if(!h)this._hadAutomaticRenameSuggestionsInvocation=!0;this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(p,n,this._renameCts.token)}}_getSelection(n,h){Fe(this._editor.hasModel());let g=this._editor.getSelection(),p=0,m=h.length;if(!t.isEmpty(g)&&!t.spansMultipleLines(g)&&t.containsRange(n,g))p=Math.max(0,g.startColumn-n.startColumn),m=Math.min(n.endColumn,g.endColumn)-n.startColumn;return{start:p,end:m}}_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(n,h,g){let p=(...C)=>this._trace("_updateRenameCandidates",...C);p("start");let m=await lc(Promise.allSettled(n),g);if(this._inputWithButton.setSparkleButton(),m===void 0){p("returning early - received updateRenameCandidates results - undefined");return}let _=m.flatMap((C)=>C.status==="fulfilled"&&ni(C.value)?C.value:[]);p(`received updateRenameCandidates results - total (unfiltered) ${_.length} candidates.`);let v=Rs(_,(C)=>C.newSymbolName);p(`distinct candidates - ${v.length} candidates.`);let S=v.filter(({newSymbolName:C})=>C.trim().length>0&&C!==this._inputWithButton.input.value&&C!==h&&!this._candidates.has(C));if(p(`valid distinct candidates - ${_.length} candidates.`),S.forEach((C)=>this._candidates.add(C.newSymbolName)),S.length<1){p("returning early - no valid distinct candidates");return}p("setting candidates"),this._renameCandidateListView.setCandidates(S),p("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 n=this._editor.getVisibleRanges(),h;if(n.length>0)h=n[0].startLineNumber;else this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),h=Math.max(1,this._position.lineNumber-5);return this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(h)}_trace(...n){this._logService.trace("RenameWidget",...n)}};Sm=oN([wm(2,ze),wm(3,me),wm(4,G),wm(5,Ye)],Sm);class xw{constructor(u,n){this._disposables=new d,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=n.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=n.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",u.appendChild(this._listContainer),this._listWidget=xw._createListWidget(this._listContainer,this._candidateViewHeight,n.fontInfo),this._disposables.add(this._listWidget.onDidChangeFocus((h)=>{if(h.elements.length===1)n.onFocusChange(h.elements[0].newSymbolName)},this._disposables)),this._disposables.add(this._listWidget.onDidChangeSelection((h)=>{if(h.elements.length===1)n.onSelectionChange()},this._disposables)),this._disposables.add(this._listWidget.onDidBlur((h)=>{this._listWidget.setFocus([])})),this._listWidget.style(vd({listInactiveFocusForeground:hd,listInactiveFocusBackground:pd}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:u,width:n}){this._availableHeight=u,this._minimumWidth=n}setCandidates(u){this._listWidget.splice(0,0,u);let n=this._pickListHeight(this._listWidget.length),h=this._pickListWidth(u);this._listWidget.layout(n,h),this._listContainer.style.height=`${n}px`,this._listContainer.style.width=`${h}px`,jo(e(1463,"Received {0} rename suggestions",u.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 u=this._listWidget.getSelectedElements()[0];if(u!==void 0)return u.newSymbolName;let n=this._listWidget.getFocusedElements()[0];if(n!==void 0)return n.newSymbolName;return}focusNext(){if(this._listWidget.length===0)return!1;let u=this._listWidget.getFocus();if(u.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;else if(u[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;else{this._listWidget.focusNext();let n=this._listWidget.getFocus()[0];return this._listWidget.reveal(n),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;let u=this._listWidget.getFocus();if(u.length===0){this._listWidget.focusLast();let n=this._listWidget.getFocus()[0];return this._listWidget.reveal(n),!0}else if(u[0]===0)return this._listWidget.setFocus([]),!1;else{this._listWidget.focusPrevious();let n=this._listWidget.getFocus()[0];return this._listWidget.reveal(n),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){let{totalHeight:u}=Kc.getLayoutInfo({lineHeight:this._lineHeight});return u}_pickListHeight(u){let n=this._candidateViewHeight*u,h=7;return Math.min(n,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(u){let n=Math.ceil(Math.max(...u.map((g)=>g.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+n+10)}static _createListWidget(u,n,h){let g=new class{getTemplateId(m){return"candidate"}getHeight(m){return n}},p=new class{constructor(){this.templateId="candidate"}renderTemplate(m){return new Kc(m,h)}renderElement(m,_,v){v.populate(m)}disposeTemplate(m){m.dispose()}};return new So("NewSymbolNameCandidates",u,g,[p],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class K1{constructor(){this._buttonHoverContent="",this._disposables=new d,this._onDidInputChange=this._disposables.add(new o),this.onDidInputChange=this._onDidInputChange.event}get domNode(){if(!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",e(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=e(1465,"Generate New Name Suggestions"),this._buttonCancelHoverText=e(1466,"Cancel"),this._buttonHoverContent=this._buttonGenHoverText,this._disposables.add($i().setupDelayedHover(this._buttonNode,()=>({content:this._buttonHoverContent,style:1}))),this._domNode.appendChild(this._buttonNode),this._disposables.add(c(this.input,E.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(c(this.input,E.KEY_DOWN,(u)=>{let n=new Xe(u);if(n.keyCode===15||n.keyCode===17)this._onDidInputChange.fire()})),this._disposables.add(c(this.input,E.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(c(this.input,E.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(c(this.input,E.BLUR,()=>{this.domNode.style.outline="none"}));return this._domNode}get input(){return Fe(this._inputNode),this._inputNode}get button(){return Fe(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=_o(x.sparkle),mn(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??=_o(x.stopCircle),mn(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()}}class Kc{static{this._PADDING=2}constructor(u,n){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${n.lineHeight}px`,this._domNode.style.padding=`${Kc._PADDING}px`;let h=document.createElement("div");h.style.display="flex",h.style.alignItems="center",h.style.width=h.style.height=`${n.lineHeight*0.8}px`,this._domNode.appendChild(h),this._icon=_o(x.sparkle),this._icon.style.display="none",h.appendChild(this._icon),this._label=document.createElement("div"),_n(this._label,n),this._domNode.appendChild(this._label),u.appendChild(this._domNode)}populate(u){this._updateIcon(u),this._updateLabel(u)}_updateIcon(u){let n=!!u.tags?.includes(t1.AIGenerated);this._icon.style.display=n?"inherit":"none"}_updateLabel(u){this._label.innerText=u.newSymbolName}static getLayoutInfo({lineHeight:u}){return{totalHeight:u+Kc._PADDING*2}}dispose(){}}var nN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ed=function(u,n){return function(h,g){n(h,g,u)}},Iw;class du{constructor(u,n,h){this.model=u,this.position=n,this._providerRenameIdx=0,this._providers=h.ordered(u)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(u){let n=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){let g=this._providers[this._providerRenameIdx];if(!g.resolveRenameLocation)break;let p=await g.resolveRenameLocation(this.model,this.position,u);if(!p)continue;if(p.rejectReason){n.push(p.rejectReason);continue}return p}this._providerRenameIdx=0;let h=this.model.getWordAtPosition(this.position);if(!h)return{range:t.fromPositions(this.position),text:"",rejectReason:n.length>0?n.join(`
|
|
38
|
-
`):void 0};return{range:new t(this.position.lineNumber,h.startColumn,this.position.lineNumber,h.endColumn),text:h.word,rejectReason:n.length>0?n.join(`
|
|
39
|
-
`):void 0}}async provideRenameEdits(u,n){return this._provideRenameEdits(u,this._providerRenameIdx,[],n)}async _provideRenameEdits(u,n,h,g){let p=this._providers[n];if(!p)return{edits:[],rejectReason:h.join(`
|
|
40
|
-
`)};let m=await p.provideRenameEdits(this.model,this.position,u,g);if(!m)return this._provideRenameEdits(u,n+1,h.concat(e(1449,"No result.")),g);else if(m.rejectReason)return this._provideRenameEdits(u,n+1,h.concat(m.rejectReason),g);return m}}function G1(u,n){return u.ordered(n).length>0}async function J1(u,n,h,g,p){return new du(n,h,u).provideRenameEdits(g,p??ye.None)}async function rN(u,n,h,g){let p=new du(n,h,u),m=await p.resolveRenameLocation(ye.None);if(m?.rejectReason)return{edits:[],rejectReason:m.rejectReason};return p.provideRenameEdits(g,ye.None)}var Qs=class u{static{Iw=this}static{this.ID="editor.contrib.renameController"}static get(n){return n.getContribution(Iw.ID)}constructor(n,h,g,p,m,_,v,S){this.editor=n,this._instaService=h,this._notificationService=g,this._bulkEditService=p,this._progressService=m,this._logService=_,this._configService=v,this._languageFeaturesService=S,this._disposableStore=new d,this._cts=new qe,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Sm,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){let n=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new qe,!this.editor.hasModel()){n("editor has no model");return}let h=this.editor.getPosition(),g=new du(this.editor.getModel(),h,this._languageFeaturesService.renameProvider);if(!g.hasProvider()){n("skeleton has no provider");return}let p=new Ss(this.editor,5,void 0,this._cts.token),m;try{n("resolving rename location");let Q=g.resolveRenameLocation(p.token);this._progressService.showWhile(Q,250),m=await Q,n("resolved rename location")}catch(Q){if(Q instanceof Lr)n("resolve rename location cancelled",JSON.stringify(Q,null,"\t"));else if(n("resolve rename location failed",Q instanceof Error?Q:JSON.stringify(Q,null,"\t")),typeof Q==="string"||Mr(Q))pi.get(this.editor)?.showMessage(Q||e(1450,"An unknown error occurred while resolving rename location"),h);return}finally{p.dispose()}if(!m){n("returning early - no loc");return}if(m.rejectReason){n(`returning early - rejected with reason: ${m.rejectReason}`,m.rejectReason),pi.get(this.editor)?.showMessage(m.rejectReason,h);return}if(p.token.isCancellationRequested){n("returning early - cts1 cancelled");return}let _=new Ss(this.editor,5,m.range,this._cts.token),v=this.editor.getModel(),S=this._languageFeaturesService.newSymbolNamesProvider.all(v),C=await Promise.all(S.map(async(Q)=>[Q,await Q.supportsAutomaticNewSymbolNamesTriggerKind??!1])),L=(Q,ee)=>{let oe=C.slice();if(Q===sg.Automatic)oe=oe.filter(([ne,de])=>de);return oe.map(([ne])=>ne.provideNewSymbolNames(v,m.range,Q,ee))};n("creating rename input field and awaiting its result");let R=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),Z=await this._renameWidget.getInput(m.range,m.text,R,S.length>0?L:void 0,_);if(n("received response from rename input field"),typeof Z==="boolean"){if(n(`returning early - rename input field response - ${Z}`),Z)this.editor.focus();_.dispose();return}this.editor.focus(),n("requesting rename edits");let Y=lc(g.provideRenameEdits(Z.newName,_.token),_.token).then(async(Q)=>{if(!Q){n("returning early - no rename edits result");return}if(!this.editor.hasModel()){n("returning early - no model after rename edits are provided");return}if(Q.rejectReason){n(`returning early - rejected with reason: ${Q.rejectReason}`),this._notificationService.info(Q.rejectReason);return}this.editor.setSelection(t.fromPositions(this.editor.getSelection().getPosition())),n("applying edits"),this._bulkEditService.apply(Q,{editor:this.editor,showPreview:Z.wantsPreview,label:e(1451,"Renaming '{0}' to '{1}'",m?.text,Z.newName),code:"undoredo.rename",quotableLabel:e(1452,"Renaming {0} to {1}",m?.text,Z.newName),respectAutoSaveConfig:!0,reason:Yn.rename(m?.text,Z.newName)}).then((ee)=>{if(n("edits applied"),ee.ariaSummary)zn(e(1453,"Successfully renamed '{0}' to '{1}'. Summary: {2}",m.text,Z.newName,ee.ariaSummary))}).catch((ee)=>{n(`error when applying edits ${JSON.stringify(ee,null,"\t")}`),this._notificationService.error(e(1454,"Rename failed to apply edits")),this._logService.error(ee)})},(Q)=>{n("error when providing rename edits",JSON.stringify(Q,null,"\t")),this._notificationService.error(e(1455,"Rename failed to compute edits")),this._logService.error(Q)}).finally(()=>{_.dispose()});return n("returning rename operation"),this._progressService.showWhile(Y,250),Y}acceptRenameInput(n){this._renameWidget.acceptInput(n)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}};Qs=Iw=nN([Ed(1,A),Ed(2,yt),Ed(3,Sc),Ed(4,Hs),Ed(5,Ye),Ed(6,Qv),Ed(7,z)],Qs);class eE extends U{constructor(){super({id:"editor.action.rename",label:b(1457,"Rename Symbol"),precondition:T.and(r.writable,r.hasRenameProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1},canTriggerInlineEdits:!0})}runCommand(u,n){let h=u.get(Te),[g,p]=Array.isArray(n)&&n||[void 0,void 0];if(q.isUri(g)&&s.isIPosition(p))return h.openCodeEditor({resource:g},h.getActiveCodeEditor()).then((m)=>{if(!m)return;m.setPosition(p),m.invokeWithinContext((_)=>(this.reportTelemetry(_,m),this.run(_,m)))},X);return super.runCommand(u,n)}run(u,n){let h=u.get(Ye),g=Qs.get(n);if(g)return h.trace("[RenameAction] got controller, running..."),g.run();return h.trace("[RenameAction] returning early - controller missing"),Promise.resolve()}}fe(Qs.ID,Qs,4);O(eE);var Lw=en.bindToContribution(Qs.get);K(new Lw({id:"acceptRenameInput",precondition:kd,handler:(u)=>u.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:r.focus,primary:3}}));K(new Lw({id:"acceptRenameInputWithPreview",precondition:T.and(kd,T.has("config.editor.rename.enablePreview")),handler:(u)=>u.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:r.focus,primary:2051}}));K(new Lw({id:"cancelRenameInput",precondition:kd,handler:(u)=>u.cancelRenameInput(),kbOpts:{weight:199,kbExpr:r.focus,primary:9,secondary:[1033]}}));lt(class u extends Sn{constructor(){super({id:"focusNextRenameSuggestion",title:{...b(1458,"Focus Next Rename Suggestion")},precondition:kd,keybinding:[{primary:18,weight:199}]})}run(n){let h=n.get(Te).getFocusedCodeEditor();if(!h)return;let g=Qs.get(h);if(!g)return;g.focusNextRenameSuggestion()}});lt(class u extends Sn{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...b(1459,"Focus Previous Rename Suggestion")},precondition:kd,keybinding:[{primary:16,weight:199}]})}run(n){let h=n.get(Te).getFocusedCodeEditor();if(!h)return;let g=Qs.get(h);if(!g)return;g.focusPreviousRenameSuggestion()}});Mo("_executeDocumentRenameProvider",function(u,n,h,...g){let[p]=g;Fe(typeof p==="string");let{renameProvider:m}=u.get(z);return rN(m,n,h,p)});Mo("_executePrepareRename",async function(u,n,h){let{renameProvider:g}=u.get(z),m=await new du(n,h,g).resolveRenameLocation(ye.None);if(m?.rejectReason)throw Error(m.rejectReason);return m});pt.as(Dr.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:6,description:e(1456,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var sN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Uc=function(u,n){return function(h,g){n(h,g,u)}},Jr;(function(u){u.no="no",u.yes="yes",u.maybe="maybe"})(Jr||(Jr={}));(function(u){function n(h){switch(h){case"no":return u.no;case"yes":return u.yes;case"maybe":return u.maybe;default:return u.no}}u.fromString=n})(Jr||(Jr={}));class tE{constructor(){}inferRename(u,n,h,g){let p=new t(n.startLineNumber,1,n.endLineNumber,u.getLineMaxColumn(n.endLineNumber)),m=n.startColumn-p.startColumn,_=p.endColumn-n.endColumn,v=u.getValueInRange(p),S=u.getValueInRange(new t(p.startLineNumber,p.startColumn,p.startLineNumber,p.startColumn+m))+h+u.getValueInRange(new t(p.endLineNumber,p.endColumn-_,p.endLineNumber,p.endColumn)),C=[],L=[],R=void 0,Z=void 0,Y=void 0,Q=u.getOffsetAt(p.getStartPosition()),{changes:ee}=new ca(new Zv(v),new Zv(S)).ComputeDiff(!0);if(ee.length===0)return;let oe=[];for(let ge of ee){if(oe.length===0){oe.push(ge);continue}let _e=oe[oe.length-1],Se=ge.originalStart-(_e.originalStart+_e.originalLength);if(Se>0){let ae=Q+_e.originalStart+_e.originalLength,pe=u.getPositionAt(ae),Ne=u.getWordAtPosition(pe);if(Ne){let Me=u.getOffsetAt(new s(pe.lineNumber,Ne.startColumn)),Oe=u.getOffsetAt(new s(pe.lineNumber,Ne.endColumn)),Ce=ae+Se;if(Me<=ae&&Ce<=Oe&&Me<=Ce&&Ce<=Oe){_e.originalLength=ge.originalStart+ge.originalLength-_e.originalStart,_e.modifiedLength=ge.modifiedStart+ge.modifiedLength-_e.modifiedStart;continue}}}oe.push(ge)}let ne=0;for(let ge of oe){let _e=v.substring(ge.originalStart,ge.originalStart+ge.originalLength),Se=S.substring(ge.modifiedStart,ge.modifiedStart+ge.modifiedLength),ae=Q+ge.originalStart,pe=u.getPositionAt(ae),Ne=ae+ge.originalLength,Me=u.getPositionAt(Ne),Oe=t.fromPositions(pe,Me),Ce=Se.length-ge.originalLength;if(/\s/.test(_e)){C.push(new gt(Oe,Se)),ne+=Ce;continue}if(_e.length>0){g.lastIndex=0;let Ze=g.exec(_e);if(Ze===null||Ze.index!==0||Ze[0].length!==_e.length){C.push(new gt(Oe,Se)),ne+=Ce;continue}}if(/\s/.test(Se)){C.push(new gt(Oe,Se)),ne+=Ce;continue}if(Se.length>0){g.lastIndex=0;let Ze=g.exec(Se);if(Ze===null||Ze.index!==0||Ze[0].length!==Se.length){C.push(new gt(Oe,Se)),ne+=Ce;continue}}let He=u.getWordAtPosition(pe);if(He===null){C.push(new gt(Oe,Se)),ne+=Ce;continue}let it=ge.originalStart+1,Ve=ge.originalLength===0&&ge.modifiedLength>0,rt;if(Ve&&it===He.endColumn&&He.endColumn>He.startColumn)rt=this.getTokenAtPosition(u,new s(pe.lineNumber,He.startColumn));else rt=this.getTokenAtPosition(u,pe);if(He.startColumn!==rt.range.startColumn||He.endColumn!==rt.range.endColumn){C.push(new gt(Oe,Se)),ne+=Ce;continue}if(rt.type===0){let Ze=u.getValueInRange(rt.range);if(Ze.length===0){C.push(new gt(Oe,Se)),ne+=Ce;continue}if(R===void 0)R=Ze;else if(R!==Ze){C.push(new gt(Oe,Se)),ne+=Ce;continue}let Ft=u.getOffsetAt(rt.range.getStartPosition())-Q+ne,nt=u.getOffsetAt(rt.range.getEndPosition())-Q+ne;if(Ze=S.substring(Ft,nt+Ce),Ze.length===0){C.push(new gt(Oe,Se)),ne+=Ce;continue}if(Z===void 0)Z=Ze;else if(Z!==Ze){C.push(new gt(Oe,Se)),ne+=Ce;continue}if(Y===void 0)Y=rt.range.getStartPosition();if(R!==void 0&&Z!==void 0&&R.length>0&&Z.length>0&&R!==Z)L.push(new gt(rt.range,Z));else L.push(new gt(Oe,Se));ne+=Ce}else C.push(new gt(Oe,Se)),ne+=Se.length-ge.originalLength}if(R===void 0||Z===void 0||Y===void 0||R.length===0||Z.length===0||R===Z)return;g.lastIndex=0;let de=g.exec(R);if(de===null||de.index!==0||de[0].length!==R.length)return;if(g.lastIndex=0,de=g.exec(Z),de===null||de.index!==0||de[0].length!==Z.length)return;return{renames:{edits:L,position:Y,oldName:R,newName:Z},others:{edits:C}}}getTokenAtPosition(u,n){u.tokenization.tokenizeIfCheap(n.lineNumber);let h=u.tokenization.getLineTokens(n.lineNumber),g=h.findTokenIndexAtOffset(n.column-1);return{type:h.getStandardTokenType(g),range:new t(n.lineNumber,1+h.getStartOffset(g),n.lineNumber,1+h.getEndOffset(g))}}}class gu{static create(u,n){let h=u.getFocusedCodeEditor();if(h===null)return;if(h.getModel()!==n)return;return new gu(h,n.getVersionId())}constructor(u,n){this.editor=u,this.versionId=n}equals(u){if(u===void 0)return!1;return this.editor===u.editor&&this.versionId===u.versionId}}class iE{constructor(u,n,h,g,p,m,_,v,S){if(this._result=void 0,this._commandService=n,this._textModel=g,this._state=p,this._requestUuid=h,this._cancellationTokenSource=new qe,v===void 0||S===void 0){this._promise=J1(u.renameProvider,g,m,_,this._cancellationTokenSource.token);return}else this._promise=this.sendNesRenameRequest(g,m,S,_,v)}get requestUuid(){return this._requestUuid}isValid(u){return this._state.equals(gu.create(u,this._textModel))}cancel(){this._cancellationTokenSource.cancel()}async getCount(){if(this._cancellationTokenSource.token.isCancellationRequested)return 0;let u=await this.getResult();if(u===void 0||this._cancellationTokenSource.token.isCancellationRequested)return 0;return u.edits.length}async getWorkspaceEdit(){return this.getResult()}async getResult(){if(this._cancellationTokenSource.token.isCancellationRequested)return;if(this._result===void 0)this._result=await this._promise;if(this._result.rejectReason||this._cancellationTokenSource.token.isCancellationRequested)return;return this._result}async sendNesRenameRequest(u,n,h,g,p){try{let m=await this._commandService.executeCommand("github.copilot.nes.postRename",u.uri,n,h,g,p);if(m===void 0)return{rejectReason:"Rename failed",edits:[]};let _=[];for(let v of m)for(let S of v.changes){let C=new t(S.range.start.line+1,S.range.start.character+1,S.range.end.line+1,S.range.end.character+1),L=new Cc(v.file,new gt(C,S.newText??g));_.push(L)}return{edits:_}}catch(m){return{rejectReason:"Rename failed",edits:[]}}}}var Cm=class u extends i{constructor(n,h,g,p,m,_){super();this._commandService=n,this._languageFeaturesService=h,this._languageConfigurationService=g,this._renameSymbolTrackerService=m,this._codeEditorService=_,this._renameInferenceEngine=new tE,this._renameRunnable=void 0,this._register(Le.registerCommand(Wb,async(v,S,C)=>{if(C===void 0||!C.isValid(this._codeEditorService))return;try{let L=await C.getWorkspaceEdit();if(L===void 0)return;p.apply(L,{reason:S})}finally{if(this._renameRunnable===C)this._renameRunnable=void 0}}))}async proposeRenameRefactoring(n,h,g){if(!h.supportsRename||h.action?.kind!=="edit"||g.selectedSuggestionInfo)return h;if(!G1(this._languageFeaturesService.renameProvider,n))return h;let p=gu.create(this._codeEditorService,n);if(p===void 0)return h;let m=Date.now(),_=h.action.textReplacement,v=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()),S=this._renameInferenceEngine.inferRename(n,_.range,_.text,v.wordDefinition);if(S===void 0||S.renames.edits.length===0)return h;let{oldName:C,newName:L,position:R,edits:Z}=S.renames,Y=this._renameSymbolTrackerService.trackedWord.get(),Q=void 0;if(Y!==void 0&&Y.model===n&&Y.originalWord===C&&Y.currentWord===L)Q=Y.currentRange;let ee=!1,oe=await $M(this.checkRenamePrecondition(h,n,R,C,L,Q),100,()=>{ee=!0}),ne=this.isRenamePossible(h,oe,p,n);if(h.setRenameProcessingInfo({createdRename:ne,duration:Date.now()-m,timedOut:ee,droppedOtherEdits:ne?S.others.edits.length:void 0,droppedRenameEdits:ne?Z.length-1:void 0}),!ne)return h;if(this._renameRunnable===void 0)this._renameRunnable=new iE(this._languageFeaturesService,this._commandService,h.requestUuid,n,p,R,L,Q,Q!==void 0?C:void 0);let de=Yn.inlineCompletionAccept({nes:h.isInlineEdit,requestUuid:h.requestUuid,providerId:h.source.provider.providerId,languageId:n.getLanguageId(),correlationId:h.getSourceCompletion().correlationId}),ge={id:Wb,title:e(1274,"Rename"),arguments:[de,this._renameRunnable]},_e={label:e(1275,"Rename"),icon:x.replaceAll,command:ge,count:this._renameRunnable.getCount()},Se={kind:"edit",range:Z[0].range,insertText:Z[0].text,snippetInfo:h.snippetInfo,alternativeAction:_e,uri:n.uri},ae=Cr.snapshot(n);return Vc.create(h.withAction(Se),ae,!1)}async checkRenamePrecondition(n,h,g,p,m,_){let v={canRename:Jr.no,timedOut:!1};try{let S=await this._commandService.executeCommand("github.copilot.nes.prepareRename",h.uri,g,p,m,n.requestUuid,_);if(S===void 0)return v;else if(typeof S==="string"){let C=Jr.fromString(S);if(C===Jr.yes||C===Jr.maybe)return{canRename:C,oldName:p,onOldState:!1};else return{canRename:C,timedOut:!1}}else return S}catch(S){return v}}isRenamePossible(n,h,g,p){if(h===void 0||h.canRename===Jr.no)return!1;if(!g.equals(gu.create(this._codeEditorService,p)))return!1;if(this._renameRunnable===void 0)return!0;if(this._renameRunnable.requestUuid===n.requestUuid)return!1;else return this._renameRunnable.cancel(),this._renameRunnable=void 0,!0}};Cm=sN([Uc(0,Ue),Uc(1,z),Uc(2,ht),Uc(3,Sc),Uc(4,q1),Uc(5,Te)],Cm);var aN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},qc=function(u,n){return function(h,g){n(h,g,u)}},kw,ym=class u extends i{static{kw=this}static{this._requestId=0}constructor(n,h,g,p,m,_,v,S,C,L,R){super();if(this._textModel=n,this._versionId=h,this._debounceValue=g,this._cursorPosition=p,this._languageConfigurationService=_,this._logService=v,this._configurationService=S,this._instantiationService=C,this._contextKeyService=L,this._textModelService=R,this._updateOperation=this._register(new ce),this._state=qk(this,{initial:()=>({inlineCompletions:Vo.createEmpty(),suggestWidgetInlineCompletions:Vo.createEmpty()}),disposeFinal:(Z)=>{Z.inlineCompletions.dispose(),Z.suggestWidgetInlineCompletions.dispose()},changeTracker:s2(()=>({versionId:this._versionId})),update:(Z,Y,Q)=>{let ee=xo.compose(Q.changes.map((oe)=>oe.change?k1(oe.change.changes):xo.empty).filter(ni));if(ee.isEmpty())return Y;try{return{inlineCompletions:Y.inlineCompletions.createStateWithAppliedEdit(ee,this._textModel),suggestWidgetInlineCompletions:Y.suggestWidgetInlineCompletions.createStateWithAppliedEdit(ee,this._textModel)}}finally{Y.inlineCompletions.dispose(),Y.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,(Z)=>Z.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,(Z)=>Z.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=f(this,(Z)=>{this._versionId.read(Z),this._updateOperation.clear();return}),this._loadingCount=j(this,0),this.loading=this._loadingCount.map(this,(Z)=>Z>0),this._dataChannelTelemetryService=this._instantiationService.createInstance(gm),this._loggingEnabled=HI("editor.inlineSuggest.logFetch",!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=HI("editor.inlineSuggest.emptyResponseInformation",!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(Wc.cast(),"editor.inlineSuggest.logFetch.commandId")),this._renameProcessor=this._store.add(this._instantiationService.createInstance(Cm)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store),m)this._updateCompletionsEnablement(m),this._register(this._configurationService.onDidChangeConfiguration((Z)=>{if(Z.affectsConfiguration(m))this._updateCompletionsEnablement(m)}));this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(n){let h=this._configurationService.getValue(n);if(!cn(h))this._completionsEnabled=void 0;else this._completionsEnabled=h}_log(n){if(this._loggingEnabled.get())this._logService.info(Pk(n));this._structuredFetchLogger.log(n)}fetch(n,h,g,p,m,_,v){let S=this._cursorPosition.get(),C=new oE(S,g,this._textModel.getVersionId(),new Set(n)),L=g.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(C))return this._updateOperation.value.promise;else if(L?.request?.satisfies(C))return Promise.resolve(!0);let R=!!this._updateOperation.value;this._updateOperation.clear();let Z=new qe,Y=(async()=>{let ee=new d;this._loadingCount.set(this._loadingCount.get()+1,void 0);let oe=!1,ne=()=>{if(!oe)oe=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0)};ee.add(new ke(()=>ne(),1e4)).schedule();let ge=n.filter((Se)=>Se.providerId),_e=new nE(g,v,ge);try{let Se=this._debounceValue.get(this._textModel),ae=u1(n.map((nt)=>nt.debounceDelayMs),wM(Vi))??Se;if(R||m&&g.triggerKind===cr.Automatic)await gw(ae,Z.token);if(Z.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==C.versionId)return _e.setNoSuggestionReasonIfNotSet("canceled:beforeFetch"),!1;let Ne=kw._requestId++;if(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())this._log({sourceId:"InlineCompletions.fetch",kind:"start",requestId:Ne,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:g.triggerKind,suggestInfo:g.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:h});let Me=new Date,Oe=d1(n,this._cursorPosition.get(),this._textModel,g,v,this._languageConfigurationService);yw(Z.token,()=>Oe.cancelAndDispose({kind:"tokenCancellation"}));let Ce=!1,He=!1,it=[];for await(let nt of Oe.lists){if(!nt)continue;nt.addRef(),ee.add(N(()=>nt.removeRef(nt.inlineSuggestionsData.length===0?{kind:"empty"}:{kind:"notTaken"})));for(let ft of nt.inlineSuggestionsData){if(He=!0,!g.includeInlineEdits&&(ft.isInlineEdit||ft.showInlineEditMenu)){ft.setNotShownReason("notInlineEditRequested");continue}if(!g.includeInlineCompletions&&!(ft.isInlineEdit||ft.showInlineEditMenu)){ft.setNotShownReason("notInlineCompletionRequested");continue}ft.addPerformanceMarker("providerReturned");let Wt=ft.action?.uri,St,wt;if(Wt&&Wt.toString()!==this._textModel.uri.toString()){let It=await this._textModelService.createModelReference(Wt);St=It.object.textEditorModel,wt=It}else St=this._textModel,wt=void 0;let Bt=Cr.snapshot(St),Ht=Vc.create(ft,Bt);if(wt){let It=Ar(Ht.identity.onDispose,()=>{wt?.dispose(),It.dispose()})}if(ft.addPerformanceMarker("itemCreated"),it.push(Ht),!Ht.isInlineEdit&&!Ht.showInlineEditMenu&&g.triggerKind===cr.Automatic){if(Ht.isVisible(this._textModel,this._cursorPosition.get()))Ce=!0}}if(Ce)break}it.forEach((nt)=>nt.addPerformanceMarker("providersResolved"));let Ve=await Promise.all(it.map(async(nt)=>this._renameProcessor.proposeRenameRefactoring(this._textModel,nt,g)));if(Ve.forEach((nt)=>nt.addPerformanceMarker("renameProcessed")),Oe.cancelAndDispose({kind:"lostRace"}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let nt=Oe.didAllProvidersReturn,ft=void 0;if(Z.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==C.versionId)ft="canceled";let Wt=Ve.map((St)=>{let wt=St.getSourceCompletion();if(wt.doNotLog)return;let Bt={insertText:wt.insertText,range:wt.range,additionalTextEdits:wt.additionalTextEdits,uri:wt.uri,command:wt.command,gutterMenuLinkAction:wt.gutterMenuLinkAction,shownCommand:wt.shownCommand,completeBracketPairs:wt.completeBracketPairs,isInlineEdit:wt.isInlineEdit,showInlineEditMenu:wt.showInlineEditMenu,showRange:wt.showRange,warning:wt.warning,hint:wt.hint,supportsRename:wt.supportsRename,correlationId:wt.correlationId,jumpToPosition:wt.jumpToPosition};return{...Bv(Bt,(Ht)=>{if(t.isIRange(Ht))return t.lift(Ht).toString();if(s.isIPosition(Ht))return s.lift(Ht).toString();if(Uv.is(Ht))return{$commandId:Ht.id};return Ht}),$providerId:St.source.provider.providerId?.toString()}}).filter((St)=>St!==void 0);this._log({sourceId:"InlineCompletions.fetch",kind:"end",requestId:Ne,durationMs:Date.now()-Me.getTime(),error:ft,result:Wt,time:Date.now(),didAllProvidersReturn:nt})}if(_e.setRequestUuid(Oe.contextWithUuid.requestUuid),He){if(_e.setHasProducedSuggestion(),Ve.length>0&&Z.token.isCancellationRequested)Ve.forEach((nt)=>nt.setNotShownReasonIfNotSet("canceled:whileAwaitingOtherProviders"))}else if(Z.token.isCancellationRequested)_e.setNoSuggestionReasonIfNotSet("canceled:whileFetching");else{let nt=this._contextKeyService.getContextKeyValue("completionsQuotaExceeded");_e.setNoSuggestionReasonIfNotSet(nt?"completionsQuotaExceeded":"noSuggestion")}let rt=g.earliestShownDateTime-Date.now();if(rt>0)await gw(rt,Z.token);if(Ve.forEach((nt)=>nt.addPerformanceMarker("minShowDelayPassed")),Z.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==C.versionId||_.get()){let nt=Z.token.isCancellationRequested?"canceled:afterMinShowDelay":this._store.isDisposed?"canceled:disposed":this._textModel.getVersionId()!==C.versionId?"canceled:documentChanged":_.get()?"canceled:userJumped":"unknown";return Ve.forEach((ft)=>ft.setNotShownReasonIfNotSet(nt)),!1}let Ze=new Date;this._debounceValue.update(this._textModel,Ze.getTime()-Me.getTime());let Ft=this._cursorPosition.get();this._updateOperation.clear(),Je((nt)=>{let ft=this._state.get();if(g.selectedSuggestionInfo)this._state.set({inlineCompletions:Vo.createEmpty(),suggestWidgetInlineCompletions:ft.suggestWidgetInlineCompletions.createStateWithAppliedResults(Ve,C,this._textModel,Ft,p)},nt);else this._state.set({inlineCompletions:ft.inlineCompletions.createStateWithAppliedResults(Ve,C,this._textModel,Ft,p),suggestWidgetInlineCompletions:Vo.createEmpty()},nt);ft.inlineCompletions.dispose(),ft.suggestWidgetInlineCompletions.dispose()})}finally{ee.dispose(),ne(),this._sendInlineCompletionsRequestTelemetry(_e)}return!0})(),Q=new rE(C,Z,Y);return this._updateOperation.value=Q,Y}clear(n){if(this._store.isDisposed)return;this._updateOperation.clear();let h=this._state.get();this._state.set({inlineCompletions:Vo.createEmpty(),suggestWidgetInlineCompletions:Vo.createEmpty()},n),h.inlineCompletions.dispose(),h.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let n=this.inlineCompletions.get(),h=this.suggestWidgetInlineCompletions.get();if(!h)return;Je((g)=>{if(!n||(h.request?.versionId??-1)>(n.request?.versionId??-1)){n?.dispose();let p=this._state.get();this._state.set({inlineCompletions:h.clone(),suggestWidgetInlineCompletions:Vo.createEmpty()},g),p.inlineCompletions.dispose(),p.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(g)})}seedWithCompletion(n,h){let g=this._state.get();this._state.set({inlineCompletions:new Vo([n],void 0),suggestWidgetInlineCompletions:Vo.createEmpty()},h),g.inlineCompletions.dispose(),g.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(n){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue("isRunningUnificationExperiment"))return;if(n.requestUuid===void 0||n.hasProducedSuggestion)return;if(!RI(this._completionsEnabled,this._textModel.getLanguageId()))return;if(!n.providers.some((g)=>vw(g.providerId?.extensionId)))return;let h={opportunityId:n.requestUuid,noSuggestionReason:n.noSuggestionReason??"unknown",extensionId:"vscode-core",extensionVersion:"0.0.0",groupId:"empty",shown:!1,skuPlan:n.requestInfo.sku?.plan,skuType:n.requestInfo.sku?.type,editorType:n.requestInfo.editorType,requestReason:n.requestInfo.reason,typingInterval:n.requestInfo.typingInterval,typingIntervalCharacterCount:n.requestInfo.typingIntervalCharacterCount,languageId:n.requestInfo.languageId,selectedSuggestionInfo:!!n.context.selectedSuggestionInfo,availableProviders:n.providers.map((g)=>g.providerId?.toString()).filter(ni).join(","),...Gk(n.providers.some((g)=>vw(g.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};Zk(this._dataChannelTelemetryService,h)}clearSuggestWidgetInlineCompletions(n){if(this._updateOperation.value?.request.context.selectedSuggestionInfo)this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};ym=kw=aN([qc(5,ht),qc(6,Ye),qc(7,re),qc(8,A),qc(9,G),qc(10,Rn)],ym);class oE{constructor(u,n,h,g){this.position=u,this.context=n,this.versionId=h,this.providers=g}satisfies(u){return this.position.equals(u.position)&&kI(this.context.selectedSuggestionInfo,u.context.selectedSuggestionInfo,mf())&&(u.context.triggerKind===cr.Automatic||this.context.triggerKind===cr.Explicit)&&this.versionId===u.versionId&&dN(u.providers,this.providers)}}class nE{constructor(u,n,h){this.context=u,this.requestInfo=n,this.providers=h,this.hasProducedSuggestion=!1}setRequestUuid(u){this.requestUuid=u}setNoSuggestionReasonIfNotSet(u){this.noSuggestionReason??=u}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}}function dN(u,n){return[...u].every((h)=>n.has(h))}class rE{constructor(u,n,h){this.request=u,this.cancellationTokenSource=n,this.promise=h}dispose(){this.cancellationTokenSource.cancel()}}class Vo extends i{static createEmpty(){return new Vo([],void 0)}constructor(u,n){super();this.inlineCompletions=u,this.request=n;for(let h of this.inlineCompletions)h.addRef();this._register({dispose:()=>{for(let h of this.inlineCompletions)h.removeRef()}})}_findById(u){return this.inlineCompletions.find((n)=>n.identity===u)}_findByHash(u){return this.inlineCompletions.find((n)=>n.hash===u)}createStateWithAppliedEdit(u,n){let h=this.inlineCompletions.map((g)=>g.withEdit(u,n)).filter(ni);return new Vo(h,this.request)}createStateWithAppliedResults(u,n,h,g,p){let m=void 0;if(p){let S=this._findById(p);if(S&&S.canBeReused(h,n.position)){m=S;let C=u.find((L)=>L.hash===S.hash);if(C)u=lN(C,u);else u=[S,...u]}}let _=m?!m.isInlineEdit:u.some((S)=>!S.isInlineEdit&&S.isVisible(h,g)),v=[];for(let S of u){let C=this._findByHash(S.hash),L;if(C&&C!==S)L=S.withIdentity(C.identity),S.setIsPreceeded(C),C.setEndOfLifeReason({kind:vl.Ignored,userTypingDisagreed:!1,supersededBy:S.getSourceCompletion()});else L=S;if(_!==L.isInlineEdit)v.push(L)}return v.sort(jn((S)=>S.showInlineEditMenu,XC)),v=cN(v,(S)=>S.semanticId),new Vo(v,n)}clone(){return new Vo(this.inlineCompletions,this.request)}}function cN(u,n){let h=new Set;return u.filter((g)=>{let p=n(g);if(h.has(p))return!1;return h.add(p),!0})}function lN(u,n){let h=n.indexOf(u);if(h>-1)return[u,...n.slice(0,h),...n.slice(h+1)];return n}class os extends i{static{this.MAX_SESSION_GAP_MS=3000}static{this.MIN_SESSION_DURATION_MS=1000}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=300000}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){if(this._cacheInvalidated||this._cachedTypingIntervalResult===null)this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1;return this._cachedTypingIntervalResult}constructor(u){super();this._textModel=u,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent((n)=>this._updateTypingSpeed(n)))}_updateTypingSpeed(u){let n=Date.now();if(!this._isUserTyping(u)){this._finalizeCurrentSession();return}if(this._currentSession&&n-this._lastChangeTime>os.MAX_SESSION_GAP_MS)this._finalizeCurrentSession();if(!this._currentSession)this._currentSession={startTime:n,endTime:n,characterCount:0};this._currentSession.endTime=n,this._currentSession.characterCount+=this._getActualCharacterCount(u),this._lastChangeTime=n,this._cacheInvalidated=!0}_getActualCharacterCount(u){let n=0;for(let h of u.changes)n+=Math.max(h.text.length,h.rangeLength);return n}_isUserTyping(u){if(!u.detailedReasons||u.detailedReasons.length===0)return!1;for(let n of u.detailedReasons)if(this._isUserTypingReason(n))return!0;return!1}_isUserTypingReason(u){if(u.metadata.isUndoing||u.metadata.isRedoing)return!1;switch(u.metadata.source){case"cursor":{let n=u.metadata.kind;return n==="type"||n==="compositionType"||n==="compositionEnd"}default:return!1}}_finalizeCurrentSession(){if(!this._currentSession)return;if(this._currentSession.endTime-this._currentSession.startTime>=os.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0){if(this._typingSessions.push(this._currentSession),this._typingSessions.length>os.SESSION_HISTORY_LIMIT)this._typingSessions.shift()}this._currentSession=null}_calculateTypingInterval(){if(this._currentSession){let u={...this._currentSession};if(u.endTime-u.startTime>=os.MIN_SESSION_DURATION_MS&&u.characterCount>0){let h=[...this._typingSessions,u];return this._calculateSpeedFromSessions(h)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(u){if(u.length===0)return{averageInterval:0,characterCount:0};let n=[...u].sort((C,L)=>L.endTime-C.endTime),h=Date.now()-os.TYPING_SPEED_WINDOW_MS,g=n.filter((C)=>C.endTime>h),p=n.splice(g.length),m=Hv(g.map((C)=>C.characterCount));for(let C=0;C<p.length&&m<os.MIN_CHARS_FOR_RELIABLE_SPEED;C++)g.push(p[C]),m+=p[C].characterCount;let _=Hv(g.map((C)=>C.endTime-C.startTime));if(_===0||m<=1)return{averageInterval:0,characterCount:m};let v=Math.max(1,m-1),S=_/v;return{averageInterval:Math.round(S),characterCount:m}}dispose(){this._finalizeCurrentSession(),super.dispose()}}var hN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},ea=function(u,n){return function(h,g){n(h,g,u)}},xm=class u extends i{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(n,h,g,p,m,_,v,S,C,L,R,Z,Y,Q,ee,oe){super();this.textModel=n,this._selectedSuggestItem=h,this._textModelVersionId=g,this._positions=p,this._debounceValue=m,this._enabled=_,this._isSuppressed=v,this._editor=S,this._instantiationService=C,this._commandService=L,this._languageConfigurationService=R,this._accessibilityService=Z,this._languageFeaturesService=Y,this._codeEditorService=Q,this._inlineCompletionsService=ee,this._isActive=j(this,!1),this._onlyRequestInlineEditsSignal=so(this),this._forceUpdateExplicitlySignal=so(this),this._noDelaySignal=so(this),this._fetchSpecificProviderSignal=so(this),this._selectedInlineCompletionId=j(this,void 0),this.primaryPosition=f(this,(ae)=>this._positions.read(ae)[0]??new s(1,1)),this.allPositions=f(this,(ae)=>this._positions.read(ae)),this.sku=j(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=f(this,(ae)=>{let pe=this.state.read(ae);if(!pe||!pe.inlineSuggestion)return!1;return Dw(this._editor,pe.inlineSuggestion,ae)}),this._onDidAccept=this._register(new o),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=o1({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(ae,pe)=>(pe.didUndo=ae.didChange(this._textModelVersionId)&&!!ae.change?.isUndoing,!0)}},(ae,pe)=>{let Ne=this._textModelVersionId.read(ae);if(Ne!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===Ne-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&pe.didUndo)return this._lastAcceptedInlineCompletionInfo=void 0,!0;return!1}),this._preserveCurrentCompletionReasons=new Set([rs.Redo,rs.Undo,rs.AcceptWord]),this.dontRefetchSignal=so(this),this._fetchInlineCompletionsPromise=o1({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:cr.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:""}),handleChange:(ae,pe)=>{if(ae.didChange(this._textModelVersionId)){if(this._preserveCurrentCompletionReasons.has(this._getReason(ae.change)))pe.preserveCurrentCompletion=!0;let Ne=ae.change?.detailedReasons??[];pe.changeReason=Ne.length>0?Ne[0].getType():"",pe.textChange=!0}else if(ae.didChange(this._forceUpdateExplicitlySignal))pe.preserveCurrentCompletion=!0,pe.inlineCompletionTriggerKind=cr.Explicit;else if(ae.didChange(this.dontRefetchSignal))pe.dontRefetch=!0;else if(ae.didChange(this._onlyRequestInlineEditsSignal))pe.onlyRequestInlineEdits=!0;else if(ae.didChange(this._fetchSpecificProviderSignal))pe.provider=ae.change?.provider,pe.changeHint=ae.change?.changeHint;return!0}}},(ae,pe)=>{if(this._source.clearOperationOnTextModelChange.read(ae),this._noDelaySignal.read(ae),this.dontRefetchSignal.read(ae),this._onlyRequestInlineEditsSignal.read(ae),this._forceUpdateExplicitlySignal.read(ae),this._fetchSpecificProviderSignal.read(ae),!(!this._isSuppressed()&&(this._enabled.read(ae)&&this._selectedSuggestItem.read(ae)||this._isActive.read(ae))&&(!this._inlineCompletionsService.isSnoozing()||pe.inlineCompletionTriggerKind===cr.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(ae);let Me=this._source.suggestWidgetInlineCompletions.read(void 0),Oe=this._selectedSuggestItem.read(ae);if(this._shouldShowOnSuggestConflict.read(void 0))Oe=void 0;if(Me&&!Oe)this._source.seedInlineCompletionsWithSuggestWidget();if(pe.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(ae)&&pe.inlineCompletionTriggerKind!==cr.Explicit){Je((Wt)=>{this._source.clear(Wt)});return}let Ce="";if(pe.provider)Ce+="providerOnDidChange";else if(pe.inlineCompletionTriggerKind===cr.Explicit)Ce+="explicit";if(pe.changeReason)Ce+=Ce.length>0?`:${pe.changeReason}`:pe.changeReason;let He=this._typing.getTypingInterval(),it={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:Ce,typingInterval:He.averageInterval,typingIntervalCharacterCount:He.characterCount,availableProviders:[],sku:this.sku.read(void 0)},Ve={triggerKind:pe.inlineCompletionTriggerKind,selectedSuggestionInfo:Oe?.toSelectedSuggestionInfo(),includeInlineCompletions:!pe.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(ae),requestIssuedDateTime:it.startTime,earliestShownDateTime:it.startTime+(pe.inlineCompletionTriggerKind===cr.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:pe.changeHint};if(Ve.triggerKind===cr.Automatic&&pe.textChange){if(this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId)Ve={...Ve,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit}}let rt=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,Ze=pe.preserveCurrentCompletion||rt?.forwardStable?rt:void 0,Ft=this._jumpedToId.map((Wt)=>!!Wt&&Wt===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),nt=pe.provider?{providers:[pe.provider],label:"single:"+pe.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},ft=this.getAvailableProviders(nt.providers);return it.availableProviders=ft.map((Wt)=>Wt.providerId).filter(ni),this._source.fetch(ft,nt.label,Ve,Ze?.identity,pe.shouldDebounce,Ft,it)}),this._inlineSuggestionItems=In({owner:this},(ae)=>{let pe=this._source.inlineCompletions.read(ae);if(!pe)return;let Ne=this.primaryPosition.read(ae),Me=void 0,Oe=[];for(let Ce of pe.inlineCompletions)if(!Ce.isInlineEdit){if(Ce.isVisible(this.textModel,Ne))Oe.push(Ce)}else Me=Ce;if(Oe.length!==0)Me=void 0;return{inlineCompletions:Oe,inlineEdit:Me}}),this._inlineCompletionItems=In({owner:this,equalsFn:Hh()},(ae)=>this._inlineSuggestionItems.read(ae)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=f(this,(ae)=>{let pe=this._selectedInlineCompletionId.read(ae),Ne=this._inlineCompletionItems.read(ae),Me=this._selectedInlineCompletionId===void 0?-1:Ne.findIndex((Oe)=>Oe.semanticId===pe);if(Me===-1)return this._selectedInlineCompletionId.set(void 0,void 0),0;return Me}),this.selectedInlineCompletion=f(this,(ae)=>{let pe=this._inlineCompletionItems.read(ae),Ne=this.selectedInlineCompletionIndex.read(ae);return pe[Ne]}),this.activeCommands=In({owner:this,equalsFn:Hh()},(ae)=>this.selectedInlineCompletion.read(ae)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=f(this,(ae)=>{if(this.lastTriggerKind.read(ae)===cr.Explicit)return this._inlineCompletionItems.read(ae).length;else return}),this._hasVisiblePeekWidgets=f(this,(ae)=>this._editorObs.openedPeekWidgets.read(ae)>0),this._shouldShowOnSuggestConflict=f(this,(ae)=>{let pe=this._showOnSuggestConflict.read(ae);if(pe!=="never"){if(!!this.selectedInlineCompletion.read(ae)){let Me=this._selectedSuggestItem.read(ae);if(!Me)return!1;if(pe==="whenSuggestListIsIncomplete")return Me.listIncomplete;return!0}}return!1}),this.state=In({owner:this,equalsFn:(ae,pe)=>{if(!ae||!pe)return ae===pe;if(ae.kind==="ghostText"&&pe.kind==="ghostText")return mw(ae.ghostTexts,pe.ghostTexts)&&ae.inlineSuggestion===pe.inlineSuggestion&&ae.suggestItem===pe.suggestItem;else if(ae.kind==="inlineEdit"&&pe.kind==="inlineEdit")return ae.inlineSuggestion===pe.inlineSuggestion;return!1}},(ae)=>{let pe=this.textModel;if(this._suppressInSnippetMode.read(ae)&&this._isInSnippetMode.read(ae))return;let Ne=this._inlineSuggestionItems.read(ae),Me=Ne?.inlineEdit;if(Me){if(this._hasVisiblePeekWidgets.read(ae))return;let Ce=this.primaryPosition.map((rt)=>te.fromRangeInclusive(Me.targetRange).addMargin(1,1).contains(rt.lineNumber)),He=Me.action?.kind==="edit"?Me.action.stringEdit:void 0,it=He?Po.fromStringEdit(He,new tp(this.textModel)).replacements:[],Ve=(Ne.inlineEdit?.command?.id==="vscode.open"||Ne.inlineEdit?.command?.id==="_workbench.open")&&Ne.inlineEdit?.command.arguments?.length?q.from(Ne.inlineEdit?.command.arguments[0]):void 0;if(!Me.originalTextRef.targets(this.textModel))Ve=Me.originalTextRef.uri;return{kind:"inlineEdit",inlineSuggestion:Me,edits:it,cursorAtInlineEdit:Ce,nextEditUri:Ve}}let Oe=this._selectedSuggestItem.read(ae);if(!this._shouldShowOnSuggestConflict.read(ae)&&Oe){let Ce=Xo(Oe.getSingleTextEdit(),pe),He=this._computeAugmentation(Ce,ae);if(!this._suggestPreviewEnabled.read(ae)&&!He)return;let Ve=He?.edit??Ce,rt=He?He.edit.text.length-Ce.text.length:0,Ze=this._suggestPreviewMode.read(ae),Ft=this._positions.read(ae),ft=[Ve,...Ew(this.textModel,Ft,Ve)].map((Bt,Ht)=>({edit:Bt,ghostText:Bt?_w(Bt,pe,Ze,Ft[Ht],rt):void 0})).filter(({edit:Bt,ghostText:Ht})=>Bt!==void 0&&Ht!==void 0),Wt=ft.map(({edit:Bt})=>Bt),St=ft.map(({ghostText:Bt})=>Bt),wt=St[0]??new Zr(Ve.range.endLineNumber,[]);return{kind:"ghostText",edits:Wt,primaryGhostText:wt,ghostTexts:St,inlineSuggestion:He?.completion,suggestItem:Oe}}else{if(!this._isActive.read(ae))return;let Ce=this.selectedInlineCompletion.read(ae);if(!Ce)return;let He=Ce.getSingleTextEdit(),it=this._inlineSuggestMode.read(ae),Ve=this._positions.read(ae),Ze=[He,...Ew(this.textModel,Ve,He)].map((ft,Wt)=>({edit:ft,ghostText:ft?_w(ft,pe,it,Ve[Wt],0):void 0})).filter(({edit:ft,ghostText:Wt})=>ft!==void 0&&Wt!==void 0),Ft=Ze.map(({edit:ft})=>ft),nt=Ze.map(({ghostText:ft})=>ft);if(!nt[0])return;return{kind:"ghostText",edits:Ft,primaryGhostText:nt[0],ghostTexts:nt,inlineSuggestion:Ce,suggestItem:void 0}}}),this.status=f(this,(ae)=>{if(this._source.loading.read(ae))return"loading";let pe=this.state.read(ae);if(pe?.kind==="ghostText")return"ghostText";if(pe?.kind==="inlineEdit")return"inlineEdit";return"noSuggestion"}),this.inlineCompletionState=f(this,(ae)=>{let pe=this.state.read(ae);if(!pe||pe.kind!=="ghostText")return;if(this._editorObs.inComposition.read(ae))return;return pe}),this.inlineEditState=f(this,(ae)=>{let pe=this.state.read(ae);if(!pe||pe.kind!=="inlineEdit")return;return pe}),this.inlineEditAvailable=f(this,(ae)=>!!this.inlineEditState.read(ae)),this.warning=f(this,(ae)=>this.inlineCompletionState.read(ae)?.inlineSuggestion?.warning),this.ghostTexts=In({owner:this,equalsFn:mw},(ae)=>{let pe=this.inlineCompletionState.read(ae);if(!pe)return;return pe.ghostTexts}),this.primaryGhostText=In({owner:this,equalsFn:fw},(ae)=>{let pe=this.inlineCompletionState.read(ae);if(!pe)return;return pe?.primaryGhostText}),this.showCollapsed=f(this,(ae)=>{let pe=this.state.read(ae);if(!pe||pe.kind!=="inlineEdit")return!1;if(pe.inlineSuggestion.hint||pe.inlineSuggestion.action?.kind==="jumpTo")return!1;let Ne=pe.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(ae);return(this._inlineEditsShowCollapsedEnabled.read(ae)||!Ne)&&this._jumpedToId.read(ae)!==pe.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(ae)}),this._tabShouldIndent=f(this,(ae)=>{if(this._inAcceptFlow.read(ae))return!1;function pe(Oe){return Oe.startLineNumber!==Oe.endLineNumber}function Ne(Oe,Ce){let He=Oe.getLineIndentColumn(Ce),it=Oe.getLineLastNonWhitespaceColumn(Ce),Ve=Math.max(it,He);return new t(Ce,He,Ce,Ve)}return this._editorObs.selections.read(ae)?.some((Oe)=>{if(Oe.isEmpty())return this.textModel.getLineLength(Oe.startLineNumber)===0;else return pe(Oe)||Oe.containsRange(Ne(this.textModel,Oe.startLineNumber))})}),this.tabShouldJumpToInlineEdit=f(this,(ae)=>{if(this._tabShouldIndent.read(ae))return!1;let pe=this.inlineEditState.read(ae);if(!pe)return!1;if(pe.inlineSuggestion.action?.kind==="jumpTo")return!0;if(this.showCollapsed.read(ae))return!0;if(this._inAcceptFlow.read(ae)&&this._appearedInsideViewport.read(ae))return!1;return!pe.cursorAtInlineEdit.read(ae)}),this.tabShouldAcceptInlineEdit=f(this,(ae)=>{let pe=this.inlineEditState.read(ae);if(!pe)return!1;if(pe.inlineSuggestion.action?.kind==="jumpTo")return!1;if(this.showCollapsed.read(ae))return!1;if(this._tabShouldIndent.read(ae))return!1;if(this._inAcceptFlow.read(ae)&&this._appearedInsideViewport.read(ae))return!0;if(pe.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(ae))return!0;if(this._jumpedToId.read(ae)===pe.inlineSuggestion.semanticId)return!0;return pe.cursorAtInlineEdit.read(ae)}),this._jumpedToId=j(this,void 0),this._inAcceptFlow=j(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(ym,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition,_f.defaultChatAgent?.completionsEnablementSetting)),this.lastTriggerKind=this._source.inlineCompletions.map(this,(ae)=>ae?.request?.context.triggerKind),this._editorObs=ct(this._editor);let ne=this._editorObs.getOption(134);this._suggestPreviewEnabled=ne.map((ae)=>ae.preview),this._suggestPreviewMode=ne.map((ae)=>ae.previewMode);let de=this._editorObs.getOption(71);this._inlineSuggestMode=de.map((ae)=>ae.mode),this._suppressedInlineCompletionGroupIds=de.map((ae)=>new Set(ae.experimental.suppressInlineSuggestions.split(","))),this._inlineEditsEnabled=de.map((ae)=>!!ae.edits.enabled),this._inlineEditsShowCollapsedEnabled=de.map((ae)=>ae.edits.showCollapsed),this._triggerCommandOnProviderChange=de.map((ae)=>ae.triggerCommandOnProviderChange),this._minShowDelay=de.map((ae)=>ae.minShowDelay),this._showOnSuggestConflict=de.map((ae)=>ae.experimental.showOnSuggestConflict),this._suppressInSnippetMode=de.map((ae)=>ae.suppressInSnippetMode);let ge=Vt.get(this._editor);this._isInSnippetMode=ge?.isInSnippetObservable??De(!1),oe.getDefaultAccount().then(uN((ae)=>this.sku.set(sE(ae),void 0),this._store)),this._register(oe.onDidChangeDefaultAccount((ae)=>this.sku.set(sE(ae),void 0))),this._typing=this._register(new os(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing((ae)=>{if(ae)this.stop()}));{let ae=this.textModel.uri.scheme===se.vscodeNotebookCell,[pe]=this._codeEditorService.listDiffEditors().filter((Ne)=>Ne.getOriginalEditor().getId()===this._editor.getId()||Ne.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!pe,this.editorType=ae?Pt.Notebook:this.isInDiffEditor?Pt.DiffEditor:Pt.TextEditor}this._register(Bh(this.state,(ae)=>{if(ae&&ae.inlineSuggestion)this._inlineCompletionsService.reportNewCompletion(ae.inlineSuggestion.requestUuid)})),this._register(Bh(this._fetchInlineCompletionsPromise)),this._register(W((ae)=>{this._editorObs.versionId.read(ae),this._inAcceptFlow.set(!1,void 0)})),this._register(W((ae)=>{if(this.state.map((Ne,Me)=>!Ne||Ne.kind==="inlineEdit"&&!Ne.cursorAtInlineEdit.read(Me)).read(ae))this._jumpedToId.set(void 0,void 0)})),this._register(W((ae)=>{let pe=this.state.map((Ne)=>Ne?.inlineSuggestion).read(ae);if(pe)pe.addPerformanceMarker("activeSuggestion")}));let _e=this.inlineEditState.map((ae)=>ae?.inlineSuggestion.semanticId);this._register(W((ae)=>{if(_e.read(ae))this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion}}));let Se=Pe(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(n));ld(this,Se,(ae,pe)=>{if(!ae.onDidChangeInlineCompletions)return;pe.add(ae.onDidChangeInlineCompletions((Ne)=>{if(!this._enabled.get())return;if((this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}let Oe=this.state.get();if(Oe&&(Oe.inlineSuggestion||Oe.edits)&&Oe.inlineSuggestion?.source.provider!==ae)return;Je((Ce)=>{this._fetchSpecificProviderSignal.trigger(Ce,{provider:ae,changeHint:Ne??void 0}),this.trigger(Ce)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(n){let h=!1,g=!0,p=this?.primaryGhostText.read(n);if(!!this?._selectedSuggestItem&&p&&p.parts.length>0){let{column:m,lines:_}=p.parts[0],v=_[0].line,S=this.textModel.getLineIndentColumn(p.lineNumber);if(m<=S){let L=Kn(v);if(L===-1)L=v.length-1;h=L>0;let R=this.textModel.getOptions().tabSize;g=Lt.visibleColumnFromColumn(v,L+1,R)<R}}return{startsWithIndentation:h,startsWithIndentationLessThanTabSize:g}}_getReason(n){if(n?.isUndoing)return rs.Undo;if(n?.isRedoing)return rs.Redo;if(this.isAcceptingPartially)return rs.AcceptWord;return rs.Other}getAvailableProviders(n){let h=this._suppressedInlineCompletionGroupIds.get(),g=n.filter((_)=>!(_.groupId&&h.has(_.groupId))),p=new Set;for(let _ of g)_.excludesGroupIds?.forEach((v)=>p.add(v));let m=[];for(let _ of g){if(_.groupId&&p.has(_.groupId))continue;m.push(_)}return m}async trigger(n,h={}){ad(n,(g)=>{if(h.onlyFetchInlineEdits)this._onlyRequestInlineEditsSignal.trigger(g);if(h.noDelay)this._noDelaySignal.trigger(g);if(this._isActive.set(!0,g),h.explicit)this._inAcceptFlow.set(!0,g),this._forceUpdateExplicitlySignal.trigger(g);if(h.provider)this._fetchSpecificProviderSignal.trigger(g,{provider:h.provider,changeHint:h.changeHint})}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(n,h=!1){return this.trigger(n,{onlyFetchInlineEdits:h,explicit:!0})}stop(n="automatic",h){ad(h,(g)=>{if(n==="explicitCancel"){let p=this.state.get()?.inlineSuggestion;if(p)p.reportEndOfLife({kind:vl.Rejected})}this._isActive.set(!1,g),this._source.clear(g)})}_computeAugmentation(n,h){let g=this.textModel,p=this._source.suggestWidgetInlineCompletions.read(h),m=p?p.inlineCompletions.filter((v)=>!v.isInlineEdit):[this.selectedInlineCompletion.read(h)].filter(ni);return zM(m,(v)=>{let S=v.getSingleTextEdit();return S=Xo(S,g,t.fromPositions(S.range.getStartPosition(),n.range.getEndPosition())),hm(S,n)?{completion:v,edit:S}:void 0})}async _deltaSelectedInlineCompletionIndex(n){await this.triggerExplicitly();let h=this._inlineCompletionItems.get()||[];if(h.length>0){let g=(this.selectedInlineCompletionIndex.get()+n+h.length)%h.length;this._selectedInlineCompletionId.set(h[g].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(n,h,g=void 0){if(g)return Yn.inlineCompletionPartialAccept({nes:n.isInlineEdit,requestUuid:n.requestUuid,providerId:n.source.provider.providerId,languageId:h,type:g,correlationId:n.getSourceCompletion().correlationId});else return Yn.inlineCompletionAccept({nes:n.isInlineEdit,requestUuid:n.requestUuid,correlationId:n.getSourceCompletion().correlationId,providerId:n.source.provider.providerId,languageId:h})}async accept(n=this._editor,h=!1){if(n.getModel()!==this.textModel)throw new H;let g,p=!1,m=this.state.get();if(m?.kind==="ghostText"){if(!m||m.primaryGhostText.isEmpty()||!m.inlineSuggestion)return;g=m.inlineSuggestion}else if(m?.kind==="inlineEdit")g=m.inlineSuggestion,p=!!m.nextEditUri;else return;g.addRef();try{let _=!1;if(n.pushUndoStop(),!g.originalTextRef.targets(this.textModel)){let v=await this._codeEditorService.openCodeEditor({resource:g.originalTextRef.uri},this._editor);if(v){let C=am(v)?.model.get();v.focus(),C?.transplantCompletion(g),v.revealLineInCenter(g.targetRange.startLineNumber)}}else if(p);else if(g.action?.kind==="edit"){let v=g.action;if(h&&v.alternativeAction){_=!0;let S=v.alternativeAction.command;await this._commandService.executeCommand(S.id,...S.arguments||[]).then(void 0,vt)}else if(v.snippetInfo){let S=gt.delete(v.textReplacement.range),C=g.additionalTextEdits.map((R)=>new gt(t.lift(R.range),R.text??"")),L=Po.fromParallelReplacementsUnsorted([S,...C]);n.edit(L,this._getMetadata(g,this.textModel.getLanguageId())),n.setPosition(v.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),Vt.get(n)?.insert(v.snippetInfo.snippet,{undoStopBefore:!1})}else{let S=m.edits,C=S;if(m.kind==="ghostText")C=Wk(S,this.textModel);let L=hw(C).map((Y)=>F.fromPositions(Y)),R=g.additionalTextEdits.map((Y)=>new gt(t.lift(Y.range),Y.text??"")),Z=Po.fromParallelReplacementsUnsorted([...S,...R]);if(n.edit(Z,this._getMetadata(g,this.textModel.getLanguageId())),g.hint===void 0)n.setSelections(m.kind==="inlineEdit"?L.slice(-1):L,"inlineCompletionAccept");if(m.kind==="inlineEdit"&&!this._accessibilityService.isMotionReduced()){let Y=Z.getNewRanges(),Q=this._store.add(new aE(n,Y,()=>{this._store.delete(Q)}))}}}if(this._onDidAccept.fire(),this.stop(),g.command)await this._commandService.executeCommand(g.command.id,...g.command.arguments||[]).then(void 0,vt);if(_)this.trigger(void 0);g.reportEndOfLife({kind:vl.Accepted,alternativeAction:h})}finally{g.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:g}}}async acceptNextWord(){await this._acceptNext(this._editor,"word",(n,h)=>{let g=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column),p=this._languageConfigurationService.getLanguageConfiguration(g),m=new RegExp(p.wordDefinition.source,p.wordDefinition.flags.replace("g","")),_=h.match(m),v=0;if(_&&_.index!==void 0)if(_.index===0)v=_[0].length;else v=_.index;else v=h.length;let C=/\s+/g.exec(h);if(C&&C.index!==void 0){if(C.index+C[0].length<v)v=C.index+C[0].length}return v},0)}async acceptNextLine(){await this._acceptNext(this._editor,"line",(n,h)=>{let g=h.match(/\n/);if(g&&g.index!==void 0)return g.index+1;return h.length},1)}async _acceptNext(n,h,g,p){if(n.getModel()!==this.textModel)throw new H;let m=this.inlineCompletionState.get();if(!m||m.primaryGhostText.isEmpty()||!m.inlineSuggestion)return;let{primaryGhostText:_,inlineSuggestion:v}=m;if(v.snippetInfo){await this.accept(n);return}let S=_.parts[0],C=new s(_.lineNumber,S.column),L=S.text,R=g(C,L);if(R===L.length&&_.parts.length===1){this.accept(n);return}let Z=L.substring(0,R),Y=this._positions.get(),Q=Y[0];v.addRef();try{this._isAcceptingPartially=!0;try{n.pushUndoStop();let de=t.fromPositions(Q,C),ge=n.getModel().getValueInRange(de)+Z,_e=new gt(de,ge),Se=[_e,...Ew(this.textModel,Y,_e)].filter(ni),ae=hw(Se).map((pe)=>F.fromPositions(pe));n.edit(Po.fromParallelReplacementsUnsorted(Se),this._getMetadata(v,this.textModel.getLanguageId(),h)),n.setSelections(ae,"inlineCompletionPartialAccept"),n.revealPositionInCenterIfOutsideViewport(n.getPosition(),0)}finally{this._isAcceptingPartially=!1}let ee=t.fromPositions(v.editRange.getStartPosition(),Gt.ofText(Z).addToPosition(C)),ne=n.getModel().getValueInRange(ee,1).length;v.reportPartialAccept(ne,{kind:p,acceptedLength:ne},{characters:R,ratio:R/L.length,count:1})}finally{v.removeRef()}}handleSuggestAccepted(n){let h=Xo(n.getSingleTextEdit(),this.textModel),g=this._computeAugmentation(h,void 0);if(!g)return;let m=this.textModel.getValueInRange(g.completion.editRange,1).length+h.text.length;g.completion.reportPartialAccept(h.text.length,{kind:2,acceptedLength:m},{characters:h.text.length,count:1,ratio:1})}extractReproSample(){let n=this.textModel.getValue(),h=this.state.get()?.inlineSuggestion;return{documentValue:n,inlineCompletion:h?.getSourceCompletion()}}jump(){let n=this.inlineEditState.get();if(!n)return;let h=n.inlineSuggestion;if(!h.originalTextRef.targets(this.textModel)){this.accept(this._editor);return}h.addRef();try{Je((g)=>{if(h.action?.kind==="jumpTo")this.stop(void 0,g),h.reportEndOfLife({kind:vl.Accepted,alternativeAction:!1});this._jumpedToId.set(n.inlineSuggestion.semanticId,g),this.dontRefetchSignal.trigger(g);let p=n.inlineSuggestion.targetRange,m=p.getStartPosition();if(this._editor.setPosition(m,"inlineCompletions.jump"),p.isSingleLine()&&(n.inlineSuggestion.hint||n.inlineSuggestion.action?.kind==="edit"&&!n.inlineSuggestion.action.textReplacement.text.includes(`
|
|
41
|
-
`))||n.inlineSuggestion.action?.kind==="jumpTo")this._editor.revealPosition(m,0);else{let v=new t(p.startLineNumber-1,1,p.endLineNumber+1,1);this._editor.revealRange(v,0)}n.inlineSuggestion.identity.setJumpTo(g),this._editor.focus()})}finally{h.removeRef()}}async handleInlineSuggestionShown(n,h,g,p){await n.reportInlineEditShown(this._commandService,h,g,this.textModel,p)}transplantCompletion(n){Je((h)=>{this._source.seedWithCompletion(n,h),this._isActive.set(!0,h),this._inAcceptFlow.set(!0,h),this.dontRefetchSignal.trigger(h)})}};xm=hN([ea(8,A),ea(9,Ue),ea(10,ht),ea(11,on),ea(12,z),ea(13,Te),ea(14,O0),ea(15,P1)],xm);var rs;(function(u){u[u.Undo=0]="Undo",u[u.Redo=1]="Redo",u[u.AcceptWord=2]="AcceptWord",u[u.Other=3]="Other"})(rs||(rs={}));function Ew(u,n,h){if(n.length===1)return[];let g=new tp(u),p=g.getTransformer(),m=p.getOffset(n[0]),_=n.slice(1).map((Z)=>p.getOffset(Z));h=h.removeCommonPrefixAndSuffix(g);let v=p.getStringReplacement(h),S=v.replaceRange.start-m,C=v.replaceRange.join(V.emptyAt(m)),L=g.getValueOfOffsetRange(C);return _.map((Z)=>{let Y=Z+S,Q=Y+v.replaceRange.length,ee=new V(Y,Q),oe=ee.join(V.emptyAt(Z));if(g.getValueOfOffsetRange(oe)!==L)return;let de=new ui(ee,v.newText);return p.getTextReplacement(de)}).filter(ni)}class aE extends i{constructor(u,n,h){super();if(h)this._register({dispose:()=>h()});this._register(ct(u).setDecorations(De(n.map((p)=>({range:p,options:{description:"animation",className:"edits-fadeout-decoration",zIndex:1}})))));let g=new pw(lm.startNow(1,0,1000,zk));this._register(W((p)=>{let m=g.getValue(p);if(u.getContainerDomNode().style.setProperty("--animation-opacity",m.toString()),g.isFinished(p))this.dispose()}))}}function Dw(u,n,h=void 0){let g=n.targetRange;ct(u).scrollTop.read(h);let p=u.getVisibleRanges();if(p.length<1)return!1;return new t(p[0].startLineNumber,p[0].startColumn,p[p.length-1].endLineNumber,p[p.length-1].endColumn).containsRange(g)}function sE(u){if(u?.entitlementsData?.access_type_sku&&u?.entitlementsData?.copilot_plan)return{type:u.entitlementsData.access_type_sku,plan:u.entitlementsData.copilot_plan};return}class dE{constructor(u){this.handler=(n)=>this._cb?.(n),this._cb=u}dispose(){this._cb=void 0}}function uN(u,n){let h=new dE(u);return n.add(h),h.handler}var gN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},pN=function(u,n){return function(h,g){n(h,g,u)}},Tw,_u=class u{static{Tw=this}static{this.AtEnd=new M("atEndOfWord",!1,{type:"boolean",description:e(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(n,h){this._editor=n,this._enabled=!1,this._ckAtEnd=Tw.AtEnd.bindTo(h),this._configListener=this._editor.onDidChangeConfiguration((g)=>g.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){let n=this._editor.getOption(139)==="on";if(this._enabled===n)return;if(this._enabled=n,this._enabled){let h=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let g=this._editor.getModel(),p=this._editor.getSelection(),m=g.getWordAtPosition(p.getStartPosition());if(!m){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(m.endColumn===p.getStartPosition().column&&p.getStartPosition().lineNumber===p.getEndPosition().lineNumber)};this._selectionListener=this._editor.onDidChangeCursorSelection(h),h()}else if(this._selectionListener)this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0}};_u=Tw=gN([pN(1,G)],_u);var mN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},fN=function(u,n){return function(h,g){n(h,g,u)}},Su,Dd=class u{static{Su=this}static{this.OtherSuggestions=new M("hasOtherSuggestions",!1)}constructor(n,h){this._editor=n,this._index=0,this._ckOtherSuggestions=Su.OtherSuggestions.bindTo(h)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:n,index:h},g){if(n.items.length===0){this.reset();return}if(Su._moveIndex(!0,n,h)===h){this.reset();return}this._acceptNext=g,this._model=n,this._index=h,this._listener=this._editor.onDidChangeCursorPosition(()=>{if(!this._ignore)this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(n,h,g){let p=g;for(let m=h.items.length;m>0;m--){if(p=(p+h.items.length+(n?1:-1))%h.items.length,p===g)break;if(!h.items[p].completion.additionalTextEdits)break}return p}next(){this._move(!0)}prev(){this._move(!1)}_move(n){if(!this._model)return;try{this._ignore=!0,this._index=Su._moveIndex(n,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};Dd=Su=mN([fN(1,G)],Dd);class Rw{constructor(u,n,h,g){this._disposables=new d,this._disposables.add(h.onDidSuggest((p)=>{if(p.completionModel.items.length===0)this.reset()})),this._disposables.add(h.onDidCancel((p)=>{this.reset()})),this._disposables.add(n.onDidShow(()=>this._onItem(n.getFocusedItem()))),this._disposables.add(n.onDidFocus(this._onItem,this)),this._disposables.add(n.onDidHide(this.reset,this)),this._disposables.add(u.onWillType((p)=>{if(this._active&&!n.isFrozen()&&h.state!==0){let m=p.charCodeAt(p.length-1);if(this._active.acceptCharacters.has(m)&&u.getOption(0))g(this._active.item)}}))}_onItem(u){if(!u||!qn(u.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===u.item)return;let n=new Sf;for(let h of u.item.completion.commitCharacters)if(h.length>0)n.add(h.charCodeAt(0));this._active={acceptCharacters:n,item:u}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class Im{static{this._maxSelectionLength=51200}constructor(u,n){this._disposables=new d,this._lastOvertyped=[],this._locked=!1,this._disposables.add(u.onWillType(()=>{if(this._locked||!u.hasModel())return;let h=u.getSelections(),g=h.length,p=!1;for(let _=0;_<g;_++)if(!h[_].isEmpty()){p=!0;break}if(!p){if(this._lastOvertyped.length!==0)this._lastOvertyped.length=0;return}this._lastOvertyped=[];let m=u.getModel();for(let _=0;_<g;_++){let v=h[_];if(m.getValueLengthInRange(v)>Im._maxSelectionLength)return;this._lastOvertyped[_]={value:m.getValueInRange(v),multiline:v.startLineNumber!==v.endLineNumber}}})),this._disposables.add(n.onDidTrigger((h)=>{this._locked=!0})),this._disposables.add(n.onDidCancel((h)=>{this._locked=!1}))}getLastOvertypedInfo(u){if(u>=0&&u<this._lastOvertyped.length)return this._lastOvertyped[u];return}dispose(){this._disposables.dispose()}}var _N=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Nw=function(u,n){return function(h,g){n(h,g,u)}},Lm=class u{constructor(n,h,g,p,m,_){this._menuId=h,this._menuService=m,this._contextKeyService=_,this._menuDisposables=new d,this.element=k(n,w(".suggest-status-bar"));let v=(S)=>{if(g?.showIconsNoKeybindings)return S instanceof Ki?p.createInstance(Rl,S,void 0):void 0;else return S instanceof Ki?p.createInstance(M1,S,{useComma:!1}):void 0};this._leftActions=new Qi(this.element,{actionViewItemProvider:v}),this._rightActions=new Qi(this.element,{actionViewItemProvider:v}),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 n=this._menuService.createMenu(this._menuId,this._contextKeyService),h=()=>{let g=[],p=[];for(let[m,_]of n.getActions())if(m==="left")g.push(..._);else p.push(..._);this._leftActions.clear(),this._leftActions.push(g),this._rightActions.clear(),this._rightActions.push(p)};this._menuDisposables.add(n.onDidChange(()=>h())),this._menuDisposables.add(n)}hide(){this._menuDisposables.clear()}};Lm=_N([Nw(3,A),Nw(4,Ai),Nw(5,G)],Lm);var bN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},cE=function(u,n){return function(h,g){n(h,g,u)}};function Cu(u){return!!u&&Boolean(u.completion.documentation||u.completion.detail&&u.completion.detail!==u.completion.label)}var km=class u{constructor(n,h,g){this._editor=n,this._themeService=h,this._markdownRendererService=g,this._onDidClose=new o,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new o,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new d,this._renderDisposeable=new d,this._size=new at(330,0),this.domNode=w(".suggest-details"),this.domNode.classList.add("no-docs"),this._body=w(".body"),this._scrollbar=new Ll(this._body,{alwaysConsumeMouseWheel:!0}),k(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=k(this._body,w(".header")),this._close=k(this._header,w("span"+J.asCSSSelector(x.close))),this._close.title=e(1563,"Close"),this._close.ariaLabel=e(1564,"Close"),this._close.role="button",this._close.tabIndex=-1,this._type=k(this._header,w("p.type")),this._docs=k(this._body,w("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((p)=>{if(p.hasChanged(59))this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){let n=this._editor.getOptions(),h=n.get(59),g=h.getMassagedFontFamily(),p=n.get(135)||h.fontSize,m=n.get(136)||h.lineHeight,_=h.fontWeight,v=`${p}px`,S=`${m}px`;this.domNode.style.fontSize=v,this.domNode.style.lineHeight=`${m/p}`,this.domNode.style.fontWeight=_,this.domNode.style.fontFeatureSettings=h.fontFeatureSettings,this._type.style.fontFamily=g,this._close.style.height=S,this._close.style.width=S}getLayoutInfo(){let n=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,h=fr(this._themeService.getColorTheme().type)?2:1,g=h*2;return{lineHeight:n,borderWidth:h,borderHeight:g,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=e(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(n,h){this._renderDisposeable.clear();let{detail:g,documentation:p}=n.completion;if(h){let m="";m+=`score: ${n.score[0]}
|
|
42
|
-
`,m+=`prefix: ${n.word??"(no prefix)"}
|
|
43
|
-
`,m+=`word: ${n.completion.filterText?n.completion.filterText+" (filterText)":n.textLabel}
|
|
44
|
-
`,m+=`distance: ${n.distance} (localityBonus-setting)
|
|
45
|
-
`,m+=`index: ${n.idx}, based on ${n.completion.sortText&&`sortText: "${n.completion.sortText}"`||"label"}
|
|
46
|
-
`,m+=`commit_chars: ${n.completion.commitCharacters?.join("")}
|
|
47
|
-
`,p=new On().appendCodeblock("empty",m),g=`Provider: ${n.provider._debugDisplayName}`}if(!h&&!Cu(n)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),g){let m=g.length>1e5?`${g.substr(0,1e5)}…`:g;this._type.textContent=m,this._type.title=m,Oo(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(m))}else mn(this._type),this._type.title="",po(this._type),this.domNode.classList.add("no-type");if(mn(this._docs),typeof p==="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=p;else if(p){this._docs.classList.add("markdown-docs"),mn(this._docs);let m=this._markdownRendererService.render(p,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(m.element),this._renderDisposeable.add(m)}this.domNode.classList.toggle("detail-and-doc",!!g&&!!p),this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=(m)=>{m.preventDefault(),m.stopPropagation()},this._close.onclick=(m)=>{m.preventDefault(),m.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(n,h){let g=new at(n,h);if(!at.equals(g,this._size))this._size=g,OM(this.domNode,n,h);this._scrollbar.scanDomNode()}scrollDown(n=8){this._body.scrollTop+=n}scrollUp(n=8){this._body.scrollTop-=n}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};km=bN([cE(1,ze),cE(2,Bo)],km);class Mw{constructor(u,n){this.widget=u,this._editor=n,this.allowEditorOverflow=!0,this._disposables=new d,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new td,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(u.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let h,g,p=0,m=0;this._disposables.add(this._resizable.onDidWillResize(()=>{h=this._topLeft,g=this._resizable.size})),this._disposables.add(this._resizable.onDidResize((_)=>{if(h&&g){this.widget.layout(_.dimension.width,_.dimension.height);let v=!1;if(_.west)m=g.width-_.dimension.width,v=!0;if(_.north)p=g.height-_.dimension.height,v=!0;if(v)this._applyTopLeft({top:h.top+p,left:h.left+m})}if(_.done)h=void 0,g=void 0,p=0,m=0,this._userSize=_.dimension})),this._disposables.add(this.widget.onDidChangeContents(()=>{if(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(){if(!this._added)this._editor.addOverlayWidget(this),this._added=!0}hide(u=!1){if(this._resizable.clearSashHoverState(),this._added)this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0;if(u)this._userSize=void 0,this.widget.clearContents()}placeAtAnchor(u,n){let h=u.getBoundingClientRect();this._anchorBox=h,this._preferAlignAtTop=n,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,n)}_placeAtAnchor(u,n,h){let g=la(this.getDomNode().ownerDocument.body),p=this.widget.getLayoutInfo(),m=new at(220,2*p.lineHeight),_=u.top,v=function(){let ae=g.width-(u.left+u.width+p.borderWidth+p.horizontalPadding),pe=-p.borderWidth+u.left+u.width,Ne=new at(ae,g.height-u.top-p.borderHeight-p.verticalPadding),Me=Ne.with(void 0,u.top+u.height-p.borderHeight-p.verticalPadding);return{top:_,left:pe,fit:ae-n.width,maxSizeTop:Ne,maxSizeBottom:Me,minSize:m.with(Math.min(ae,m.width))}}(),S=function(){let ae=u.left-p.borderWidth-p.horizontalPadding,pe=Math.max(p.horizontalPadding,u.left-n.width-p.borderWidth),Ne=new at(ae,g.height-u.top-p.borderHeight-p.verticalPadding),Me=Ne.with(void 0,u.top+u.height-p.borderHeight-p.verticalPadding);return{top:_,left:pe,fit:ae-n.width,maxSizeTop:Ne,maxSizeBottom:Me,minSize:m.with(Math.min(ae,m.width))}}(),C=function(){let ae=u.left,pe=-p.borderWidth+u.top+u.height,Ne=new at(u.width-p.borderHeight,g.height-u.top-u.height-p.verticalPadding);return{top:pe,left:ae,fit:Ne.height-n.height,maxSizeBottom:Ne,maxSizeTop:Ne,minSize:m.with(Ne.width)}}(),L=function(){let ae=u.left,pe=new at(u.width-p.borderHeight,u.top-p.verticalPadding);return{top:Math.max(p.verticalPadding,u.top-n.height),left:ae,fit:pe.height-n.height,maxSizeTop:pe,maxSizeBottom:pe,minSize:m.with(pe.width)}}(),Z=[v,S,h?C:L],Y=Z.find((ae)=>ae.fit>=0)??Z.sort((ae,pe)=>pe.fit-ae.fit)[0],Q=u.top+u.height-p.borderHeight,ee,oe=n.height,ne=Math.max(Y.maxSizeTop.height,Y.maxSizeBottom.height);if(oe>ne)oe=ne;let de;if(h)if(oe<=Y.maxSizeTop.height)ee=!0,de=Y.maxSizeTop;else ee=!1,de=Y.maxSizeBottom;else if(oe<=Y.maxSizeBottom.height)ee=!1,de=Y.maxSizeBottom;else ee=!0,de=Y.maxSizeTop;let{top:ge,left:_e}=Y;if(Y===L)ge=u.top-oe+p.borderWidth;else if(!ee&&oe>u.height)ge=Q-oe;let Se=this._editor.getDomNode();if(Se){let ae=Se.getBoundingClientRect();ge-=ae.top,_e-=ae.left}if(this._applyTopLeft({left:_e,top:ge}),Y===L)this._resizable.enableSashes(!0,!1,!1,!0);else this._resizable.enableSashes(!ee,Y===v,ee,Y!==v);this._resizable.minSize=Y.minSize,this._resizable.maxSize=de,this._resizable.layout(oe,Math.min(de.width,n.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(u){this._topLeft=u,this._editor.layoutOverlayWidget(this)}}var xI=ie("fileService"),zo;(function(u){u[u.FILE=0]="FILE",u[u.FOLDER=1]="FOLDER",u[u.ROOT_FOLDER=2]="ROOT_FOLDER"})(zo||(zo={}));var vN=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Td(u,n,h,g,p){if(J.isThemeIcon(p))return[`codicon-${p.id}`,"predefined-file-icon"];if(q.isUri(p))return[];let m=g===zo.ROOT_FOLDER?["rootfolder-icon"]:g===zo.FOLDER?["folder-icon"]:["file-icon"];if(h){let _;if(h.scheme===se.data)_=lu.parseMetaData(h).get(lu.META_DATA_LABEL);else{let v=h.path.match(vN);if(v){if(_=Em(v[2].toLowerCase()),v[1])m.push(`${Em(v[1].toLowerCase())}-name-dir-icon`)}else _=Em(h.authority.toLowerCase())}if(g===zo.ROOT_FOLDER)m.push(`${_}-root-name-folder-icon`);else if(g===zo.FOLDER)m.push(`${_}-name-folder-icon`);else{if(_){if(m.push(`${_}-name-file-icon`),m.push("name-file-icon"),_.length<=255){let S=_.split(".");for(let C=1;C<S.length;C++)m.push(`${S.slice(C).join(".")}-ext-file-icon`)}m.push("ext-file-icon")}let v=wN(u,n,h);if(v)m.push(`${Em(v)}-lang-file-icon`)}}return m}function wN(u,n,h){if(!h)return null;let g=null;if(h.scheme===se.data){let m=lu.parseMetaData(h).get(lu.META_DATA_MIME);if(m)g=n.getLanguageIdByMimeType(m)}else{let p=u.getModel(h);if(p)g=p.getLanguageId()}if(g&&g!==lo)return g;return n.guessLanguageIdByFilepathOrFirstLine(h)}function Em(u){return u.replace(/[\s]/g,"/")}var SN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ow=function(u,n){return function(h,g){n(h,g,u)}},CN=Mt("suggest-more-info",x.chevronRight,e(1566,"Icon for more information in the suggest widget.")),yN=new class u{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(`^${u._regexRelaxed.source}$`,"i")}extract(n,h){if(n.textLabel.match(u._regexStrict))return h[0]=n.textLabel,!0;if(n.completion.detail&&n.completion.detail.match(u._regexStrict))return h[0]=n.completion.detail,!0;if(n.completion.documentation){let g=typeof n.completion.documentation==="string"?n.completion.documentation:n.completion.documentation.value,p=u._regexRelaxed.exec(g);if(p&&(p.index===0||p.index+p[0].length===g.length))return h[0]=p[0],!0}return!1}},Dm=class u{constructor(n,h,g,p){this._editor=n,this._modelService=h,this._languageService=g,this._themeService=p,this._onDidToggleDetails=new o,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(n){let h=new d,g=n;g.classList.add("show-file-icons");let p=k(n,w(".icon")),m=k(p,w("span.colorspan")),_=k(n,w(".contents")),v=k(_,w(".main")),S=k(v,w(".icon-label.codicon")),C=k(v,w("span.left")),L=k(v,w("span.right")),R=new vu(C,{supportHighlights:!0,supportIcons:!0});h.add(R);let Z=k(C,w("span.signature-label")),Y=k(C,w("span.qualifier-label")),Q=k(L,w("span.details-label")),ee=k(L,w("span.readMore"+J.asCSSSelector(CN)));return ee.title=e(1567,"Read More"),{root:g,left:C,right:L,icon:p,colorspan:m,iconLabel:R,iconContainer:S,parametersLabel:Z,qualifierLabel:Y,detailsLabel:Q,readMore:ee,disposables:h,configureFont:()=>{let ne=this._editor.getOptions(),de=ne.get(59),ge=de.getMassagedFontFamily(),{fontFeatureSettings:_e,fontVariationSettings:Se}=de,ae=ne.get(135)||de.fontSize,pe=ne.get(136)||de.lineHeight,{fontWeight:Ne,letterSpacing:Me}=de,Oe=`${ae}px`,Ce=`${pe}px`,He=`${Me}px`;g.style.fontSize=Oe,g.style.fontWeight=Ne,g.style.letterSpacing=He,v.style.fontFamily=ge,v.style.fontFeatureSettings=_e,v.style.fontVariationSettings=Se,v.style.lineHeight=Ce,p.style.height=Ce,p.style.width=Ce,ee.style.height=Ce,ee.style.width=Ce}}}renderElement(n,h,g){g.configureFont();let{completion:p}=n;g.colorspan.style.backgroundColor="";let m={labelEscapeNewLines:!0,matches:Zh(n.score)},_=[];if(p.kind===19&&yN.extract(n,_))g.icon.className="icon customcolor",g.iconContainer.className="icon hide",g.colorspan.style.backgroundColor=_[0];else if(p.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){g.icon.className="icon hide",g.iconContainer.className="icon hide";let v=Td(this._modelService,this._languageService,q.from({scheme:"fake",path:n.textLabel}),zo.FILE),S=Td(this._modelService,this._languageService,q.from({scheme:"fake",path:p.detail}),zo.FILE);m.extraClasses=v.length>S.length?v:S}else if(p.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons)g.icon.className="icon hide",g.iconContainer.className="icon hide",m.extraClasses=[Td(this._modelService,this._languageService,q.from({scheme:"fake",path:n.textLabel}),zo.FOLDER),Td(this._modelService,this._languageService,q.from({scheme:"fake",path:p.detail}),zo.FOLDER)].flat();else g.icon.className="icon hide",g.iconContainer.className="",g.iconContainer.classList.add("suggest-icon",...J.asClassNameArray(Ph.toIcon(p.kind)));if(p.tags&&p.tags.indexOf(1)>=0)m.extraClasses=(m.extraClasses||[]).concat(["deprecated"]),m.matches=[];if(g.iconLabel.setLabel(n.textLabel,void 0,m),typeof p.label==="string")g.parametersLabel.textContent="",g.detailsLabel.textContent=Pw(p.detail||""),g.root.classList.add("string-label");else g.parametersLabel.textContent=Pw(p.label.detail||""),g.detailsLabel.textContent=Pw(p.label.description||""),g.root.classList.remove("string-label");if(this._editor.getOption(134).showInlineDetails)Oo(g.detailsLabel);else po(g.detailsLabel);if(Cu(n))g.right.classList.add("can-expand-details"),Oo(g.readMore),g.readMore.onmousedown=(v)=>{v.stopPropagation(),v.preventDefault()},g.readMore.onclick=(v)=>{v.stopPropagation(),v.preventDefault(),this._onDidToggleDetails.fire()};else g.right.classList.remove("can-expand-details"),po(g.readMore),g.readMore.onmousedown=null,g.readMore.onclick=null}disposeTemplate(n){n.disposables.dispose()}};Dm=SN([Ow(1,Et),Ow(2,xt),Ow(3,ze)],Dm);function Pw(u){return u.replace(/\r\n|\r|\n/g,"")}var xN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Tm=function(u,n){return function(h,g){n(h,g,u)}},jc,Rm=a("editorSuggestWidget.background",Ho,e(1545,"Background color of the suggest widget."));a("editorSuggestWidget.border",Tf,e(1546,"Border color of the suggest widget."));var Aw=a("editorSuggestWidget.foreground",Va,e(1547,"Foreground color of the suggest widget.")),lE=a("editorSuggestWidget.selectedForeground",{dark:hd,light:hd,hcDark:Rm,hcLight:Rm},e(1548,"Foreground color of the selected entry in the suggest widget."));a("editorSuggestWidget.selectedIconForeground",{dark:_g,light:_g,hcDark:Rm,hcLight:Rm},e(1549,"Icon foreground color of the selected entry in the suggest widget."));var IN=a("editorSuggestWidget.selectedBackground",{dark:pd,light:pd,hcDark:Aw,hcLight:Aw},e(1550,"Background color of the selected entry in the suggest widget.")),LN=a("editorSuggestWidget.focusOutline",Zt,e(1551,"Outline color of the focused (keyboard-navigated) entry in the suggest widget."));a("editorSuggestWidget.highlightForeground",Rf,e(1552,"Color of the match highlights in the suggest widget."));a("editorSuggestWidget.focusHighlightForeground",{dark:_0,light:_0,hcDark:lE,hcLight:lE},e(1553,"Color of the match highlights in the suggest widget when an item is focused."));a("editorSuggestWidgetStatus.foreground",be(Aw,0.5),e(1554,"Foreground color of the suggest widget status."));class hE{constructor(u,n){this._service=u,this._key=`suggestWidget.size/${n.getEditorType()}/${n instanceof Bi}`}restore(){let u=this._service.get(this._key,0)??"";try{let n=JSON.parse(u);if(at.is(n))return at.lift(n)}catch{}return}store(u){this._service.store(this._key,JSON.stringify(u),0,1)}reset(){this._service.remove(this._key,0)}}var Nm=class u{static{jc=this}static{this.LOADING_MESSAGE=e(1555,"Loading...")}static{this.NO_SUGGESTIONS_MESSAGE=e(1556,"No suggestions.")}constructor(n,h,g,p,m){this.editor=n,this._storageService=h,this._state=0,this._isAuto=!1,this._loadingTimeout=new ce,this._pendingLayout=new ce,this._pendingShowDetails=new ce,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new di,this._disposables=new d,this._onDidSelect=new sc,this._onDidFocus=new sc,this._onDidHide=new o,this._onDidShow=new o,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new o,this.element=new td,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new uE(this,n),this._persistedSize=new hE(h,n);class _{constructor(Q,ee,oe=!1,ne=!1){this.persistedSize=Q,this.currentSize=ee,this.persistHeight=oe,this.persistWidth=ne}}let v;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),v=new _(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize((Q)=>{if(this._resize(Q.dimension.width,Q.dimension.height),v)v.persistHeight=v.persistHeight||!!Q.north||!!Q.south,v.persistWidth=v.persistWidth||!!Q.east||!!Q.west;if(!Q.done)return;if(v){let{itemHeight:ee,defaultSize:oe}=this.getLayoutInfo(),ne=Math.round(ee/2),{width:de,height:ge}=this.element.size;if(!v.persistHeight||Math.abs(v.currentSize.height-ge)<=ne)ge=v.persistedSize?.height??oe.height;if(!v.persistWidth||Math.abs(v.currentSize.width-de)<=ne)de=v.persistedSize?.width??oe.width;this._persistedSize.store(new at(de,ge))}this._contentWidget.unlockPreference(),v=void 0})),this._messageElement=k(this.element.domNode,w(".message")),this._listElement=k(this.element.domNode,w(".tree"));let S=this._disposables.add(m.createInstance(km,this.editor));S.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new Mw(S,this.editor);let C=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(134).showIcons);C();let L=()=>this.element.domNode.classList.toggle("fit-width-to-details",this.editor.getOption(134).fitWidthToDetails);L();let R=m.createInstance(Dm,this.editor);this._disposables.add(R),this._disposables.add(R.onDidToggleDetails(()=>this.toggleDetails())),this._list=new So("SuggestWidget",this._listElement,{getHeight:(Q)=>this.getLayoutInfo().itemHeight,getTemplateId:(Q)=>"suggestion"},[R],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>nn?"listitem":"option",getWidgetAriaLabel:()=>e(1557,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:(Q)=>{let ee=Q.textLabel,oe=Ph.toLabel(Q.completion.kind);if(typeof Q.completion.label!=="string"){let{detail:_e,description:Se}=Q.completion.label;if(_e&&Se)ee=e(1558,"{0} {1}, {2}, {3}",ee,_e,Se,oe);else if(_e)ee=e(1559,"{0} {1}, {2}",ee,_e,oe);else if(Se)ee=e(1560,"{0}, {1}, {2}",ee,Se,oe)}else ee=e(1561,"{0}, {1}",ee,oe);if(!Q.isResolved||!this._isDetailsVisible())return ee;let{documentation:ne,detail:de}=Q.completion,ge=za("{0}{1}",de||"",ne?typeof ne==="string"?ne:ne.value:"");return e(1562,"{0}, docs: {1}",ee,ge)}}}),this._list.style(vd({listInactiveFocusBackground:IN,listInactiveFocusOutline:LN})),this._status=m.createInstance(Lm,this.element.domNode,er,void 0);let Z=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(134).showStatusBar);Z(),this._disposables.add(this._list.onMouseDown((Q)=>this._onListMouseDownOrTap(Q))),this._disposables.add(this._list.onTap((Q)=>this._onListMouseDownOrTap(Q))),this._disposables.add(this._list.onDidChangeSelection((Q)=>this._onListSelection(Q))),this._disposables.add(this._list.onDidChangeFocus((Q)=>this._onListFocus(Q))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration((Q)=>{if(Q.hasChanged(134))Z(),C(),L();if(this._completionModel&&(Q.hasChanged(59)||Q.hasChanged(135)||Q.hasChanged(136)))this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=We.Visible.bindTo(g),this._ctxSuggestWidgetDetailsVisible=We.DetailsVisible.bindTo(g),this._ctxSuggestWidgetMultipleSuggestions=We.MultipleSuggestions.bindTo(g),this._ctxSuggestWidgetHasFocusedSuggestion=We.HasFocusedSuggestion.bindTo(g),this._ctxSuggestWidgetDetailsFocused=We.DetailsFocused.bindTo(g);let Y=vi(this._details.widget.domNode);this._disposables.add(Y),this._disposables.add(Y.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(Y.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(Ct(this._details.widget.domNode,"keydown",(Q)=>{this._onDetailsKeydown.fire(Q)})),this._disposables.add(this.editor.onMouseDown((Q)=>this._onEditorMouseDown(Q)))}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(n){if(this._details.widget.domNode.contains(n.target.element))this._details.widget.domNode.focus();else if(this.element.domNode.contains(n.target.element))this.editor.focus()}_onCursorSelectionChanged(){if(this._state!==0)this._contentWidget.layout()}_onListMouseDownOrTap(n){if(typeof n.element>"u"||typeof n.index>"u")return;n.browserEvent.preventDefault(),n.browserEvent.stopPropagation(),this._select(n.element,n.index)}_onListSelection(n){if(n.elements.length)this._select(n.elements[0],n.indexes[0])}_select(n,h){let g=this._completionModel;if(g)this._onDidSelect.fire({item:n,index:h,model:g}),this.editor.focus()}_onListFocus(n){if(this._ignoreFocusEvents)return;if(this._state===5)this._setState(3);if(!n.elements.length){if(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 h=n.elements[0],g=n.indexes[0];if(h!==this._focusedItem)this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=h,this._list.reveal(g),this._currentSuggestionDetails=Yt(async(p)=>{let m=gi(()=>{if(this._isDetailsVisible())this._showDetails(!0,!1)},250),_=p.onCancellationRequested(()=>m.dispose());try{return await h.resolve(p)}finally{m.dispose(),_.dispose()}}),this._currentSuggestionDetails.then(()=>{if(g>=this._list.length||h!==this._list.element(g))return;if(this._ignoreFocusEvents=!0,this._list.splice(g,1,[h]),this._list.setFocus([g]),this._ignoreFocusEvents=!1,this._isDetailsVisible())this._showDetails(!1,!1);else this.element.domNode.classList.remove("docs-side");this.editor.setAriaOptions({activeDescendant:this._list.getElementID(g)})}).catch(X);this._onDidFocus.fire({item:h,index:g,model:this._completionModel})}_setState(n){if(this._state===n)return;switch(this._state=n,this.element.domNode.classList.toggle("frozen",n===4),this.element.domNode.classList.remove("message"),n){case 0:po(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=jc.LOADING_MESSAGE,po(this._listElement,this._status.element),Oo(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,jo(jc.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=jc.NO_SUGGESTIONS_MESSAGE,po(this._listElement,this._status.element),Oo(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,jo(jc.NO_SUGGESTIONS_MESSAGE);break;case 3:po(this._messageElement),Oo(this._listElement,this._status.element),this._show();break;case 4:po(this._messageElement),Oo(this._listElement,this._status.element),this._show();break;case 5:po(this._messageElement),Oo(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(n,h){if(this._state!==0)return;if(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!n,!this._isAuto)this._loadingTimeout.value=gi(()=>this._setState(1),h)}showSuggestions(n,h,g,p,m){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==n)this._completionModel=n;if(g&&this._state!==2&&this._state!==0){this._setState(4);return}let _=this._completionModel.items.length,v=_===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(_>1),v){this._setState(p?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(g?4:3),this._list.reveal(h,0,h===0?0:this.getLayoutInfo().itemHeight*0.33),this._list.setFocus(m?[]:[h])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Kv(B(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){if(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};return}toggleDetailsFocus(){if(this._state===5)this._list.setFocus(this._list.getFocus()),this._setState(3);else if(this._state===3)if(this._setState(5),!this._isDetailsVisible())this.toggleDetails(!0);else this._details.widget.focus()}toggleDetails(n=!1){if(this._isDetailsVisible())this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details");else if((Cu(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,n)}_showDetails(n,h){this._pendingShowDetails.value=Kv(B(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let g=!1;if(n)this._details.widget.renderLoading();else this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode);if(!this._details.widget.isEmpty){if(this._positionDetails(),this.element.domNode.classList.add("shows-details"),h)this._details.widget.focus(),g=!0}else this._details.hide();if(!g)this.editor.focus()})}toggleExplainMode(){if(this._list.getFocusedElements()[0])if(this._explainMode=!this._explainMode,!this._isDetailsVisible())this.toggleDetails();else this._showDetails(!1,!1)}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 n=this._persistedSize.restore(),h=Math.ceil(this.getLayoutInfo().itemHeight*4.3);if(n&&n.height<h)this._persistedSize.store(n.with(void 0,h))}isFrozen(){return this._state===4}_afterRender(n){if(n===null){if(this._isDetailsVisible())this._details.hide();return}if(this._state===2||this._state===1)return;if(this._isDetailsVisible()&&!this._details.widget.isEmpty)this._details.show();this._positionDetails()}_layout(n){if(!this.editor.hasModel())return;if(!this.editor.getDomNode())return;let h=la(this.element.domNode.ownerDocument.body),g=this.getLayoutInfo();if(!n)n=g.defaultSize;let p=n.height,m=n.width;if(this._status.element.style.height=`${g.itemHeight}px`,this._state===2||this._state===1)p=g.itemHeight+g.borderHeight,m=g.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new at(m,p),this._contentWidget.setPreference(2);else{let _=h.width-g.borderHeight-2*g.horizontalPadding;if(m>_)m=_;let v=this._completionModel?this._completionModel.stats.pLabelLen*g.typicalHalfwidthCharacterWidth:m;if(this.editor.getOption(134).fitWidthToDetails&&this._completionModel&&!this._persistedSize.restore()){let de=Math.min(_,this.editor.getLayoutInfo().width),ge=Math.min(de,this._measureContentWidth(g));m=Math.max(m,ge),v=Math.max(v,ge)}let S=g.statusBarHeight+this._list.contentHeight+g.borderHeight,C=g.itemHeight+g.statusBarHeight,L=kt(this.editor.getDomNode()),R=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),Z=L.top+R.top+R.height,Y=Math.min(h.height-Z-g.verticalPadding,S),Q=L.top+R.top-g.verticalPadding,ee=Math.min(Q,S),oe=Math.min(Math.max(ee,Y)+g.borderHeight,S);if(p===this._cappedHeight?.capped)p=this._cappedHeight.wanted;if(p<C)p=C;if(p>oe)p=oe;let ne=150;if(p>Y&&ee>Y||this._forceRenderingAbove&&Q>ne)this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),oe=ee;else this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),oe=Y;this.element.preferredSize=new at(v,g.defaultSize.height),this.element.maxSize=new at(_,oe),this.element.minSize=new at(220,C),this._cappedHeight=p===S?{wanted:this._cappedHeight?.wanted??n.height,capped:p}:void 0}this._resize(m,p)}_resize(n,h){let{width:g,height:p}=this.element.maxSize;n=Math.min(g,n),h=Math.min(p,h);let{statusBarHeight:m}=this.getLayoutInfo();this._list.layout(h-m,n),this._listElement.style.height=`${h-m}px`,this.element.layout(h,n),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){if(this._isDetailsVisible())this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}_measureContentWidth(n){let h=this._completionModel;if(!h)return 0;if(this._fitContentWidth?.model===h)return this._fitContentWidth.width;if(this._measureContext===void 0)this._measureContext=w("canvas").getContext("2d");let g;if(this._measureContext){let _=this.editor.getOptions(),v=_.get(59),S=_.get(135)||v.fontSize;this._measureContext.font=`${v.fontWeight} ${S}px ${v.getMassagedFontFamily()}`,g=0;for(let C of h.items){let{completion:L}=C,R=C.textLabel;if(typeof L.label==="string")R+=L.detail??"";else R+=(L.label.detail??"")+(L.label.description??"");g=Math.max(g,this._measureContext.measureText(R).width)}}else g=h.stats.pLabelLen*n.typicalHalfwidthCharacterWidth;let p=2*n.itemHeight+2*n.horizontalPadding+20,m=g+p;return this._fitContentWidth={model:h,width:m},m}getLayoutInfo(){let n=this.editor.getOption(59),h=Gi(this.editor.getOption(136)||n.lineHeight,8,1000),g=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:h,p=this._details.widget.getLayoutInfo().borderWidth,m=2*p;return{itemHeight:h,statusBarHeight:g,borderWidth:p,borderHeight:m,typicalHalfwidthCharacterWidth:n.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new at(430,g+12*h)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(n){this._storageService.store("expandSuggestionDocs",n,0,0)}forceRenderingAbove(){if(!this._forceRenderingAbove)this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore())}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};Nm=jc=xN([Tm(1,Mn),Tm(2,G),Tm(3,ze),Tm(4,A)],Nm);class uE{constructor(u,n){this._widget=u,this._editor=n,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){if(this._added)this._added=!1,this._editor.removeContentWidget(this)}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){if(this._hidden=!1,!this._added)this._added=!0,this._editor.addContentWidget(this)}hide(){if(!this._hidden)this._hidden=!0,this.layout()}layout(){this._editor.layoutContentWidget(this)}getPosition(){if(this._hidden||!this._position||!this._preference)return null;return{position:this._position,preference:[this._preference]}}beforeRender(){let{height:u,width:n}=this._widget.element.size,{borderWidth:h,horizontalPadding:g}=this._widget.getLayoutInfo();return new at(n+2*h+g,u+2*h)}afterRender(u){this._widget._afterRender(u)}setPreference(u){if(!this._preferenceLocked)this._preference=u}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(u){this._position=u}}var kN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},$c=function(u,n){return function(h,g){n(h,g,u)}},Fw;class gE{constructor(u,n){if(this._model=u,this._position=n,this._decorationOptions=ue.register({description:"suggest-line-suffix",stickiness:1}),u.getLineMaxColumn(n.lineNumber)!==n.column){let g=u.getOffsetAt(n),p=u.getPositionAt(g+1);u.changeDecorations((m)=>{if(this._marker)m.removeDecoration(this._marker);this._marker=m.addDecoration(t.fromPositions(n,p),this._decorationOptions)})}}dispose(){if(this._marker&&!this._model.isDisposed())this._model.changeDecorations((u)=>{u.removeDecoration(this._marker),this._marker=void 0})}delta(u){if(this._model.isDisposed()||this._position.lineNumber!==u.lineNumber)return 0;if(this._marker){let n=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(n.getStartPosition())-this._model.getOffsetAt(u)}else return this._model.getLineMaxColumn(u.lineNumber)-u.column}}var En=class u{static{Fw=this}static{this.ID="editor.contrib.suggestController"}static get(n){return n.getContribution(Fw.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(n,h,g,p,m,_,v){this._memoryService=h,this._commandService=g,this._contextKeyService=p,this._instantiationService=m,this._logService=_,this._telemetryService=v,this._lineSuffix=new ce,this._toDispose=new d,this._selectors=new pE((R)=>R.priority),this._onWillInsertSuggestItem=new o,this._wantsForceRenderingAbove=!1,this.editor=n,this.model=m.createInstance(Hc,this.editor),this._selectors.register({priority:0,select:(R,Z,Y)=>this._memoryService.select(R,Z,Y)});let S=We.InsertMode.bindTo(p);S.set(n.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>S.set(n.getOption(134).insertMode))),this.widget=this._toDispose.add(new h0(B(n.getDomNode()),()=>{let R=this._instantiationService.createInstance(Nm,this.editor);this._toDispose.add(R),this._toDispose.add(R.onDidSelect((oe)=>this._insertSuggestion(oe,0),this));let Z=new Rw(this.editor,R,this.model,(oe)=>this._insertSuggestion(oe,2));this._toDispose.add(Z);let Y=We.MakesTextEdit.bindTo(this._contextKeyService),Q=We.HasInsertAndReplaceRange.bindTo(this._contextKeyService),ee=We.CanResolve.bindTo(this._contextKeyService);if(this._toDispose.add(N(()=>{Y.reset(),Q.reset(),ee.reset()})),this._toDispose.add(R.onDidFocus(({item:oe})=>{let ne=this.editor.getPosition(),de=oe.editStart.column,ge=ne.column,_e=!0;if(this.editor.getOption(1)==="smart"&&this.model.state===2&&!oe.completion.additionalTextEdits&&!(oe.completion.insertTextRules&4)&&ge-de===oe.completion.insertText.length)_e=this.editor.getModel().getValueInRange({startLineNumber:ne.lineNumber,startColumn:de,endLineNumber:ne.lineNumber,endColumn:ge})!==oe.completion.insertText;Y.set(_e),Q.set(!s.equals(oe.editInsertEnd,oe.editReplaceEnd)),ee.set(Boolean(oe.provider.resolveCompletionItem)||Boolean(oe.completion.documentation)||oe.completion.detail!==oe.completion.label)})),this._wantsForceRenderingAbove)R.forceRenderingAbove();return R})),this._overtypingCapturer=this._toDispose.add(new h0(B(n.getDomNode()),()=>this._toDispose.add(new Im(this.editor,this.model)))),this._alternatives=this._toDispose.add(new h0(B(n.getDomNode()),()=>this._toDispose.add(new Dd(this.editor,this._contextKeyService)))),this._toDispose.add(m.createInstance(_u,n)),this._toDispose.add(this.model.onDidTrigger((R)=>{this.widget.value.showTriggered(R.auto,R.shy?250:50),this._lineSuffix.value=new gE(this.editor.getModel(),R.position)})),this._toDispose.add(this.model.onDidSuggest((R)=>{if(R.triggerOptions.shy)return;let Z=-1;for(let Q of this._selectors.itemsOrderedByPriorityDesc)if(Z=Q.select(this.editor.getModel(),this.editor.getPosition(),R.completionModel.items),Z!==-1)break;if(Z===-1)Z=0;if(this.model.state===0)return;let Y=!1;if(R.triggerOptions.auto){let Q=this.editor.getOption(134);if(Q.selectionMode==="never"||Q.selectionMode==="always")Y=Q.selectionMode==="never";else if(Q.selectionMode==="whenTriggerCharacter")Y=R.triggerOptions.triggerKind!==1;else if(Q.selectionMode==="whenQuickSuggestion")Y=R.triggerOptions.triggerKind===1&&!R.triggerOptions.refilter}this.widget.value.showSuggestions(R.completionModel,Z,R.isFrozen,R.triggerOptions.auto,Y)})),this._toDispose.add(this.model.onDidCancel((R)=>{if(!R.retrigger)this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let C=We.AcceptSuggestionsOnEnter.bindTo(p),L=()=>{let R=this.editor.getOption(1);C.set(R==="on"||R==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>L())),L()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(n,h){if(!n||!n.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;let g=Vt.get(this.editor);if(!g)return;this._onWillInsertSuggestItem.fire({item:n.item});let p=this.editor.getModel(),m=p.getAlternativeVersionId(),{item:_}=n,v=[],S=new qe;if(!(h&1))this.editor.pushUndoStop();let C=this.getOverwriteInfo(_,Boolean(h&8));this._memoryService.memorize(p,this.editor.getPosition(),_);let L=_.isResolved,R=-1,Z=-1;if(Array.isArray(_.completion.additionalTextEdits)){this.model.cancel();let Q=is.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",_.completion.additionalTextEdits.map((ee)=>{let oe=t.lift(ee.range);if(oe.startLineNumber===_.position.lineNumber&&oe.startColumn>_.position.column){let ne=this.editor.getPosition().column-_.position.column,de=ne,ge=t.spansMultipleLines(oe)?0:ne;oe=new t(oe.startLineNumber,oe.startColumn+de,oe.endLineNumber,oe.endColumn+ge)}return Jt.replaceMove(oe,ee.text)})),Q.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!L){let Q=new dn,ee,oe=p.onDidChangeContent((_e)=>{if(_e.isFlush){S.cancel(),oe.dispose();return}for(let Se of _e.changes){let ae=t.getEndPosition(Se.range);if(!ee||s.isBefore(ae,ee))ee=ae}}),ne=h;h|=2;let de=!1,ge=this.editor.onWillType(()=>{if(ge.dispose(),de=!0,!(ne&2))this.editor.pushUndoStop()});v.push(_.resolve(S.token).then(()=>{if(!_.completion.additionalTextEdits||S.token.isCancellationRequested)return;if(ee&&_.completion.additionalTextEdits.some((Se)=>s.isBefore(ee,t.getStartPosition(Se.range))))return!1;if(de)this.editor.pushUndoStop();let _e=is.capture(this.editor);if(this.editor.executeEdits("suggestController.additionalTextEdits.async",_.completion.additionalTextEdits.map((Se)=>Jt.replaceMove(t.lift(Se.range),Se.text))),_e.restoreRelativeVerticalPositionOfCursor(this.editor),de||!(ne&2))this.editor.pushUndoStop();return!0}).then((_e)=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",Q.elapsed(),_e),Z=_e===!0?1:_e===!1?0:-2}).finally(()=>{oe.dispose(),ge.dispose()}))}let{insertText:Y}=_.completion;if(!(_.completion.insertTextRules&4))Y=bo.escape(Y);if(this.model.cancel(),g.insert(Y,{overwriteBefore:C.overwriteBefore,overwriteAfter:C.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(_.completion.insertTextRules&1),clipboardText:n.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:Yn.suggest({providerId:Vv.fromExtensionId(_.extensionId?.value)})}),!(h&2))this.editor.pushUndoStop();if(_.completion.command)if(_.completion.command.id===Mm.id)this.model.trigger({auto:!0,retrigger:!0});else{let Q=new dn;v.push(this._commandService.executeCommand(_.completion.command.id,..._.completion.command.arguments?[..._.completion.command.arguments]:[]).catch((ee)=>{if(_.completion.extensionId)vt(ee);else X(ee)}).finally(()=>{R=Q.elapsed()}))}if(h&4)this._alternatives.value.set(n,(Q)=>{S.cancel();while(p.canUndo()){if(m!==p.getAlternativeVersionId())p.undo();this._insertSuggestion(Q,3|(h&8?8:0));break}});this._alertCompletionItem(_),Promise.all(v).finally(()=>{this._reportSuggestionAcceptedTelemetry(_,p,L,R,Z,n.index,n.model.items),this.model.clear(),S.dispose()})}_reportSuggestionAcceptedTelemetry(n,h,g,p,m,_,v){if(Math.random()>0.0001)return;let S=new Map;for(let Z=0;Z<Math.min(30,v.length);Z++){let Y=v[Z].textLabel;if(S.has(Y))S.get(Y).push(Z);else S.set(Y,[Z])}let C=S.get(n.textLabel),R=C&&C.length>1?C[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:n.extensionId?.value??"unknown",providerId:n.provider._debugDisplayName??"unknown",kind:n.completion.kind,basenameHash:ou(Oi(h.uri)).toString(16),languageId:h.getLanguageId(),fileExtension:jM(h.uri),resolveInfo:!n.provider.resolveCompletionItem?-1:g?1:0,resolveDuration:n.resolveDuration,commandDuration:p,additionalEditsAsync:m,index:_,firstIndex:R})}getOverwriteInfo(n,h){Fe(this.editor.hasModel());let g=this.editor.getOption(134).insertMode==="replace";if(h)g=!g;let p=n.position.column-n.editStart.column,m=(g?n.editReplaceEnd.column:n.editInsertEnd.column)-n.position.column,_=this.editor.getPosition().column-n.position.column,v=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:p+_,overwriteAfter:m+v}}_alertCompletionItem(n){if(qn(n.completion.additionalTextEdits)){let h=e(1534,"Accepting '{0}' made {1} additional edits",n.textLabel,n.completion.additionalTextEdits.length);zn(h)}}triggerSuggest(n,h,g){if(this.editor.hasModel())this.model.trigger({auto:h??!1,completionOptions:{providerFilter:n,kindFilter:g?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus()}triggerSuggestAndAcceptBest(n){if(!this.editor.hasModel())return;let h=this.editor.getPosition(),g=()=>{if(h.equals(this.editor.getPosition()))this._commandService.executeCommand(n.fallback)},p=(m)=>{if(m.completion.insertTextRules&4||m.completion.additionalTextEdits)return!0;let _=this.editor.getPosition(),v=m.editStart.column,S=_.column;if(S-v!==m.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:_.lineNumber,startColumn:v,endLineNumber:_.lineNumber,endColumn:S})!==m.completion.insertText};I.once(this.model.onDidTrigger)((m)=>{let _=[];I.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Be(_),g()},void 0,_),this.model.onDidSuggest(({completionModel:v})=>{if(Be(_),v.items.length===0){g();return}let S=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),v.items),C=v.items[S];if(!p(C)){g();return}this.editor.pushUndoStop(),this._insertSuggestion({index:S,item:C,model:v},7)},void 0,_)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(h,0),this.editor.focus()}acceptSelectedSuggestion(n,h){let g=this.widget.value.getFocusedItem(),p=0;if(n)p|=4;if(h)p|=8;this._insertSuggestion(g,p)}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(){if(this.widget.isInitialized)this.widget.value.forceRenderingAbove();else this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){if(this.widget.isInitialized)this.widget.value.stopForceRenderingAbove();else this._wantsForceRenderingAbove=!1}registerSelector(n){return this._selectors.register(n)}};En=Fw=kN([$c(1,Fc),$c(2,Ue),$c(3,G),$c(4,A),$c(5,Ye),$c(6,Bn)],En);class pE{constructor(u){this.prioritySelector=u,this._items=[]}register(u){if(this._items.indexOf(u)!==-1)throw Error("Value is already registered");return this._items.push(u),this._items.sort((n,h)=>this.prioritySelector(h)-this.prioritySelector(n)),{dispose:()=>{let n=this._items.indexOf(u);if(n>=0)this._items.splice(n,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class Mm extends U{static{this.id="editor.action.triggerSuggest"}constructor(){super({id:Mm.id,label:b(1543,"Trigger Suggest"),precondition:T.and(r.writable,r.hasCompletionItemProvider,We.Visible.toNegated()),kbOpts:{kbExpr:r.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(u,n,h){let g=En.get(n);if(!g)return;let p;if(h&&typeof h==="object"){if(h.auto===!0)p=!0}g.triggerSuggest(void 0,p,void 0)}}fe(En.ID,En,2);O(Mm);var no=190,ji=en.bindToContribution(En.get);K(new ji({id:"acceptSelectedSuggestion",precondition:T.and(We.Visible,We.HasFocusedSuggestion),handler(u){u.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:T.and(We.Visible,r.textInputFocus),weight:no},{primary:3,kbExpr:T.and(We.Visible,r.textInputFocus,We.AcceptSuggestionsOnEnter,We.MakesTextEdit),weight:no}],menuOpts:[{menuId:er,title:e(1535,"Insert"),group:"left",order:1,when:T.and(We.HasFocusedSuggestion,We.HasInsertAndReplaceRange.toNegated())},{menuId:er,title:e(1536,"Insert"),group:"left",order:1,when:T.and(We.HasFocusedSuggestion,We.HasInsertAndReplaceRange,We.InsertMode.isEqualTo("insert"))},{menuId:er,title:e(1537,"Replace"),group:"left",order:1,when:T.and(We.HasFocusedSuggestion,We.HasInsertAndReplaceRange,We.InsertMode.isEqualTo("replace"))}]}));K(new ji({id:"acceptAlternativeSelectedSuggestion",precondition:T.and(We.Visible,r.textInputFocus,We.HasFocusedSuggestion),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:1027,secondary:[1026]},handler(u){u.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:er,group:"left",order:2,when:T.and(We.HasFocusedSuggestion,We.HasInsertAndReplaceRange,We.InsertMode.isEqualTo("insert")),title:e(1538,"Replace")},{menuId:er,group:"left",order:2,when:T.and(We.HasFocusedSuggestion,We.HasInsertAndReplaceRange,We.InsertMode.isEqualTo("replace")),title:e(1539,"Insert")}]}));Le.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");K(new ji({id:"hideSuggestWidget",precondition:We.Visible,handler:(u)=>u.cancelSuggestWidget(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:9,secondary:[1033]}}));K(new ji({id:"selectNextSuggestion",precondition:T.and(We.Visible,T.or(We.MultipleSuggestions,We.HasFocusedSuggestion.negate())),handler:(u)=>u.selectNextSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:er,group:"left",order:0,when:We.HasFocusedSuggestion.toNegated(),title:e(1540,"Select")}}));K(new ji({id:"selectNextPageSuggestion",precondition:T.and(We.Visible,T.or(We.MultipleSuggestions,We.HasFocusedSuggestion.negate())),handler:(u)=>u.selectNextPageSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:12,secondary:[2060]}}));K(new ji({id:"selectLastSuggestion",precondition:T.and(We.Visible,T.or(We.MultipleSuggestions,We.HasFocusedSuggestion.negate())),handler:(u)=>u.selectLastSuggestion()}));K(new ji({id:"selectPrevSuggestion",precondition:T.and(We.Visible,T.or(We.MultipleSuggestions,We.HasFocusedSuggestion.negate())),handler:(u)=>u.selectPrevSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));K(new ji({id:"selectPrevPageSuggestion",precondition:T.and(We.Visible,T.or(We.MultipleSuggestions,We.HasFocusedSuggestion.negate())),handler:(u)=>u.selectPrevPageSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:11,secondary:[2059]}}));K(new ji({id:"selectFirstSuggestion",precondition:T.and(We.Visible,T.or(We.MultipleSuggestions,We.HasFocusedSuggestion.negate())),handler:(u)=>u.selectFirstSuggestion()}));K(new ji({id:"focusSuggestion",precondition:T.and(We.Visible,We.HasFocusedSuggestion.negate()),handler:(u)=>u.focusSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));K(new ji({id:"focusAndAcceptSuggestion",precondition:T.and(We.Visible,We.HasFocusedSuggestion.negate()),handler:(u)=>{u.focusSuggestion(),u.acceptSelectedSuggestion(!0,!1)}}));K(new ji({id:"toggleSuggestionDetails",precondition:T.and(We.Visible,We.HasFocusedSuggestion),handler:(u)=>u.toggleSuggestionDetails(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:er,group:"right",order:1,when:T.and(We.DetailsVisible,We.CanResolve),title:e(1541,"Show Less")},{menuId:er,group:"right",order:1,when:T.and(We.DetailsVisible.toNegated(),We.CanResolve),title:e(1542,"Show More")}]}));K(new ji({id:"toggleExplainMode",precondition:We.Visible,handler:(u)=>u.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));K(new ji({id:"toggleSuggestionFocus",precondition:We.Visible,handler:(u)=>u.toggleSuggestionFocus(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:2570,mac:{primary:778}}}));K(new ji({id:"insertBestCompletion",precondition:T.and(r.textInputFocus,T.equals("config.editor.tabCompletion","on"),_u.AtEnd,We.Visible.toNegated(),Dd.OtherSuggestions.toNegated(),Vt.InSnippetMode.toNegated()),handler:(u,n)=>{u.triggerSuggestAndAcceptBest(cn(n)?{fallback:"tab",...n}:{fallback:"tab"})},kbOpts:{weight:no,primary:2}}));K(new ji({id:"insertNextSuggestion",precondition:T.and(r.textInputFocus,T.equals("config.editor.tabCompletion","on"),Dd.OtherSuggestions,We.Visible.toNegated(),Vt.InSnippetMode.toNegated()),handler:(u)=>u.acceptNextSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:2}}));K(new ji({id:"insertPrevSuggestion",precondition:T.and(r.textInputFocus,T.equals("config.editor.tabCompletion","on"),Dd.OtherSuggestions,We.Visible.toNegated(),Vt.InSnippetMode.toNegated()),handler:(u)=>u.acceptPrevSuggestion(),kbOpts:{weight:no,kbExpr:r.textInputFocus,primary:1026}}));K(new class extends en{constructor(){super({id:"suggestWidgetCopy",precondition:We.DetailsFocused,kbOpts:{weight:no+10,kbExpr:We.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(u,n){B(n.getDomNode()).document.execCommand("copy")}});O(class extends U{constructor(){super({id:"editor.action.resetSuggestSize",label:b(1544,"Reset Suggest Widget Size"),precondition:void 0})}run(u,n){En.get(n)?.resetWidgetSize()}});class mE extends i{get selectedItem(){return this._currentSuggestItemInfo}constructor(u,n,h){super();this.editor=u,this.suggestControllerPreselector=n,this.onWillAccept=h,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new o),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(u.onKeyDown((p)=>{if(p.shiftKey&&!this.isShiftKeyPressed)this.isShiftKeyPressed=!0,this.update(this._isActive)})),this._register(u.onKeyUp((p)=>{if(p.shiftKey&&this.isShiftKeyPressed)this.isShiftKeyPressed=!1,this.update(this._isActive)}));let g=En.get(this.editor);if(g){this._register(g.registerSelector({priority:100,select:(_,v,S)=>{let C=this.editor.getModel();if(!C)return-1;let L=this.suggestControllerPreselector(),R=L?Xo(L,C):void 0;if(!R)return-1;let Z=s.lift(v),Y=S.map((ee,oe)=>{let ne=yu.fromSuggestion(g,C,Z,ee,this.isShiftKeyPressed),de=Xo(ne.getSingleTextEdit(),C),ge=hm(R,de);return{index:oe,valid:ge,prefixLength:de.text.length,suggestItem:ee}}).filter((ee)=>ee&&ee.valid&&ee.prefixLength>0),Q=g0(Y,jn((ee)=>ee.prefixLength,Vi));return Q?Q.index:-1}}));let p=!1,m=()=>{if(p)return;p=!0,this._register(g.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(g.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(g.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))};this._register(I.once(g.model.onDidTrigger)((_)=>{m()})),this._register(g.onWillInsertSuggestItem((_)=>{let v=this.editor.getPosition(),S=this.editor.getModel();if(!v||!S)return;let C=yu.fromSuggestion(g,S,v,_.item,this.isShiftKeyPressed);this.onWillAccept(C)}))}this.update(this._isActive)}update(u){let n=this.getSuggestItemInfo();if(this._isActive!==u||!EN(this._currentSuggestItemInfo,n))this._isActive=u,this._currentSuggestItemInfo=n,this._onDidSelectedItemChange.fire()}getSuggestItemInfo(){let u=En.get(this.editor);if(!u||!this.isSuggestWidgetVisible)return;let n=u.widget.value.getFocusedItem(),h=this.editor.getPosition(),g=this.editor.getModel();if(!n||!h||!g)return;return yu.fromSuggestion(u,g,h,n.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){En.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){En.get(this.editor)?.forceRenderingAbove()}}class yu{static fromSuggestion(u,n,h,g,p){let{insertText:m}=g.completion,_=!1;if(g.completion.insertTextRules&4){let S=new bo().parse(m);if(S.children.length<100)Ac.adjustWhitespace(n,h,!0,S);m=S.toString(),_=!0}let v=u.getOverwriteInfo(g,p);return new yu(t.fromPositions(h.delta(0,-v.overwriteBefore),h.delta(0,Math.max(v.overwriteAfter,0))),m,g.completion.kind,_,g.container.incomplete??!1)}constructor(u,n,h,g,p){this.range=u,this.insertText=n,this.completionItemKind=h,this.isSnippetText=g,this.listIncomplete=p}equals(u){return this.range.equalsRange(u.range)&&this.insertText===u.insertText&&this.completionItemKind===u.completionItemKind&&this.isSnippetText===u.isSnippetText}toSelectedSuggestionInfo(){return new r0(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new gt(this.range,this.insertText)}}function EN(u,n){if(u===n)return!0;if(!u||!n)return!1;return u.equals(n)}class Hw extends i{constructor(u,n,h){super();this._editorObs=u,this._handleSuggestAccepted=n,this._suggestControllerPreselector=h,this._suggestWidgetAdaptor=this._register(new mE(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),(g)=>this._editorObs.forceUpdate((p)=>{this._handleSuggestAccepted(g)}))),this.selectedItem=Pe(this,(g)=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate((p)=>g(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}}class Ww{constructor(u,n){this.lineNumber=u,this.columnRange=n}}class Om{constructor(u,n){if(this.startColumn=u,this.endColumnExclusive=n,u>n)throw new H(`startColumn ${u} cannot be after endColumnExclusive ${n}`)}toRange(u){return new t(u,this.startColumn,u,this.endColumnExclusive)}equals(u){return this.startColumn===u.startColumn&&this.endColumnExclusive===u.endColumnExclusive}toZeroBasedOffsetRange(){return new V(this.startColumn-1,this.endColumnExclusive-1)}}class ta{static fromLineTokens(u){let n=[];for(let h=0;h<u.getCount();h++)n.push(new Bw(u.getTokenText(h),u.getMetadata(h)));return ta.create(n)}static create(u){return new ta(u)}constructor(u){this._tokenInfo=u}toLineTokens(u){return Tt.createFromTextAndMetadata(this.map((n,h)=>({text:h.text,metadata:h.metadata})),u)}map(u){let n=[],h=0;for(let g of this._tokenInfo){let p=new V(h,h+g.text.length);n.push(u(p,g)),h+=g.text.length}return n}slice(u){let n=[],h=0;for(let g of this._tokenInfo){let p=h,m=p+g.text.length;if(m>u.start){if(p>=u.endExclusive)break;let _=Math.max(0,u.start-p),v=Math.max(0,m-u.endExclusive);n.push(new Bw(g.text.slice(_,g.text.length-v),g.metadata))}h+=g.text.length}return ta.create(n)}append(u){let n=this._tokenInfo.concat(u._tokenInfo);return ta.create(n)}}class Bw{constructor(u,n){this.text=u,this.metadata=n}}var DN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},TN=function(u,n){return function(h,g){n(h,g,u)}};class Am{static from(u){if(!u)return;return new Am(u.icon)}constructor(u=x.warning){this.icon=u}}var bE="ghost-text",na=class u extends i{constructor(n,h,g,p){super();if(this._editor=n,this._data=h,this._languageService=p,this._isDisposed=j(this,!1),this._warningState=f((m)=>{let _=this._data.read(m),v=_?.warning;if(!_||!v)return;let S=_.ghostText;return{lineNumber:S.lineNumber,position:new s(S.lineNumber,S.parts[0].column),icon:v.icon}}),this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=f(this,(m)=>{let _=this._data.read(m);if(!_)return;return _.ghostText.parts.map((C)=>C.lines.map((L)=>L.line).join("")).join("").replace(/\s/g,"").length}),this._extraClassNames=f(this,(m)=>{let _=this._extraClasses.slice();if(this._warningState.read(m))_.push("warning");let v=this._nonWhitespaceCount.read(m);if(this._highlightShortText&&v&&v<3)_.push("short-text");else if(this._useSyntaxHighlighting.read(m))_.push("syntax-highlighted");return _.map((C)=>` ${C}`).join("")}),this._state=f(this,(m)=>{if(this._isDisposed.read(m))return;let _=this._data.read(m);if(!_)return;let v=this._editorObs.model.read(m);if(!v)return;let S=_.ghostText,C=S instanceof zh?S.columnRange:void 0,L=this._useSyntaxHighlighting.read(m),R=this._extraClassNames.read(m),{inlineTexts:Z,additionalLines:Y,hiddenRange:Q,additionalLinesOriginalSuffix:ee}=RN(S,v,bE+R),oe=v.getLineContent(S.lineNumber),ne=new xo(Z.map((Oe)=>ui.insert(Oe.column-1,Oe.text))),de=L?v.tokenization.tokenizeLinesAt(S.lineNumber,[ne.apply(oe),...Y.map((Oe)=>Oe.content)]):void 0,ge=ne.getNewRanges(),_e=Z.map((Oe,Ce)=>({...Oe,tokens:de?.[0]?.getTokensInRange(ge[Ce])})),Se=Y.map((Oe,Ce)=>{let He=de?.[Ce+1]??Tt.createEmpty(Oe.content,this._languageService.languageIdCodec);if(Ce===Y.length-1&&ee){let Ve=ta.fromLineTokens(v.tokenization.getLineTokens(ee.lineNumber)).slice(ee.columnRange.toZeroBasedOffsetRange());He=ta.fromLineTokens(He).append(Ve).toLineTokens(He.languageIdCodec)}return new SE(He,Oe.decorations)}),ae=this._editor.getSelection()?.getStartPosition().column,pe=_e.filter((Oe)=>Oe.text!==""),Ne=pe.length!==0,Me=new zc((Ne?pe[0].column:1)-ae,Ne?0:Y.findIndex((Oe)=>Oe.content!=="")+1,Ne?1:0,Y.length+(Ne?1:0),0,Hv(pe.map((Oe)=>Oe.text.length))+Hv(Se.map((Oe)=>Oe.content.getTextLength())),pe.length+(Y.length>0?1:0),pe.length>1&&Se.length===0?pe.every((Oe)=>Oe.text===pe[0].text):void 0);return{replacedRange:C,inlineTexts:_e,additionalLines:Se,hiddenRange:Q,lineNumber:S.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(m),targetTextModel:v,syntaxHighlightingEnabled:L,telemetryViewData:Me,handleInlineCompletionShown:_.handleInlineCompletionShown}}),this._decorations=f(this,(m)=>{let _=this._state.read(m);if(!_)return[];let v=[],S=this._extraClassNames.read(m);if(_.replacedRange)v.push({range:_.replacedRange.toRange(_.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace"+S,description:"GhostTextReplacement"}});if(_.hiddenRange)v.push({range:_.hiddenRange.toRange(_.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(let C of _.inlineTexts){let L="";if(this._highlightShortText&&C.text.length<5)L+=" short-text";v.push({range:t.fromPositions(new s(_.lineNumber,C.column)),options:{description:"ghost-text-decoration",after:{content:C.text,tokens:C.tokens,inlineClassName:(C.preview?"ghost-text-decoration-preview":"ghost-text-decoration")+(this._isClickable?" clickable":"")+S+L+C.lineDecorations.map((R)=>" "+R.className).join(" "),cursorStops:vs.Left,attachedData:new Pm(this)},showIfCollapsed:!0}})}return v}),this.isHovered=f(this,(m)=>{if(this._isDisposed.read(m))return!1;return this._isInlineTextHovered.read(m)||this._additionalLinesWidget.isHovered.read(m)}),this._extraClasses=g.extraClasses??[],this._isClickable=g.isClickable??!1,this._shouldKeepCursorStable=g.shouldKeepCursorStable??!1,this._minReservedLineCount=g.minReservedLineCount??De(0),this._useSyntaxHighlighting=g.useSyntaxHighlighting??De(!0),this._highlightShortText=g.highlightShortSuggestions??!1,this._editorObs=ct(this._editor),this._additionalLinesWidget=this._register(new wE(this._editor,In({owner:this,equalsFn:ru(mf())},(m)=>{let _=this._state.read(m);return _?new vE(_.lineNumber,_.additionalLines,_.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered((m)=>m.target.type===6&&m.target.detail.injectedText?.options.attachedData instanceof Pm&&m.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register(N(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable)this._register(this._additionalLinesWidget.onDidClick((m)=>this._onDidClick.fire(m))),this._register(this._editor.onMouseUp((m)=>{if(m.target.type!==6)return;let _=m.target.detail.injectedText?.options.attachedData;if(_ instanceof Pm&&_.owner===this)this._onDidClick.fire(m.event)}));this._register(W((m)=>{let _=this._state.read(m);_?.handleInlineCompletionShown(_.telemetryViewData)})),this._register(ri((m,_)=>{return}))}static getWarningWidgetContext(n){let h=n.ghostTextViewWarningWidgetData;if(h)return h;else if(n.parentElement)return this.getWarningWidgetContext(n.parentElement);return}ownsViewZone(n){return this._additionalLinesWidget.viewZoneId===n}};na=DN([TN(3,xt)],na);class Pm{constructor(u){this.owner=u}}function RN(u,n,h){let g=[],p=[];function m(R,Z){if(p.length>0){let Y=p[p.length-1];if(Z)Y.decorations.push(new Xi(Y.content.length+1,Y.content.length+1+R[0].line.length,Z,0));Y.content+=R[0].line,R=R.slice(1)}for(let Y of R)p.push({content:Y.line,decorations:Z?[new Xi(1,Y.line.length+1,Z,0),...Y.lineDecorations]:[...Y.lineDecorations]})}let _=n.getLineContent(u.lineNumber),v=void 0,S=0;for(let R of u.parts){let Z=R.lines;if(v===void 0)g.push({column:R.column,text:Z[0].line,preview:R.preview,lineDecorations:Z[0].lineDecorations}),Z=Z.slice(1);else m([{line:_.substring(S,R.column-1),lineDecorations:[]}],void 0);if(Z.length>0){if(m(Z,h),v===void 0&&R.column<=_.length)v=R.column}S=R.column-1}let C=void 0;if(v!==void 0)C=new Ww(u.lineNumber,new Om(S+1,_.length+1));let L=v!==void 0?new Om(v,_.length+1):void 0;return{inlineTexts:g,additionalLines:p,hiddenRange:L,additionalLinesOriginalSuffix:C}}class vE{constructor(u,n,h){this.lineNumber=u,this.additionalLines=n,this.minReservedLineCount=h}equals(u){if(this.lineNumber!==u.lineNumber)return!1;if(this.minReservedLineCount!==u.minReservedLineCount)return!1;return ot(this.additionalLines,u.additionalLines,mf())}}class wE extends i{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}constructor(u,n,h,g){super();if(this._editor=u,this._lines=n,this._shouldKeepCursorStable=h,this._isClickable=g,this._viewZoneHeight=j("viewZoneHeight",void 0),this.editorOptionsChanged=Ii("editorOptionChanged",I.filter(this._editor.onDidChangeConfiguration,(p)=>p.hasChanged(40)||p.hasChanged(133)||p.hasChanged(113)||p.hasChanged(108)||p.hasChanged(60)||p.hasChanged(59)||p.hasChanged(75)||p.hasChanged(176))),this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new ce),this.isHovered=ct(this._editor).isTargetHovered((p)=>fE(p.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof vc&&this._shouldKeepCursorStable)this._register(this._editor.onBeforeExecuteEdit((p)=>this.hasBeenAccepted=p.source==="inlineCompletionAccept"));this._register(W((p)=>{let m=this._lines.read(p);if(this.editorOptionsChanged.read(p),m)this.hasBeenAccepted=!1,this.updateLines(m.lineNumber,m.additionalLines,m.minReservedLineCount);else this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones((u)=>{this.removeActiveViewZone(u)})}updateLines(u,n,h){let g=this._editor.getModel();if(!g)return;let{tabSize:p}=g.getOptions();ct(this._editor).transaction((m)=>{this._editor.changeViewZones((_)=>{let v=new d;this.removeActiveViewZone(_);let S=Math.max(n.length,h);if(S>0){let C=document.createElement("div");if(NN(C,p,n,this._editor.getOptions(),this._isClickable),this._isClickable)v.add(c(C,"mousedown",(L)=>{L.preventDefault()})),v.add(c(C,"click",(L)=>{if(fE(L.target))this._onDidClick.fire(new ci(B(L),L))}));this.addViewZone(_,u,S,C)}this._viewZoneListener.value=v})})}addViewZone(u,n,h,g){let p=u.addZone({afterLineNumber:n,heightInLines:h,domNode:g,afterColumnAffinity:1,onComputedHeight:(m)=>{this._viewZoneHeight.set(m,void 0)}});this.keepCursorStable(n,h),this._viewZoneInfo={viewZoneId:p,heightInLines:h,lineNumber:n}}removeActiveViewZone(u){if(this._viewZoneInfo){if(u.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(u,n){if(!this._shouldKeepCursorStable)return;let h=this._editor.getSelection()?.getStartPosition()?.lineNumber;if(h!==void 0&&u<h)this._editor.setScrollTop(this._editor.getScrollTop()+n*this._editor.getOption(75))}}function fE(u){return $e(u)&&u.classList.contains(bE)}class SE{constructor(u,n){this.content=u,this.decorations=n}equals(u){if(!this.content.equals(u.content))return!1;return Xi.equalsArr(this.decorations,u.decorations)}}function NN(u,n,h,g,p){let m=g.get(40),_=g.get(133),v="none",S=g.get(108),C=g.get(60),L=g.get(59),R=g.get(75),Z=g.get(176)==="twoCells",Y="suggest-preview-text";if(p)Y+=" clickable";let Q=new bs(1e4);Q.appendString(`<div class="${Y}">`);for(let ne=0,de=h.length;ne<de;ne++){let ge=h[ne],_e=ge.content;Q.appendString('<div class="view-line'),Q.appendString('" style="top:'),Q.appendString(String(ne*R)),Q.appendString('px;width:1000000px;">');let Se=_e.getLineContent(),ae=iu(Se),pe=xl(Se);dd(new ys(L.isMonospace&&!m,L.canUseHalfwidthRightwardsArrow,Se,!1,ae,pe,0,_e,ge.decorations.slice(),n,0,L.spaceWidth,L.middotWidth,L.wsmiddotWidth,_,"none",S,C!==Ir.OFF,null,null,0,!1,Z),Q),Q.appendString("</div>")}Q.appendString("</div>"),_n(u,L);let ee=Q.build(),oe=_E?_E.createHTML(ee):ee;u.innerHTML=oe}var _E=Fo("editorGhostText",{createHTML:(u)=>u});class sa{constructor(u,n){this.width=u,this.height=n}toString(){return`(${this.width},${this.height})`}transpose(){return new sa(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}}class st{static fromPoints(u,n){return new st(u.x,u.y,n.x,n.y)}static fromPointSize(u,n){return new st(u.x,u.y,u.x+n.x,u.y+n.y)}static fromLeftTopRightBottom(u,n,h,g){return new st(u,n,h,g)}static fromLeftTopWidthHeight(u,n,h,g){return new st(u,n,u+h,n+g)}static fromRanges(u,n){return new st(u.start,n.start,u.endExclusive,n.endExclusive)}static hull(u){let{MAX_SAFE_INTEGER:n,MAX_SAFE_INTEGER:h,MIN_SAFE_INTEGER:g,MIN_SAFE_INTEGER:p}=Number;for(let m of u)n=Math.min(n,m.left),h=Math.min(h,m.top),g=Math.max(g,m.right),p=Math.max(p,m.bottom);return new st(n,h,g,p)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(u,n,h,g){if(this.left=u,this.top=n,this.right=h,this.bottom=g,u>h)throw new H("Invalid arguments: Horizontally offset by "+(u-h));if(n>g)throw new H("Invalid arguments: Vertically offset by "+(n-g))}withMargin(u,n,h,g){let p,m,_,v;if(n===void 0&&h===void 0&&g===void 0)p=m=_=v=u;else if(h===void 0&&g===void 0)p=m=n,_=v=u;else p=g,m=n,_=u,v=h;return new st(this.left-p,this.top-_,this.right+m,this.bottom+v)}intersectVertical(u){let n=Math.max(this.top,u.start),h=Math.min(this.bottom,u.endExclusive);return new st(this.left,n,this.right,Math.max(n,h))}intersectHorizontal(u){let n=Math.max(this.left,u.start),h=Math.min(this.right,u.endExclusive);return new st(n,this.top,Math.max(n,h),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(u){let n=Math.max(this.left,u.left),h=Math.min(this.right,u.right),g=Math.max(this.top,u.top),p=Math.min(this.bottom,u.bottom);if(n>h||g>p)return;return new st(n,g,h,p)}containsRect(u){return this.left<=u.left&&this.top<=u.top&&this.right>=u.right&&this.bottom>=u.bottom}containsPoint(u){return this.left<=u.x&&this.top<=u.y&&this.right>=u.x&&this.bottom>=u.y}moveToBeContainedIn(u){let n=this.width,h=this.height,g=this.left,p=this.top;if(g<u.left)g=u.left;else if(g+n>u.right)g=u.right-n;if(p<u.top)p=u.top;else if(p+h>u.bottom)p=u.bottom-h;return new st(g,p,g+n,p+h)}withWidth(u){return new st(this.left,this.top,this.left+u,this.bottom)}withHeight(u){return new st(this.left,this.top,this.right,this.top+u)}withTop(u){return new st(this.left,u,this.right,this.bottom)}withLeft(u){return new st(u,this.top,this.right,this.bottom)}translateX(u){return new st(this.left+u,this.top,this.right+u,this.bottom)}translateY(u){return new st(this.left,this.top+u,this.right,this.bottom+u)}getLeftBottom(){return new wi(this.left,this.bottom)}getRightBottom(){return new wi(this.right,this.bottom)}getRightTop(){return new wi(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(u){return new st(u.start,this.top,u.endExclusive,this.bottom)}getSize(){return new sa(this.width,this.height)}}class Gc{constructor(u,n,h,g=null){this.startLineNumbers=u,this.endLineNumbers=n,this.lastLineRelativePosition=h,this.showEndForLine=g}equals(u){return!!u&&this.lastLineRelativePosition===u.lastLineRelativePosition&&this.showEndForLine===u.showEndForLine&&ot(this.startLineNumbers,u.startLineNumbers)&&ot(this.endLineNumbers,u.endLineNumbers)}static get Empty(){return new Gc([],[],0)}}var CE=Fo("stickyScrollViewLayer",{createHTML:(u)=>u}),Vw="data-sticky-line-index",yE="data-sticky-is-line",MN="data-sticky-is-line-number",xE="data-sticky-is-folding-icon";class zw extends i{get height(){return this._height}constructor(u){super();this._foldingIconStore=this._register(new d),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 o),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=u,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",u instanceof Bi),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);let n=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((h)=>{if(h.hasChanged(131))n()})),this._register(this._editor.onDidScrollChange((h)=>{if(h.scrollLeftChanged)n();if(h.scrollWidthChanged)this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{n(),this._updateWidgetWidth()})),n(),this._register(this._editor.onDidLayoutChange((h)=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(u){return this._renderedStickyLines.find((n)=>n.lineNumber===u)}getCurrentLines(){return this._lineNumbers}setState(u,n,h){let g=!this._state&&!u,p=this._state&&this._state.equals(u);if(h===void 0&&(g||p))return;let m=this._findRenderingData(u),_=this._lineNumbers;this._lineNumbers=m.lineNumbers,this._lastLineRelativePosition=m.lastLineRelativePosition;let v=this._findIndexToRebuildFrom(_,this._lineNumbers,h);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,n,v),this._state=u}_findRenderingData(u){if(!u)return{lineNumbers:[],lastLineRelativePosition:0};let n=[...u.startLineNumbers];if(u.showEndForLine!==null)n[u.showEndForLine]=u.endLineNumbers[u.showEndForLine];let h=0;for(let g=0;g<n.length;g++){let p=new s(n[g],1),m=this._editor._getViewModel();if(m&&p.lineNumber<=m.getLineCount())h+=this._editor.getLineHeightForPosition(new s(n[g],1))}if(h===0)return{lineNumbers:[],lastLineRelativePosition:0};return{lineNumbers:n,lastLineRelativePosition:u.lastLineRelativePosition}}_findIndexToRebuildFrom(u,n,h){if(n.length===0)return 0;if(h!==void 0)return h;let g=n.findIndex((p)=>!u.includes(p));return g===-1?0:g}_updateWidgetWidth(){let u=this._editor.getLayoutInfo(),n=u.contentLeft;this._lineNumbersDomNode.style.width=`${n}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-u.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${u.width-u.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(u){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${u?0.5:0}s`)}_setFoldingIconsVisibility(u){for(let n of this._renderedStickyLines){let h=n.foldingIcon;if(!h)continue;h.setVisible(u?!0:h.isCollapsed)}}async _renderRootNode(u,n,h,g){let p=this._editor._getViewModel();if(!p){this._clearWidget();return}if(u.length===0){this._clearWidget();return}let m=[],_=u[u.length-1],v=0;for(let C=0;C<this._renderedStickyLines.length;C++)if(C<g){let L=this._renderedStickyLines[C];m.push(this._updatePosition(L,v,L.lineNumber===_)),v+=L.height}else{let L=this._renderedStickyLines[C];L.lineNumberDomNode.remove(),L.lineDomNode.remove()}let S=this._editor.getLayoutInfo();for(let C=g;C<u.length;C++){let L=u[C];if(L>p.getLineCount())continue;let R=this._renderChildNode(p,C,L,v,_===L,h,S);v+=R.height,this._linesDomNode.appendChild(R.lineDomNode),this._lineNumbersDomNode.appendChild(R.lineNumberDomNode),m.push(R)}if(h)this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin);this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map((C)=>C.scrollWidth))+S.verticalScrollbarWidth,this._renderedStickyLines=m,this._setHeight(v+n),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let u=0;u<this._renderedStickyLines.length;u++){let n=this._renderedStickyLines[u];n.lineNumberDomNode.remove(),n.lineDomNode.remove()}this._setHeight(0)}_setHeight(u){if(this._height===u)return;if(this._height=u,this._height===0)this._rootDomNode.style.display="none";else 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(){if(this._foldingIconStore.clear(),this._editor.getOption(126)!=="mouseover")return;this._foldingIconStore.clear(),this._foldingIconStore.add(c(this._lineNumbersDomNode,E.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(c(this._lineNumbersDomNode,E.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))}_renderChildNode(u,n,h,g,p,m,_){let v=new IE(this._editor,u,_,m,this._isOnGlyphMargin,n,h);return this._updatePosition(v,g,p)}_updatePosition(u,n,h){let{lineDomNode:g,lineNumberDomNode:p}=u;if(h){g.style.zIndex="0",p.style.zIndex="0";let _=`${n+this._lastLineRelativePosition+(u.foldingIcon?.isCollapsed?1:0)}px`;g.style.top=_,p.style.top=_}else g.style.zIndex="1",p.style.zIndex="1",g.style.top=`${n}px`,p.style.top=`${n}px`;return u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOrdinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(u){if(0<=u&&u<this._renderedStickyLines.length)this._renderedStickyLines[u].lineDomNode.focus()}getEditorPositionFromNode(u){if(!u||u.children.length>0)return null;let n=this._getRenderedStickyLineFromChildDomNode(u);if(!n)return null;let h=Kh(n.characterMapping,u,0);return new s(n.lineNumber,h)}getLineNumberFromChildDomNode(u){return this._getRenderedStickyLineFromChildDomNode(u)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(u){let n=this.getLineIndexFromChildDomNode(u);if(n===null||n<0||n>=this._renderedStickyLines.length)return null;return this._renderedStickyLines[n]}getLineIndexFromChildDomNode(u){let n=this._getAttributeValue(u,Vw);return n?parseInt(n,10):null}isInStickyLine(u){return this._getAttributeValue(u,yE)!==void 0}isInFoldingIconDomNode(u){return this._getAttributeValue(u,xE)!==void 0}_getAttributeValue(u,n){while(u&&u!==this._rootDomNode){let h=u.getAttribute(n);if(h!==null)return h;u=u.parentElement}return}}class IE{constructor(u,n,h,g,p,m,_){this.index=m,this.lineNumber=_;let v=n.coordinatesConverter.convertModelPositionToViewPosition(new s(_,1)).lineNumber,S=n.getViewLineRenderingData(v),C=u.getOption(76),L=u.getOption(117).verticalScrollbarSize,R;try{R=Xi.filter(S.inlineDecorations,v,S.minColumn,S.maxColumn)}catch(pe){R=[]}let Z=u.getLineHeightForPosition(new s(_,1)),Y=n.getTextDirection(_),Q=u.getOption(59),ee=new ys(!0,!0,S.content,S.continuesWithWrappedLine,S.isBasicASCII,S.containsRTL,0,S.tokens,R,S.tabSize,S.startVisibleColumn,Q.spaceWidth,1,1,500,"none",!0,!0,null,Y,L,!1,u.getOption(176)==="twoCells"),oe=new bs(2000),ne=dd(ee,oe);this.characterMapping=ne.characterMapping;let de;if(CE)de=CE.createHTML(oe.build());else de=oe.build();let ge=document.createElement("span");ge.setAttribute(Vw,String(m)),ge.setAttribute(yE,""),ge.setAttribute("role","listitem"),ge.tabIndex=0,ge.className="sticky-line-content",ge.classList.add(`stickyLine${_}`),ge.style.lineHeight=`${Z}px`,ge.innerHTML=de;let _e=document.createElement("span");_e.setAttribute(Vw,String(m)),_e.setAttribute(MN,""),_e.className="sticky-line-number",_e.style.lineHeight=`${Z}px`;let Se=h.contentLeft;_e.style.width=`${Se}px`;let ae=document.createElement("span");if(C.renderType===1||C.renderType===3&&_%10===0)ae.innerText=_.toString();else if(C.renderType===2)ae.innerText=Math.abs(_-u.getPosition().lineNumber).toString();if(ae.className="sticky-line-number-inner",ae.style.width=`${h.lineNumbersWidth}px`,ae.style.paddingLeft=`${h.lineNumbersLeft}px`,_e.appendChild(ae),this.foldingIcon=this._renderFoldingIconForLine(u,g,_,Z,p),this.foldingIcon)_e.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${h.lineNumbersWidth+h.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${Z}px`;u.applyFontInfo(ge),u.applyFontInfo(_e),_e.style.lineHeight=`${Z}px`,ge.style.lineHeight=`${Z}px`,_e.style.height=`${Z}px`,ge.style.height=`${Z}px`,this.scrollWidth=ge.scrollWidth,this.lineDomNode=ge,this.lineNumberDomNode=_e,this.height=Z}_renderFoldingIconForLine(u,n,h,g,p){let m=u.getOption(126);if(!n||m==="never")return;let _=n.regions,v=_.findRange(h),S=_.getStartLineNumber(v);if(h!==S)return;let L=_.isCollapsed(v),R=new LE(L,S,_.getEndLineNumber(v),g);return R.setVisible(p?!0:L||m==="always"),R.domNode.setAttribute(xE,""),R}}class LE{constructor(u,n,h,g){this.isCollapsed=u,this.foldingStartLine=n,this.foldingEndLine=h,this.dimension=g,this.domNode=document.createElement("div"),this.domNode.style.width="26px",this.domNode.style.height=`${g}px`,this.domNode.style.lineHeight=`${g}px`,this.domNode.className=J.asClassName(u?zl:Vl)}setVisible(u){this.domNode.style.cursor=u?"pointer":"default",this.domNode.style.opacity=u?"1":"0"}}var ON=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Kw=function(u,n){return function(h,g){n(h,g,u)}};class Rd{remove(){this.parent?.children.delete(this.id)}static findId(u,n){let h;if(typeof u==="string")h=`${n.id}/${u}`;else if(h=`${n.id}/${u.name}`,n.children.get(h)!==void 0)h=`${n.id}/${u.name}_${u.range.startLineNumber}_${u.range.startColumn}`;let g=h;for(let p=0;n.children.get(g)!==void 0;p++)g=`${h}_${p}`;return g}static empty(u){return u.children.size===0}}class xu extends Rd{constructor(u,n,h){super();this.id=u,this.parent=n,this.symbol=h,this.children=new Map}}class Fm extends Rd{constructor(u,n,h,g){super();this.id=u,this.parent=n,this.label=h,this.order=g,this.children=new Map}}class yr extends Rd{static create(u,n,h){let g=new qe(h),p=new yr(n.uri),m=u.ordered(n),_=m.map((S,C)=>{let L=Rd.findId(`provider_${C}`,p),R=new Fm(L,p,S.displayName??"Unknown Outline Provider",C);return Promise.resolve(S.provideDocumentSymbols(n,g.token)).then((Z)=>{for(let Y of Z||[])yr._makeOutlineElement(Y,R);return R},(Z)=>(vt(Z),R)).then((Z)=>{if(!Rd.empty(Z))p._groups.set(L,Z);else Z.remove()})}),v=u.onDidChange(()=>{let S=u.ordered(n);if(!ot(S,m))g.cancel()});return Promise.all(_).then(()=>{if(g.token.isCancellationRequested&&!h.isCancellationRequested)return yr.create(u,n,h);else return p._compact()}).finally(()=>{g.dispose(),v.dispose(),g.dispose()})}static _makeOutlineElement(u,n){let h=Rd.findId(u,n),g=new xu(h,n,u);if(u.children)for(let p of u.children)yr._makeOutlineElement(p,g);n.children.set(g.id,g)}constructor(u){super();this.uri=u,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let u=0;for(let[n,h]of this._groups)if(h.children.size===0)this._groups.delete(n);else u+=1;if(u!==1)this.children=this._groups;else{let n=Re.first(this._groups.values());for(let[,h]of n.children)h.parent=this,this.children.set(h.id,h)}return this}getTopLevelSymbols(){let u=[];for(let n of this.children.values())if(n instanceof xu)u.push(n.symbol);else u.push(...Re.map(n.children.values(),(h)=>h.symbol));return u.sort((n,h)=>t.compareRangesUsingStarts(n.range,h.range))}asListOfDocumentSymbols(){let u=this.getTopLevelSymbols(),n=[];return yr._flattenDocumentSymbols(n,u,""),n.sort((h,g)=>s.compare(t.getStartPosition(h.range),t.getStartPosition(g.range))||s.compare(t.getEndPosition(g.range),t.getEndPosition(h.range)))}static _flattenDocumentSymbols(u,n,h){for(let g of n)if(u.push({kind:g.kind,tags:g.tags,name:g.name,detail:g.detail,containerName:g.containerName||h,range:g.range,selectionRange:g.selectionRange,children:void 0}),g.children)yr._flattenDocumentSymbols(u,g.children,g.name)}}var Ah=ie("IOutlineModelService"),Uw=class u{constructor(n,h,g){this._languageFeaturesService=n,this._disposables=new d,this._cache=new Ji(15,0.7),this._debounceInformation=h.for(n.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(g.onModelRemoved((p)=>{this._cache.delete(p.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(n,h){let g=this._languageFeaturesService.documentSymbolProvider,p=g.ordered(n),m=this._cache.get(n.id);if(!m||m.versionId!==n.getVersionId()||!ot(m.provider,p)){let v=new qe;m={versionId:n.getVersionId(),provider:p,promiseCnt:0,source:v,promise:yr.create(g,n,v.token),model:void 0},this._cache.set(n.id,m);let S=Date.now();m.promise.then((C)=>{m.model=C,this._debounceInformation.update(n,Date.now()-S)}).catch((C)=>{this._cache.delete(n.id)})}if(m.model)return m.model;m.promiseCnt+=1;let _=h.onCancellationRequested(()=>{if(--m.promiseCnt===0)m.source.cancel(),this._cache.delete(n.id)});try{return await m.promise}finally{_.dispose()}}};Uw=ON([Kw(0,z),Kw(1,uo),Kw(2,Et)],Uw);xe(Ah,Uw,1);class ua{constructor(u,n){this.startLineNumber=u,this.endLineNumber=n}}class Zc{constructor(u,n,h){this.range=u,this.children=n,this.parent=h}}class Hm{constructor(u,n,h,g){this.uri=u,this.version=n,this.element=h,this.outlineProviderId=g}}var Bm=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Lu=function(u,n){return function(h,g){n(h,g,u)}},Iu;(function(u){u.OUTLINE_MODEL="outlineModel",u.FOLDING_PROVIDER_MODEL="foldingProviderModel",u.INDENTATION_MODEL="indentationModel"})(Iu||(Iu={}));var pa;(function(u){u[u.VALID=0]="VALID",u[u.INVALID=1]="INVALID",u[u.CANCELED=2]="CANCELED"})(pa||(pa={}));var Wm=class u extends i{constructor(n,h,g,p){super();switch(this._editor=n,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new qi(300)),this._updateOperation=this._register(new d),this._editor.getOption(131).defaultModel){case Iu.OUTLINE_MODEL:this._modelProviders.push(new qw(this._editor,p));case Iu.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new $w(this._editor,h,p));case Iu.INDENTATION_MODEL:this._modelProviders.push(new jw(this._editor,g));break}}dispose(){this._modelProviders.forEach((n)=>n.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){if(this._modelPromise)this._modelPromise.cancel(),this._modelPromise=null}async update(n){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(let h of this._modelProviders){let{statusPromise:g,modelPromise:p}=h.computeStickyModel(n);this._modelPromise=p;let m=await g;if(this._modelPromise!==p)return null;switch(m){case pa.CANCELED:return this._updateOperation.clear(),null;case pa.VALID:return h.stickyModel}}return null}).catch((h)=>(X(h),null))}};Wm=Bm([Lu(2,A),Lu(3,z)],Wm);class Gw extends i{constructor(u){super();this._editor=u,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,pa.INVALID}computeStickyModel(u){if(u.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let n=Yt((h)=>this.createModelFromProvider(h));return{statusPromise:n.then((h)=>{if(!this.isModelValid(h))return this._invalid();if(u.isCancellationRequested)return pa.CANCELED;return this._stickyModel=this.createStickyModel(u,h),pa.VALID}).then(void 0,(h)=>(X(h),pa.CANCELED)),modelPromise:n}}isModelValid(u){return!0}isProviderValid(){return!0}}var qw=class u extends Gw{constructor(n,h){super(n);this._languageFeaturesService=h}createModelFromProvider(n){return yr.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),n)}createStickyModel(n,h){let{stickyOutlineElement:g,providerID:p}=this._stickyModelFromOutlineModel(h,this._stickyModel?.outlineProviderId),m=this._editor.getModel();return new Hm(m.uri,m.getVersionId(),g,p)}isModelValid(n){return n&&n.children.size>0}_stickyModelFromOutlineModel(n,h){let g;if(Re.first(n.children.values())instanceof Fm){let v=Re.find(n.children.values(),(S)=>S.id===h);if(v)g=v.children;else{let S="",C=-1,L=void 0;for(let[R,Z]of n.children.entries()){let Y=this._findSumOfRangesOfGroup(Z);if(Y>C)L=Z,C=Y,S=Z.id}h=S,g=L.children}}else g=n.children;let p=[],m=Array.from(g.values()).sort((v,S)=>{let C=new ua(v.symbol.range.startLineNumber,v.symbol.range.endLineNumber),L=new ua(S.symbol.range.startLineNumber,S.symbol.range.endLineNumber);return this._comparator(C,L)});for(let v of m)p.push(this._stickyModelFromOutlineElement(v,v.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Zc(void 0,p,void 0),providerID:h}}_stickyModelFromOutlineElement(n,h){let g=[];for(let m of n.children.values())if(m.symbol.selectionRange.startLineNumber!==m.symbol.range.endLineNumber)if(m.symbol.selectionRange.startLineNumber!==h)g.push(this._stickyModelFromOutlineElement(m,m.symbol.selectionRange.startLineNumber));else for(let _ of m.children.values())g.push(this._stickyModelFromOutlineElement(_,m.symbol.selectionRange.startLineNumber));g.sort((m,_)=>this._comparator(m.range,_.range));let p=new ua(n.symbol.selectionRange.startLineNumber,n.symbol.range.endLineNumber);return new Zc(p,g,void 0)}_comparator(n,h){if(n.startLineNumber!==h.startLineNumber)return n.startLineNumber-h.startLineNumber;else return h.endLineNumber-n.endLineNumber}_findSumOfRangesOfGroup(n){let h=0;for(let g of n.children.values())h+=this._findSumOfRangesOfGroup(g);if(n instanceof xu)return h+n.symbol.range.endLineNumber-n.symbol.selectionRange.startLineNumber;else return h}};qw=Bm([Lu(1,z)],qw);class Zw extends Gw{constructor(u){super(u);this._foldingLimitReporter=this._register(new Yg(u))}createStickyModel(u,n){let h=this._fromFoldingRegions(n),g=this._editor.getModel();return new Hm(g.uri,g.getVersionId(),h,void 0)}isModelValid(u){return u!==null}_fromFoldingRegions(u){let n=u.length,h=[],g=new Zc(void 0,[],void 0);for(let p=0;p<n;p++){let m=u.getParentIndex(p),_;if(m!==-1)_=h[m];else _=g;let v=new Zc(new ua(u.getStartLineNumber(p),u.getEndLineNumber(p)+1),[],_);_.children.push(v),h.push(v)}return g}}var jw=class u extends Zw{constructor(n,h){super(n);this._languageConfigurationService=h,this.provider=this._register(new Xd(n.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(n){return this.provider.compute(n)}};jw=Bm([Lu(1,ht)],jw);var $w=class u extends Zw{constructor(n,h,g){super(n);this._languageFeaturesService=g,this.provider=this._register(new ce),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(n,h)})),this._updateProvider(n,h)}_updateProvider(n,h){let g=gr.getFoldingRangeProviders(this._languageFeaturesService,n.getModel());if(g.length===0)return;this.provider.value=new Jd(n.getModel(),g,h,this._foldingLimitReporter,void 0)}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(n){return this.provider.value?.compute(n)??null}};$w=Bm([Lu(2,z)],$w);var PN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},kE=function(u,n){return function(h,g){n(h,g,u)}};class EE{constructor(u,n,h,g){this.startLineNumber=u,this.endLineNumber=n,this.top=h,this.height=g}}var Vm=class u extends i{constructor(n,h,g){super();this._languageFeaturesService=h,this._languageConfigurationService=g,this._onDidChangeStickyScroll=this._register(new o),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=n,this._sessionStore=this._register(new d),this._updateSoon=this._register(new ke(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration((p)=>{if(p.hasChanged(131))this.readConfiguration()})),this.readConfiguration()}readConfiguration(){if(this._sessionStore.clear(),!this._editor.getOption(131).enabled)return;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(N(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update()}getVersionId(){return this._model?.version}updateStickyModelProvider(){if(this._stickyModelProvider?.dispose(),this._stickyModelProvider=null,this._editor.hasModel())this._stickyModelProvider=new Wm(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService)}async update(){this._cts?.dispose(!0),this._cts=new qe,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(n){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}let h=await this._stickyModelProvider.update(n);if(!n.isCancellationRequested)this._model=h}getCandidateStickyLinesIntersecting(n){if(!this._model?.element)return[];let h=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(n,this._model.element,h,0,0,-1),this.filterHiddenRanges(h)}getCandidateStickyLinesIntersectingFromStickyModel(n,h,g,p,m,_){let v=this._editor.getModel();if(!v)return;if(h.children.length===0)return;let S=_,C=[];for(let Z=0;Z<h.children.length;Z++){let Y=h.children[Z];if(Y.range)C.push(Y.range.startLineNumber)}let L=this.updateIndex(ig(C,n.startLineNumber,(Z,Y)=>Z-Y)),R=this.updateIndex(ig(C,n.endLineNumber,(Z,Y)=>Z-Y));for(let Z=L;Z<=R;Z++){let Y=h.children[Z];if(!Y||!Y.range)continue;let{startLineNumber:Q,endLineNumber:ee}=Y.range;if(ee>Q+1&&n.startLineNumber<=ee+1&&Q-1<=n.endLineNumber&&Q!==S&&v.isValidRange(new t(Q,1,ee,1))){S=Q;let oe=this._editor.getLineHeightForPosition(new s(Q,1));g.push(new EE(Q,ee-1,m,oe)),this.getCandidateStickyLinesIntersectingFromStickyModel(n,Y,g,p+1,m+oe,Q)}}}filterHiddenRanges(n){let h=this._editor._getViewModel()?.getHiddenAreas();if(!h)return n;return n.filter((g)=>!h.some((p)=>g.startLineNumber>=p.startLineNumber&&g.endLineNumber<=p.endLineNumber+1))}updateIndex(n){if(n===-1)return 0;else if(n<0)return-n-2;return n}};Vm=PN([kE(1,z),kE(2,ht)],Vm);var AN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Xc=function(u,n){return function(h,g){n(h,g,u)}},Xw,Is=class u extends i{static{Xw=this}static{this.ID="store.contrib.stickyScrollController"}constructor(n,h,g,p,m,_,v){super();this._editor=n,this._contextMenuService=h,this._languageFeaturesService=g,this._instaService=p,this._contextKeyService=v,this._sessionStore=new d,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 o),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new zw(this._editor),this._stickyLineCandidateProvider=new Vm(this._editor,g,m),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Gc.Empty;let S=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight((L)=>{L.changes.forEach((R)=>{let Z=R.lineNumber;if(this._widgetState.startLineNumbers.includes(Z))this._renderStickyScroll(Z)})})),this._register(this._editor.onDidChangeFont((L)=>{L.changes.forEach((R)=>{let Z=R.lineNumber;if(this._widgetState.startLineNumbers.includes(Z))this._renderStickyScroll(Z)})})),this._register(this._editor.onDidChangeConfiguration((L)=>{this._readConfigurationChange(L)})),this._register(c(S,E.CONTEXT_MENU,async(L)=>{this._onContextMenu(B(S),L)})),this._stickyScrollFocusedContextKey=r.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=r.stickyScrollVisible.bindTo(this._contextKeyService);let C=this._register(vi(S));this._register(C.onDidBlur((L)=>{if(this._positionRevealed===!1&&S.clientHeight===0)this._focusedStickyElementIndex=-1,this.focus();else this._disposeFocusStickyScrollStore()})),this._register(C.onDidFocus((L)=>{this.focus()})),this._registerMouseListeners(),this._register(c(S,E.MOUSE_DOWN,(L)=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight((L)=>{this._onDidChangeStickyScrollHeight.fire(L)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(n){return n.getContribution(Xw.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}if(this._stickyScrollFocusedContextKey.get()===!0)return;this._focused=!0,this._focusDisposableStore=new d,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}focusNext(){if(this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1)this._focusNav(!0)}focusPrevious(){if(this._focusedStickyElementIndex>0)this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(n){this._focusedStickyElementIndex=n?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){let n=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:n[this._focusedStickyElementIndex],column:1})}_revealPosition(n){this._reveaInEditor(n,()=>this._editor.revealPosition(n))}_revealLineInCenterIfOutsideViewport(n){this._reveaInEditor(n,()=>this._editor.revealLineInCenterIfOutsideViewport(n.lineNumber,0))}_reveaInEditor(n,h){if(this._focused)this._disposeFocusStickyScrollStore();this._positionRevealed=!0,h(),this._editor.setSelection(t.fromPositions(n)),this._editor.focus()}_registerMouseListeners(){let n=this._register(new d),h=this._register(new Kr(this._editor,{extractLineNumberFromMouseEvent:(m)=>{let _=this._stickyScrollWidget.getEditorPositionFromNode(m.target.element);return _?_.lineNumber:0}})),g=(m)=>{if(!this._editor.hasModel())return null;if(m.target.type!==12||m.target.detail!==this._stickyScrollWidget.getId())return null;let _=m.target.element;if(!_||_.innerText!==_.innerHTML)return null;let v=this._stickyScrollWidget.getEditorPositionFromNode(_);if(!v)return null;return{range:new t(v.lineNumber,v.column,v.lineNumber,v.column+_.innerText.length),textElement:_}},p=this._stickyScrollWidget.getDomNode();this._register(Ct(p,E.CLICK,(m)=>{if(m.ctrlKey||m.altKey||m.metaKey)return;if(!m.leftButton)return;if(m.shiftKey){let C=this._stickyScrollWidget.getLineIndexFromChildDomNode(m.target);if(C===null)return;let L=new s(this._endLineNumbers[C],1);this._revealLineInCenterIfOutsideViewport(L);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(m.target)){let C=this._stickyScrollWidget.getLineNumberFromChildDomNode(m.target);this._toggleFoldingRegionForLine(C);return}if(!this._stickyScrollWidget.isInStickyLine(m.target))return;let S=this._stickyScrollWidget.getEditorPositionFromNode(m.target);if(!S){let C=this._stickyScrollWidget.getLineNumberFromChildDomNode(m.target);if(C===null)return;S=new s(C,1)}this._revealPosition(S)})),this._register(c(Ke,E.MOUSE_MOVE,(m)=>{this._mouseTarget=m.target,this._onMouseMoveOrKeyDown(m)})),this._register(c(Ke,E.KEY_DOWN,(m)=>{this._onMouseMoveOrKeyDown(m)})),this._register(c(Ke,E.KEY_UP,()=>{if(this._showEndForLine!==void 0)this._showEndForLine=void 0,this._renderStickyScroll()})),this._register(h.onMouseMoveOrRelevantKeyDown(([m,_])=>{let v=g(m);if(!v||!m.hasTriggerModifier||!this._editor.hasModel()){n.clear();return}let{range:S,textElement:C}=v;if(!S.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=S,n.clear();else if(C.style.textDecoration==="underline")return;let L=new qe;n.add(N(()=>L.dispose(!0)));let R;Ks(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new s(S.startLineNumber,S.startColumn+1),!1,L.token).then((Z)=>{if(L.token.isCancellationRequested)return;if(Z.length!==0){this._candidateDefinitionsLength=Z.length;let Y=C;if(R!==Y)n.clear(),R=Y,R.style.textDecoration="underline",n.add(N(()=>{R.style.textDecoration="none"}));else if(!R)R=Y,R.style.textDecoration="underline",n.add(N(()=>{R.style.textDecoration="none"}))}else n.clear()})})),this._register(h.onCancel(()=>{n.clear()})),this._register(h.onExecute(async(m)=>{if(m.target.type!==12||m.target.detail!==this._stickyScrollWidget.getId())return;let _=this._stickyScrollWidget.getEditorPositionFromNode(m.target.element);if(!_)return;if(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor)return;if(this._candidateDefinitionsLength>1){if(this._focused)this._disposeFocusStickyScrollStore();this._revealPosition({lineNumber:_.lineNumber,column:1})}this._instaService.invokeFunction(Bp,m,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})}))}_onContextMenu(n,h){let g=new ci(n,h);this._contextMenuService.showContextMenu({menuId:l.StickyScrollContext,getAnchor:()=>g,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(n){if(!n.shiftKey)return;if(!this._mouseTarget||!$e(this._mouseTarget))return;let h=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);if(h===null||this._showEndForLine===h)return;this._showEndForLine=h,this._renderStickyScroll()}_toggleFoldingRegionForLine(n){if(!this._foldingModel||n===null)return;let h=this._stickyScrollWidget.getRenderedStickyLine(n),g=h?.foldingIcon;if(!g)return;Bl(this._foldingModel,1,[n]),g.isCollapsed=!g.isCollapsed;let p=(g.isCollapsed?this._editor.getTopForLineNumber(g.foldingEndLine):this._editor.getTopForLineNumber(g.foldingStartLine))-this._editor.getOption(75)*h.index+1;this._editor.setScrollTop(p),this._renderStickyScroll(n)}_readConfiguration(){let n=this._editor.getOption(131);if(n.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1;return}else if(n.enabled&&!this._enabled)this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((g)=>{if(g.scrollTopChanged)this._showEndForLine=void 0,this._renderStickyScroll()})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens((g)=>this._onTokensChange(g))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0;if(this._editor.getOption(76).renderType===2){if(!this._cursorPositionListener)this._cursorPositionListener=this._editor.onDidChangeCursorPosition((g)=>{if(this._positionLineNumber===g.position.lineNumber)return;this._positionLineNumber=g.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0)}),this._sessionStore.add(this._cursorPositionListener)}else if(this._cursorPositionListener)this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),this._cursorPositionListener=void 0}_readConfigurationChange(n){if(n.hasChanged(131)||n.hasChanged(81)||n.hasChanged(75)||n.hasChanged(126)||n.hasChanged(76))this._readConfiguration();if(n.hasChanged(76)||n.hasChanged(52)||n.hasChanged(126)||n.hasChanged(59)||n.hasChanged(176))this._renderStickyScroll(0)}_needsUpdate(n){let h=this._stickyScrollWidget.getCurrentLines();for(let g of h)for(let p of n.ranges)if(g>=p.fromLineNumber&&g<=p.toLineNumber)return!0;return!1}_onTokensChange(n){if(this._needsUpdate(n))this._renderStickyScroll(0)}_onDidResize(){let h=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(h*0.25),this._renderStickyScroll(0)}async _renderStickyScroll(n){let h=this._editor.getModel();if(!h||h.isTooLargeForTokenization()){this._resetState();return}let g=this._updateAndGetMinRebuildFromLine(n),p=this._stickyLineCandidateProvider.getVersionId();if(p===void 0||p===h.getVersionId())if(!this._focused)await this._updateState(g);else if(this._focusedStickyElementIndex===-1){if(await this._updateState(g),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1)this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}else{let _=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];if(await this._updateState(g),this._stickyScrollWidget.lineNumberCount===0)this._focusedStickyElementIndex=-1;else{if(!this._stickyScrollWidget.lineNumbers.includes(_))this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1;this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}}_updateAndGetMinRebuildFromLine(n){if(n!==void 0){let h=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(n,h)}return this._minRebuildFromLine}async _updateState(n){this._minRebuildFromLine=void 0,this._foldingModel=await gr.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();let h=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(h),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,n)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=Gc.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){let n=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),h=this._editor.getScrollTop(),g=0,p=[],m=[],_=this._editor.getVisibleRanges();if(_.length!==0){let v=new ua(_[0].startLineNumber,_[_.length-1].endLineNumber),S=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(v);for(let C of S){let{startLineNumber:L,endLineNumber:R,top:Z}=C,Y=Z+C.height,Q=this._editor.getTopForLineNumber(L)-h,ee=this._editor.getBottomForLineNumber(R)-h;if(Z>Q&&Z<=ee){if(p.push(L),m.push(R+1),Y>ee)g=ee-Y}if(p.length===n)break}}return this._endLineNumbers=m,new Gc(p,m,g,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};Is=Xw=AN([Xc(1,Zn),Xc(2,z),Xc(3,A),Xc(4,ht),Xc(5,uo),Xc(6,G)],Is);var ba=a("inlineEdit.originalBackground",be(uu,0.2),e(1286,"Background color for the original text in inline edits."),!0),zm=a("inlineEdit.modifiedBackground",be(Uh,0.3),e(1287,"Background color for the modified text in inline edits."),!0);a("inlineEdit.originalChangedLineBackground",be(uu,0.8),e(1288,"Background color for the changed lines in the original text of inline edits."),!0);var DE=a("inlineEdit.originalChangedTextBackground",be(uu,0.8),e(1289,"Overlay color for the changed text in the original text of inline edits."),!0),TE=a("inlineEdit.modifiedChangedLineBackground",{light:be(y0,0.7),dark:be(y0,0.7),hcDark:y0,hcLight:y0},e(1290,"Background color for the changed lines in the modified text of inline edits."),!0),RE=a("inlineEdit.modifiedChangedTextBackground",be(Uh,0.7),e(1291,"Overlay color for the changed text in the modified text of inline edits."),!0),va=a("inlineEdit.gutterIndicator.primaryForeground",ry,e(1292,"Foreground color for the primary inline edit gutter indicator.")),Tn=a("inlineEdit.gutterIndicator.primaryBorder",Gh,e(1293,"Border color for the primary inline edit gutter indicator.")),xr=a("inlineEdit.gutterIndicator.primaryBackground",{light:be(Tn,0.5),dark:be(Tn,0.4),hcDark:be(Tn,0.4),hcLight:be(Tn,0.5)},e(1294,"Background color for the primary inline edit gutter indicator.")),NE=a("inlineEdit.gutterIndicator.secondaryForeground",iy,e(1295,"Foreground color for the secondary inline edit gutter indicator.")),ME=a("inlineEdit.gutterIndicator.secondaryBorder",If,e(1296,"Border color for the secondary inline edit gutter indicator.")),Yc=a("inlineEdit.gutterIndicator.secondaryBackground",yg,e(1297,"Background color for the secondary inline edit gutter indicator.")),OE=a("inlineEdit.gutterIndicator.successfulForeground",ry,e(1298,"Foreground color for the successful inline edit gutter indicator.")),Yw=a("inlineEdit.gutterIndicator.successfulBorder",Gh,e(1299,"Border color for the successful inline edit gutter indicator.")),Jc=a("inlineEdit.gutterIndicator.successfulBackground",Yw,e(1300,"Background color for the successful inline edit gutter indicator.")),PE=a("inlineEdit.gutterIndicator.background",{hcDark:be("tab.inactiveBackground",0.5),hcLight:be("tab.inactiveBackground",0.5),dark:be("tab.inactiveBackground",0.5),light:"#5f5f5f18"},e(1301,"Background color for the inline edit gutter indicator.")),ku=a("inlineEdit.originalBorder",{light:uu,dark:uu,hcDark:uu,hcLight:uu},e(1302,"Border color for the original text in inline edits.")),Eu=a("inlineEdit.modifiedBorder",{light:Nr(Uh,0.6),dark:Uh,hcDark:Uh,hcLight:Uh},e(1303,"Border color for the modified text in inline edits.")),FN=a("inlineEdit.tabWillAcceptModifiedBorder",{light:Nr(Eu,0),dark:Nr(Eu,0),hcDark:Nr(Eu,0),hcLight:Nr(Eu,0)},e(1304,"Modified border color for the inline edits widget when tab will accept it.")),HN=a("inlineEdit.tabWillAcceptOriginalBorder",{light:Nr(ku,0),dark:Nr(ku,0),hcDark:Nr(ku,0),hcLight:Nr(ku,0)},e(1305,"Original border color for the inline edits widget over the original text when tab will accept it."));function ss(u){return u.map((n)=>n===Dt.Accept?FN:Eu)}function wa(u){return u.map((n)=>n===Dt.Accept?HN:ku)}function zt(u,n){let h;if(typeof u==="string")h=_a(u,n);else h=u.map((p,m)=>_a(p,n).read(m));let g=_a(Yo,n);return h.map((p,m)=>p.makeOpaque(g.read(m)))}function co(u){let n;switch(u){case Pt.TextEditor:n=Yo;break;case Pt.DiffEditor:n=Yo;break;case Pt.Notebook:n="notebook.cellEditorBackground";break;default:ic(u,"Not supported editor type yet")}return P(n)}function _a(u,n){return Ps({owner:{observeColor:u},equalsFn:(h,g)=>h.equals(g),debugName:()=>`observeColor(${u})`},n.onDidColorThemeChange,()=>{let h=n.getColorTheme().getColor(u);if(!h)throw new H(`Missing color: ${u}`);return h})}var Kt=3;function Qo(u,n,h){let g=u.model.read(h);if(!g)return 0;let p=0;for(let _=n.startLineNumber;_<n.endLineNumberExclusive;_++){let v=u.getWidthOfLine(_,h);p=Math.max(p,v)}let m=n.mapToLineArray((_)=>g.getLineContent(_));if(p<5&&m.some((_)=>_.length>0)&&g.uri.scheme!=="file")console.log("unexpected width");return p}function AE(u,n,h){Ii(u,u.editor.onDidChangeLineHeight).read(h);let g=u.model.read(h);if(!g)throw new H("Model is required");let p=[];for(let m=n.startLineNumber;m<n.endLineNumberExclusive;m++){let _=u.getWidthOfLine(m,h);if(_===-1){let S=g.getLineMaxColumn(m),C=u.editor.getOption(59).typicalHalfwidthCharacterWidth;_=S*C}let v=u.editor.getLineHeightForPosition(new s(m,1));p.push(new sa(_,v))}return p}function FE(u,n,h){if(u.layoutInfo.read(h),u.value.read(h),!u.model.read(h))return 0;return u.scrollTop.read(h),u.editor.getOffsetForColumn(n.lineNumber,n.column)}function Qc(u,n,h,g,p=void 0){let m=g.getModel();if(!m)return{prefixTrim:0,prefixLeftOffset:0};let _=u.map((Z)=>Z.isSingleLine()?Z.startColumn-1:0),v=n.mapToLineArray((Z)=>E1(m.getLineContent(Z))),S=h.filter((Z)=>Z!=="").map((Z)=>E1(Z)),C=Math.min(..._,...v,...S),L;if(m.getLineIndentColumn(n.startLineNumber)>=C+1)ct(g).scrollTop.read(p),L=g.getOffsetForColumn(n.startLineNumber,C+1);else if(h.length>0)L=Du(h[0].slice(0,C),g,m);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:C,prefixLeftOffset:L}}function Du(u,n,h){let g=n.getOption(59).typicalHalfwidthCharacterWidth,p=h.getOptions().tabSize*g,m=u.split("\t").length-1;return(u.length-m)*g+m*p}function el(u){let n=u.layoutInfoContentLeft,h=f({name:"editor.validOverlay.width"},(p)=>{let m=u.layoutInfoMinimap.read(p).minimapLeft!==0,_=Math.max(0,u.layoutInfoWidth.read(p)-n.read(p));if(m){let v=u.layoutInfoMinimap.read(p).minimapWidth+u.layoutInfoVerticalScrollbarWidth.read(p);return Math.max(0,_-v)}return _}),g=f({name:"editor.validOverlay.height"},(p)=>u.layoutInfoHeight.read(p)+u.contentHeight.read(p));return f({name:"editor.validOverlay"},(p)=>st.fromLeftTopWidthHeight(n.read(p),0,h.read(p),g.read(p)))}function HE(u,n){let h=[];for(let g of u){let p=n.mapRange(g.modifiedRange);h.push(new Yi(g.originalRange,p))}return h}function tl(...u){return u.filter((n)=>typeof n==="string").join(" ")}function WN(u,n){return new t(n.lineNumber,n.column+u.start,n.lineNumber,n.column+u.endExclusive)}function BN(u,n){let h=0;e:for(let g=0,p=u.length;g<p;g++)switch(u.charCodeAt(g)){case 9:h+=n;break;case 32:h++;break;default:break e}return h-h%n}function VN(u,n,h){let g=n-n%h,p=0;for(;p<u.length;p++){if(g===0)break;switch(u.charCodeAt(p)){case 9:g-=h;break;case 32:g--;break;default:throw new H("Unexpected character found while calculating indent length")}}return p}function WE(u,n,h){let g=Ci(u),p=[],m=h1(n.mapToLineArray((_)=>BN(g[_-1],h)),Vi);return n.forEach((_)=>{let v=VN(g[_-1],m,h);p.push(new gt(WN(new V(0,v),new s(_,1)),""))}),new Po(p)}class il{constructor(){this._data=""}moveTo(u){return this._data+=`M ${u.x} ${u.y} `,this}lineTo(u){return this._data+=`L ${u.x} ${u.y} `,this}build(){return this._data}}function to(u){let n=hr(void 0,(h,g)=>u.read(h)||g);return In({debugName:()=>`${u.debugName}.mapOutFalsy`},(h)=>{if(n.read(h),!u.read(h))return;return n})}function ei(u,n=qt.ofCaller()){return{left:f({name:"editor.validOverlay.left"},(h)=>u(h)?.left,n),top:f({name:"editor.validOverlay.top"},(h)=>u(h)?.top,n),width:f({name:"editor.validOverlay.width"},(h)=>{let g=u(h);if(!g)return;return g.width},n),height:f({name:"editor.validOverlay.height"},(h)=>{let g=u(h);if(!g)return;return g.height},n)}}function BE(u,n){let h=u.getContainerDomNode(),g=j("domRect",h.getBoundingClientRect());return n.add(u.onDidLayoutChange((p)=>{g.set(h.getBoundingClientRect(),void 0)})),g}var zN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Jw=function(u,n){return function(h,g){n(h,g,u)}},Km=class u{constructor(n,h,g,p,m,_){this._editorObs=n,this._data=h,this._close=g,this._contextKeyService=p,this._keybindingService=m,this._commandService=_,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map((v)=>v.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let n=j("active",void 0),h=(ee)=>({title:ee.title,icon:ee.icon,keybinding:typeof ee.commandId==="string"?this._getKeybinding(ee.commandArgs?void 0:ee.commandId):f(this,(oe)=>typeof ee.commandId==="string"?void 0:this._getKeybinding(ee.commandArgs?void 0:ee.commandId.read(oe)).read(oe)),isActive:n.map((oe)=>oe===ee.id),onHoverChange:(oe)=>n.set(oe?ee.id:void 0,void 0),onAction:()=>{let oe=typeof ee.commandId==="string"?ee.commandId:ee.commandId.get();return this._close(!0,oe),this._commandService.executeCommand(oe,...ee.commandArgs??[])}}),g=this._data.extensionCommands.map((ee)=>ee.map((oe,ne)=>Sa(h({id:oe.command.id+"_"+ne,title:oe.command.title,icon:oe.icon??x.symbolEvent,commandId:oe.command.id,commandArgs:oe.command.arguments})))),p=[];for(let ee of g)if(ee.length>0)p.push(Qw()),p.push(...ee);if(this._data.extensionCommandsOnly)return VE(p.slice(1));let m=KN(this._data.displayName),_=Sa(h({id:"gotoAndAccept",title:e(1276,"Go To / Accept"),icon:x.check,commandId:Xn})),v=Sa(h({id:"reject",title:e(1277,"Reject"),icon:x.close,commandId:Dp})),S=this._data.alternativeAction?Sa(h({id:"alternativeCommand",title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:ed})):void 0,C=[],L=this._inlineEditsShowCollapsed.map((ee)=>ee?Sa(h({id:"showExpanded",title:e(1278,"Show Expanded"),icon:x.expandAll,commandId:hh})):Sa(h({id:"showCollapsed",title:e(1279,"Show Collapsed"),icon:x.collapseAll,commandId:hh}))),R=Sa(h({id:"snooze",title:e(1280,"Snooze"),icon:x.bellSlash,commandId:"editor.action.inlineSuggest.snooze"})),Z=Sa(h({id:"settings",title:e(1281,"Settings"),icon:x.gear,commandId:"workbench.action.openSettings",commandArgs:["@tag:nextEditSuggestions"]})),Y=this._data.action?[this._data.action]:[],Q=Y.length>0?UN(Y.map((ee)=>({id:ee.id,label:ee.title+"...",enabled:!0,run:()=>this._commandService.executeCommand(ee.id,...ee.arguments??[]),class:void 0,tooltip:ee.tooltip??ee.title})),{hoverDelegate:a2}):void 0;return VE([m,_,S,v,L,C.length?Qw():void 0,...C,R,Z,...p,Q?Qw():void 0,Q])}_getKeybinding(n){if(!n)return De(void 0);return Pe(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(n))}};Km=zN([Jw(3,G),Jw(4,me),Jw(5,Ue)],Km);function VE(u){return he.div({class:"content",style:{margin:4,minWidth:180}},u)}function KN(u){return he.div({class:"header",style:{color:P(v0),fontSize:"13px",fontWeight:"600",padding:"0 4px",lineHeight:28}},[u])}function Sa(u){return f({name:"inlineEdits.option"},(n)=>he.div({class:["monaco-menu-option",u.isActive?.map((h)=>h&&"active")],onmouseenter:()=>u.onHoverChange?.(!0),onmouseleave:()=>u.onHoverChange?.(!1),onclick:u.onAction,onkeydown:(h)=>{if(h.key==="Enter")u.onAction?.()},tabIndex:0,style:{borderRadius:3}},[he.elem("span",{style:{fontSize:16,display:"flex"}},[J.isThemeIcon(u.icon)?_o(u.icon):u.icon.map((h)=>_o(h))]),he.elem("span",{},[u.title]),he.div({style:{marginLeft:"auto"},ref:(h)=>{let g=n.store.add(new Ka(h,Ni,{disableTitle:!0,...fy,keybindingLabelShadow:void 0,keybindingLabelForeground:P(v0),keybindingLabelBackground:"transparent",keybindingLabelBorder:"transparent",keybindingLabelBottomBorder:void 0}));n.store.add(W((p)=>{g.set(u.keybinding.read(p))}))}})]))}function UN(u,n){return f({name:"inlineEdits.actionBar"},(h)=>he.div({class:["action-widget-action-bar"],style:{padding:"3px 24px"}},[he.div({ref:(g)=>{h.store.add(new Qi(g,n)).push(u,{icon:!1,label:!0})}})]))}function Qw(){return he.div({id:"inline-edit-gutter-indicator-menu-separator",class:"menu-separator",style:{color:P(e2),padding:"2px 0"}},he.div({style:{borderBottom:`1px solid ${P(If)}`}}))}var qN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Tu=function(u,n){return function(h,g){n(h,g,u)}};class Ru{constructor(u,n,h,g,p){this.gutterMenuData=u,this.originalRange=n,this.model=h,this.altAction=g,this.customization=p}}class nl{static fromInlineSuggestion(u){let n=u.action?.kind==="edit"?u.action.alternativeAction:void 0,h=u.source.inlineSuggestions.commands??[];return new nl(u.gutterMenuLinkAction,u.source.provider.displayName??e(1282,"Inline Suggestion"),h.length>0?[h]:[],n,u.source.provider.modelInfo,u.source.provider.setModelId?.bind(u.source.provider))}constructor(u,n,h,g,p,m,_=!1){this.action=u,this.displayName=n,this.extensionCommands=h,this.alternativeAction=g,this.modelInfo=p,this.setModelId=m,this.extensionCommandsOnly=_}}class rl{static fromInlineCompletionModel(u){return new rl(()=>u.accept(),()=>u.jump())}constructor(u,n){this.accept=u,this.jump=n}}var eS=16,zE=2,ol=class u extends i{constructor(n,h,g,p,m,_,v,S,C,L,R){super();this._editorObs=n,this._data=h,this._tabAction=g,this._verticalOffset=p,this._isHoveringOverInlineEdit=m,this._focusIsInMenu=_,this._hoverService=v,this._instantiationService=S,this._accessibilityService=C,this._themeService=L,this._userInteractionService=R,this._onDidCloseWithCommand=this._register(new o),this._modifierPressed=f(this,(Y)=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),Y).shiftKey),this._gutterIndicatorStyles=f(this,(Y)=>{let Q=this._tabAction.read(Y),ee=this._data.read(Y)?.altAction,oe=this._modifierPressed.read(Y);if(ee&&oe)Q=Dt.Inactive;switch(Q){case Dt.Inactive:return{background:zt(Yc,this._themeService).read(Y).toString(),foreground:zt(NE,this._themeService).read(Y).toString(),border:zt(ME,this._themeService).read(Y).toString()};case Dt.Jump:return{background:zt(xr,this._themeService).read(Y).toString(),foreground:zt(va,this._themeService).read(Y).toString(),border:zt(Tn,this._themeService).read(Y).toString()};case Dt.Accept:return{background:zt(Jc,this._themeService).read(Y).toString(),foreground:zt(OE,this._themeService).read(Y).toString(),border:zt(Yw,this._themeService).read(Y).toString()};default:ic()}}),this._state=f(this,(Y)=>{let Q=this._originalRangeObs.read(Y);if(!Q)return;return{range:Q,lineOffsetRange:this._editorObs.observeLineOffsetRange(Q,Y.store)}}),this._lineNumberToRender=f(this,(Y)=>{if(this._verticalOffset.read(Y)!==0)return"";let Q=this._data.read(Y)?.originalRange.startLineNumber,ee=this._editorObs.getOption(76).read(Y);if(Q===void 0||ee.renderType===0)return"";if(ee.renderType===3){let oe=this._editorObs.cursorPosition.read(Y);if(Q%10===0||oe&&oe.lineNumber===Q)return Q.toString();return""}if(ee.renderType===2){let oe=this._editorObs.cursorPosition.read(Y);if(!oe)return"";let ne=Math.abs(Q-oe.lineNumber);if(ne===0)return Q.toString();return ne.toString()}if(ee.renderType===4){if(ee.renderFn)return ee.renderFn(Q);return""}return Q.toString()}),this._availableWidthForIcon=f(this,(Y)=>{let Q=this._editorObs.editor.getModel(),ee=this._editorObs.editor,oe=this._editorObs.layoutInfo.read(Y),ne=oe.decorationsLeft+oe.decorationsWidth-oe.glyphMarginLeft;if(!Q||ne<=0)return()=>0;if(oe.lineNumbersLeft===0)return()=>ne;let de=this._editorObs.getOption(76).read(Y);if(de.renderType===2||de.renderType===0)return()=>ne;let ge=ee.getOption(59).typicalHalfwidthCharacterWidth,_e=oe.lineNumbersLeft+oe.lineNumbersWidth,ae=(Q.getLineCount()+1).toString().length,pe=[];for(let Ne=1;Ne<=ae;Ne++){let Me=10**(Ne-1),Oe=ee.getTopForLineNumber(Me),Ce=Ne*ge,He=Math.min(ne,Math.max(0,_e-Ce-oe.glyphMarginLeft));pe.push({firstLineNumberWithDigitCount:Me,topOfLineNumber:Oe,usableWidthLeftOfLineNumber:He})}return(Ne)=>{for(let Me=pe.length-1;Me>=0;Me--)if(Ne>=pe[Me].topOfLineNumber)return pe[Me].usableWidthLeftOfLineNumber;throw new H("Could not find avilable width for icon")}}),this._layout=f(this,(Y)=>{let Q=this._state.read(Y);if(!Q)return;let ee=this._editorObs.layoutInfo.read(Y),oe=this._editorObs.observeLineHeightForLine(Q.range.map((It)=>It.startLineNumber)).read(Y),ne=1,de=2,ge=ee.decorationsLeft+ee.decorationsWidth-ee.glyphMarginLeft-2*ne,_e=ee.height-2*de,Se=st.fromLeftTopWidthHeight(ne,de,ge,_e),ae=Se.withTop(this._stickyScrollHeight.read(Y)),pe=Se.withTop(ae.top+de),Ne=Q.lineOffsetRange.read(Y),Me=st.fromRanges(V.fromTo(pe.left,pe.right),Ne),Oe=oe,Ce=this._verticalOffset.read(Y),He=Me.withHeight(Oe).translateY(Ce),it=ae.containsRect(He),Ve=this._data.read(Y)?.customization?.icon,rt=Ve?De(Ve):this._tabAction.map((It)=>It===Dt.Accept?x.keyboardTab:x.arrowRight),Ze=Ve?De(Ve):f(this,(It)=>{if(this._isHoveredOverIconDebounced.read(It)||this._isHoveredOverInlineEditDebounced.read(It))return x.check;if(this._tabAction.read(It)===Dt.Accept)return x.keyboardTab;let Di=this._editorObs.cursorLineNumber.read(It)??0,cs=Q.range.read(It).startLineNumber;return Di<=cs?x.keyboardTabAbove:x.keyboardTabBelow}),Ft=22,nt=(It)=>{let Di=this._availableWidthForIcon.read(void 0)(It.bottom+this._editorObs.editor.getScrollTop())-ne;return Math.max(Math.min(Di,Ft),eS)};if(it){let It=He,Di;if(ee.lineNumbersWidth===0)Di=Math.max(0,Math.min(Math.max(ee.lineNumbersLeft-Se.left,0),It.width-Ft));else Di=Math.max(ee.lineNumbersLeft+ee.lineNumbersWidth-Se.left,0);let cs=It.withWidth(Di),tn=eS+zE,or=Math.min(It.width-Di,Ft),ya=It.withWidth(Math.max(or,tn)).translateX(Di),Hf=or>=tn;return{gutterEditArea:Me,icon:Ze,iconDirection:"right",iconRect:ya,iconVisible:Hf,pillRect:It,lineNumberRect:cs}}let ft=Se.intersect(Me);if(ft&&ft.height>=Oe){let It=He.moveToBeContainedIn(pe).moveToBeContainedIn(ft),Di=It.withWidth(nt(It));return{gutterEditArea:Me,icon:Ze,iconDirection:"right",iconRect:Di,pillRect:Di,iconVisible:!0}}let St=He.moveToBeContainedIn(Se),wt=St.withWidth(nt(St)),Bt=wt,Ht=wt.top<He.top?"top":"bottom";return{gutterEditArea:Me,icon:rt,iconDirection:Ht,iconRect:Bt,pillRect:wt,iconVisible:!0}}),this._iconRef=he.ref(),this.isVisible=this._layout.map((Y)=>!!Y),this._hoverVisible=j(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=j(this,!1),this._isHoveredOverIconDebounced=s1(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=he.div({class:"inline-edits-view-gutter-indicator",style:{position:"absolute",overflow:"visible"}},to(this._layout).map((Y)=>!Y?[]:[he.div({style:{position:"absolute",background:P(PE),borderRadius:`${Kt}px`,...ei((Q)=>Y.read(Q).gutterEditArea)}}),he.div({class:"icon",ref:this._iconRef,tabIndex:0,onclick:()=>{let ee=this._layout.get()?.icon.get()===x.check,oe=this._data.get();if(!oe)throw new H("Gutter indicator data not available");if(this._editorObs.editor.focus(),ee)oe.model.accept();else oe.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((Q)=>Q.background),["--vscodeIconForeground"]:this._gutterIndicatorStyles.map((Q)=>Q.foreground),border:this._gutterIndicatorStyles.map((Q)=>`1px solid ${Q.border}`),boxSizing:"border-box",borderRadius:`${Kt}px`,display:"flex",justifyContent:Y.map((Q)=>Q.iconDirection==="bottom"?"flex-start":"flex-end"),transition:this._modifierPressed.map((Q)=>Q?"":"background-color 0.2s ease-in-out, width 0.2s ease-in-out"),...ei((Q)=>Y.read(Q).pillRect)}},[he.div({className:"line-number",style:{lineHeight:Y.map((Q)=>Q.lineNumberRect?Q.lineNumberRect.height:0),display:Y.map((Q)=>Q.lineNumberRect?"flex":"none"),alignItems:"center",justifyContent:"flex-end",width:Y.map((Q)=>Q.lineNumberRect?Q.lineNumberRect.width:0),height:"100%",color:this._gutterIndicatorStyles.map((Q)=>Q.foreground)}},this._lineNumberToRender),he.div({style:{transform:Y.map((Q)=>`rotate(${jN(Q.iconDirection)}deg)`),transition:"rotate 0.2s ease-in-out, opacity 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center",height:"100%",opacity:Y.map((Q)=>Q.iconVisible?"1":"0"),marginRight:Y.map((Q)=>Q.pillRect.width-Q.iconRect.width-(Q.lineNumberRect?.width??0)),width:Y.map((Q)=>Q.iconRect.width),position:"relative",right:Y.map((Q)=>Q.iconDirection==="top"?"1px":"0"),color:this._data.map((Q)=>Q?.customization?.icon?.color?P(Q.customization.icon.color.id):void 0)}},[Y.map((Q,ee)=>$N(_o(Q.icon.read(ee)),{fontSize:GN(Math.min(Q.iconRect.width-zE,eS))}))])])])),this._originalRangeObs=to(this._data.map((Y)=>Y?.originalRange)),this._stickyScrollController=Is.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?Pe(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):De(0),this._isHoveredOverInlineEditDebounced=s1(this._isHoveringOverInlineEdit,100);let Z=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:Z.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:De(0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(Ar(this._isHoveredOverInlineEditDebounced,(Y)=>{if(Y)this.triggerAnimation()})),this._register(W((Y)=>{if(Z.readEffect(Y),Z.element)this._editorObs.editor.applyFontInfo(Z.element)}))}triggerAnimation(){if(this._accessibilityService.isMotionReduced())return new Animation(null,null).finished;return this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map((h)=>h.border).get()}`,outlineOffset:"-1px",offset:0},{outline:"2px solid transparent",outlineOffset:"10px",offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;let n=this._data.get();if(!n)throw new H("Gutter indicator data not available");let h=new d,g=h.add(this._instantiationService.createInstance(Km,this._editorObs,n.gutterMenuData,(_,v)=>{if(_)this._editorObs.editor.focus();if(v)this._onDidCloseWithCommand.fire(v);m?.dispose()}).toDisposableLiveElement()),p=this._userInteractionService.createFocusTracker(g.element,h);h.add(W((_)=>{this._focusIsInMenu.set(p.read(_),void 0)})),h.add(N(()=>this._focusIsInMenu.set(!1,void 0)));let m=this._hoverService.showInstantHover({target:this._iconRef.element,content:g.element});if(m)this._hoverVisible.set(!0,void 0),h.add(this._editorObs.editor.onDidScrollChange(()=>m.dispose())),h.add(m.onDispose(()=>{this._hoverVisible.set(!1,void 0),h.dispose()}));else h.dispose()}};ol=qN([Tu(6,An),Tu(7,A),Tu(8,on),Tu(9,ze),Tu(10,Or)],ol);function jN(u){switch(u){case"top":return 90;case"bottom":return-90;case"right":return 0}}function $N(u,n){for(let h in n)u.style[h]=n[h];return u}function GN(u){return`${u}px`}var ZN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},KE=function(u,n){return function(h,g){n(h,g,u)}},Uo;(function(u){u.FirstTime="firstTime",u.SecondTime="secondTime",u.Active="active"})(Uo||(Uo={}));var Um=class u extends i{constructor(n,h,g,p,m){super();this._model=n,this._indicator=h,this._collapsedView=g,this._storageService=p,this._configurationService=m,this._disposables=this._register(new ce),this._setupDone=j({name:"setupDone"},!1),this._activeCompletionId=f((_)=>{let v=this._model.read(_);if(!v)return;if(!this._setupDone.read(_))return;let S=this._indicator.read(_);if(!S||!S.isVisible.read(_))return;return v.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===Uo.Active)return;let n=new d,h=!1,g=!1,p=0,m=0;return n.add(o2(this._activeCompletionId,async(_,v,S,C)=>{if(_===void 0)return;let L=this.getNewUserType();switch(L){case Uo.FirstTime:{if(p++>=5||h)L=Uo.SecondTime,this.setNewUserType(L);break}case Uo.SecondTime:{if(m++>=3&&g)L=Uo.Active,this.setNewUserType(L);break}}switch(L){case Uo.FirstTime:{for(let R=0;R<3&&!C.isCancellationRequested;R++)await this._indicator.get()?.triggerAnimation(),await Rr(500);break}case Uo.SecondTime:{this._indicator.get()?.triggerAnimation();break}}})),n.add(W((_)=>{if(this._collapsedView.isVisible.read(_)){if(this.getNewUserType()!==Uo.Active)this._collapsedView.triggerAnimation()}})),n.add(W((_)=>{let v=this._indicator.read(_);if(!v)return;_.store.add(Ar(v.isHoveredOverIcon,async(S)=>{if(S)h=!0}))})),n.add(W((_)=>{let v=this._model.read(_);if(!v)return;_.store.add(v.onDidAccept(()=>{g=!0}))})),n}getNewUserType(){return this._storageService.get("inlineEditsGutterIndicatorUserKind",-1,Uo.FirstTime)}setNewUserType(n){switch(n){case Uo.FirstTime:throw new H("UserKind should not be set to first time");case Uo.SecondTime:break;case Uo.Active:this._disposables.clear();break}this._storageService.store("inlineEditsGutterIndicatorUserKind",n,-1,0)}_initializeDebugSetting(){if(this._configurationService.getValue("editor.inlineSuggest.edits.resetNewUserExperience"))this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1);return this._configurationService.onDidChangeConfiguration((g)=>{if(g.affectsConfiguration("editor.inlineSuggest.edits.resetNewUserExperience")&&this._configurationService.getValue("editor.inlineSuggest.edits.resetNewUserExperience"))this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._disposables.value=this.setupNewUserExperience()})}};Um=ZN([KE(3,Mn),KE(4,re)],Um);class tS{static{this.empty=new tS([])}constructor(u){this.replacements=u,Oh(tu(u,(n,h)=>n.lineRange.endLineNumberExclusive<=h.lineRange.startLineNumber))}toString(){return this.replacements.map((u)=>u.toString()).join(",")}getNewLineRanges(){let u=[],n=0;for(let h of this.replacements)u.push(te.ofLength(h.lineRange.startLineNumber+n,h.newLines.length)),n+=h.newLines.length-h.lineRange.length;return u}}class sl{static fromSingleTextEdit(u,n){let h=Ci(u.text),g=u.range.startLineNumber,p=n.getValueOfRange(t.fromPositions(new s(u.range.startLineNumber,1),u.range.getStartPosition()));h[0]=p+h[0];let m=u.range.endLineNumber+1,_=n.getTransformer().getLineLength(u.range.endLineNumber)+1,v=n.getValueOfRange(t.fromPositions(u.range.getEndPosition(),new s(u.range.endLineNumber,_)));h[h.length-1]=h[h.length-1]+v;let S=u.range.startColumn===n.getTransformer().getLineLength(u.range.startLineNumber)+1,C=u.range.endColumn===1;if(S&&h[0].length===p.length)g++,h.shift();if(h.length>0&&g<m&&C&&h[h.length-1].length===v.length)m--,h.pop();return new sl(new te(g,m),h)}constructor(u,n){this.lineRange=u,this.newLines=n}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new tS([this])}}class iS{get lineEdit(){if(this.action?.kind==="jumpTo")return new sl(te.ofLength(this.action.position.lineNumber,0),[]);else if(this.action?.kind==="edit")return sl.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText);return new sl(new te(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(te.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(u,n,h,g,p,m,_){this.originalText=u,this.action=n,this.edit=h,this.cursorPosition=g,this.multiCursorPositions=p,this.commands=m,this.inlineCompletion=_}}class oS{constructor(u,n,h){this._model=u,this.inlineEdit=n,this.tabAction=h,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=f(this,(g)=>Dw(this._model.editor,this.inlineEdit.inlineCompletion,g)),this.onDidAccept=this._model.onDidAccept}accept(u){this._model.accept(void 0,u)}handleInlineEditShownNextFrame(u,n){let h=this.inlineEdit.inlineCompletion,g=Date.now();h.addRef(),Ba(()=>{this._model.handleInlineSuggestionShown(h,u,n,g),h.removeRef()})}}var XN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},YN=function(u,n){return function(h,g){n(h,g,u)}},qm=class u extends i{constructor(n,h,g){super();this._editor=n,this._edit=h,this._accessibilityService=g,this.onDidClick=I.None,this._iconRef=he.ref(),this.isHovered=De(!1),this._editorObs=ct(this._editor);let m=this._edit.map((C)=>C?.edit?.replacements[0]??null).map((C)=>C?Xo(C,this._editor.getModel()).range.getStartPosition():null),_=this._editorObs.observePosition(m,this._store),v=f((C)=>{let L=_.read(C);if(!L)return null;let R=this._editorObs.layoutInfoContentLeft.read(C),Z=this._editorObs.scrollLeft.read(C);return new wi(R+L.x-Z,L.y)}),S=he.div({class:"inline-edits-collapsed-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[[this.getCollapsedIndicator(v)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:S,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:De(0)})),this.isVisible=this._edit.map((C,L)=>!!C&&v.read(L)!==null)}triggerAnimation(){if(this._accessibilityService.isMotionReduced())return new Animation(null,null).finished;return this._iconRef.element.animate([{offset:0,transform:"translateY(-3px)"},{offset:0.2,transform:"translateY(1px)"},{offset:0.36,transform:"translateY(-1px)"},{offset:0.52,transform:"translateY(1px)"},{offset:0.68,transform:"translateY(-1px)"},{offset:0.84,transform:"translateY(1px)"},{offset:1,transform:"translateY(0px)"}],{duration:2000}).finished}getCollapsedIndicator(n){let h=this._editorObs.layoutInfoContentLeft,g=n.map((m,_)=>m?m.deltaX(-h.read(_)):null),p=this.createIconPath(g);return he.svg({class:"collapsedView",ref:this._iconRef,style:{position:"absolute",...ei((m)=>el(this._editorObs).read(m)),overflow:"hidden",pointerEvents:"none"}},[he.svgElem("path",{class:"collapsedViewPath",d:p,fill:P(Tn)})])}createIconPath(n){return n.map((m)=>{if(!m)return new il().build();let _=m.deltaX(-3).deltaY(-1),v=_.deltaX(6),S=_.deltaY(1),C=v.deltaY(1),L=S.deltaX(3).deltaY(3);return new il().moveTo(_).lineTo(v).lineTo(C).lineTo(L).lineTo(S).lineTo(_).build()})}};qm=XN([YN(2,on)],qm);var JN=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},UE=function(u,n){return function(h,g){n(h,g,u)}},jm=14,nS=0,as=4,$m=4,qE=2,Gm=class u extends i{constructor(n,h,g,p,m,_){super();this._editor=n,this._languageService=_,this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._isHovered=j(this,!1),this.isHovered=this._isHovered,this._viewRef=he.ref(),this._editorObs=ct(this._editor);let v=g.map((R,Z)=>{let Y;switch(R){case Dt.Inactive:Y=Yc;break;case Dt.Jump:Y=xr;break;case Dt.Accept:Y=Jc;break}return{border:zt(Y,m).read(Z).toString(),background:co(p.read(Z))}}),S=h.map((R)=>R?this.getState(R):void 0),C=S.map((R)=>R?this.getRendering(R,v):void 0);this.minEditorScrollHeight=f(this,(R)=>{let Z=S.read(R);if(!Z)return 0;return Z.rect.read(R).bottom+this._editor.getScrollTop()});let L=he.div({class:"inline-edits-custom-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[C]).keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:L.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:hr(this,(R,Z)=>{let Y=S.read(R);if(!Y)return Z??0;let Q=Y.rect.map((ee)=>ee.right).read(R)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(R)+as-this._editorObs.layoutInfoContentLeft.read(R);return Math.max(Z??0,Q)}).recomputeInitiallyAndOnChange(this._store)})),this._register(W((R)=>{if(!C.read(R)){this._isHovered.set(!1,void 0);return}this._isHovered.set(L.isHovered.read(R),void 0)}))}fitsInsideViewport(n,h,g){let p=this._editorObs.layoutInfoWidth.read(g),m=this._editorObs.layoutInfoContentLeft.read(g),_=this._editor.getLayoutInfo().verticalScrollbarWidth,v=this._editorObs.layoutInfoMinimap.read(g).minimapLeft!==0?this._editorObs.layoutInfoMinimap.read(g).minimapWidth:0,S=Qo(this._editorObs,n,void 0),C=Du(h,this._editor,this._editor.getModel()),L=as+jm;return S+C+L<p-m-_-v}getState(n){let h=f(this,(v)=>{let S=n.range.startLineNumber,C=n.range.endLineNumber,L=n.range.startColumn,R=n.range.endColumn,Z=this._editor.getModel()?.getLineCount()??0,Y=Qo(this._editorObs,new te(S,S+1),v),Q=S+1<=Z?Qo(this._editorObs,new te(S+1,S+2),v):void 0,ee=S-1>=1?Qo(this._editorObs,new te(S-1,S),v):void 0,oe=this._editor.getOffsetForColumn(S,L),ne=this._editor.getOffsetForColumn(C,R);return{lineWidth:Y,lineWidthBelow:Q,lineWidthAbove:ee,startContentLeftOffset:oe,endContentLeftOffset:ne}}),g=n.range.startLineNumber,p=n.range.endLineNumber,m=this.fitsInsideViewport(new te(g,p+1),n.content,void 0);return{rect:f(this,(v)=>{let S=this._editorObs.getOption(59).read(v).typicalHalfwidthCharacterWidth,{lineWidth:C,lineWidthBelow:L,lineWidthAbove:R,startContentLeftOffset:Z,endContentLeftOffset:Y}=h.read(v),Q=this._editorObs.layoutInfoContentLeft.read(v),ee=this._editorObs.observeLineHeightForLine(g).recomputeInitiallyAndOnChange(v.store).read(v),oe=this._editorObs.scrollTop.read(v),ne=this._editorObs.scrollLeft.read(v),de;if(g===p&&Y+5*S>=C&&m)de="end";else if(L!==void 0&&L+jm-$m-as<Z)de="below";else if(R!==void 0&&R+jm-$m-as<Z)de="above";else de="end";let ge,_e,Se=0,ae=0;switch(de){case"end":{ge=this._editorObs.editor.getTopForLineNumber(g),_e=C,Se=as+jm;break}case"below":{ge=this._editorObs.editor.getTopForLineNumber(g+1),_e=Z,Se=as+$m,ae=nS+qE;break}case"above":{ge=this._editorObs.editor.getTopForLineNumber(g-1),_e=Z,Se=as+$m,ae=-nS+qE;break}}return st.fromLeftTopWidthHeight(Q+_e-ne,ge-oe,S*n.content.length,ee).withMargin(nS,as).translateX(Se).translateY(ae)}),label:n.content,kind:n.style}}getRendering(n,h){let g=document.createElement("div"),p=this._editor.getModel().tokenization.tokenizeLinesAt(1,[n.label])?.[0],m;if(p&&n.kind===e1.Code)m=kl.fromLineTokens(p).toLineTokens(n.label,this._languageService.languageIdCodec);else m=Tt.createEmpty(n.label,this._languageService.languageIdCodec);let _=wu(new yd([m]),Ja.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],g,!0);g.style.width=`${_.minWidthInPx}px`;let v=n.rect.map((S)=>S.withMargin(0,as));return he.div({class:"collapsedView",ref:this._viewRef,style:{position:"absolute",...ei((S)=>v.read(S)),overflow:"hidden",boxSizing:"border-box",cursor:"pointer",border:h.map((S)=>`1px solid ${S.border}`),borderRadius:`${Kt}px`,backgroundColor:h.map((S)=>S.background),display:"flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap"},onmousedown:(S)=>{S.preventDefault()},onclick:(S)=>{this._onDidClick.fire(Wo.create(S))}},[g])}};Gm=JN([UE(4,ze),UE(5,xt)],Gm);var QN=0,eM=0,rS=1,tM=1,iM=3,sS=Kt;class aS extends i{constructor(u,n,h,g){super();this._editor=u,this._edit=n,this._uiState=h,this._tabAction=g,this.onDidClick=I.None,this._display=f(this,(_)=>this._uiState.read(_)?"block":"none"),this._editorMaxContentWidthInRange=f(this,(_)=>{let v=this._originalDisplayRange.read(_);if(!v)return De(0);return this._editorObs.versionId.read(_),hr(this,(S,C)=>{let L=Qo(this._editorObs,v,S);return Math.max(L,C??0)})}).map((_,v)=>_.read(v)),this._maxPrefixTrim=f(this,(_)=>{let v=this._uiState.read(_);if(!v)return{prefixTrim:0,prefixLeftOffset:0};return Qc(v.deletions,v.originalRange,[],this._editor)}),this._editorLayoutInfo=f(this,(_)=>{let v=this._edit.read(_);if(!v)return null;if(!this._uiState.read(_))return null;let C=this._editorObs.layoutInfo.read(_),L=this._editorObs.scrollLeft.read(_),R=this._editorObs.getOption(59).map((de)=>de.typicalHalfwidthCharacterWidth).read(_),Z=C.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(_),R)-L,Y=v.originalLineRange,Q=this._originalVerticalStartPosition.read(_)??this._editor.getTopForLineNumber(Y.startLineNumber)-this._editorObs.scrollTop.read(_),ee=this._originalVerticalEndPosition.read(_)??this._editor.getTopForLineNumber(Y.endLineNumberExclusive)-this._editorObs.scrollTop.read(_),oe=C.contentLeft+this._maxPrefixTrim.read(_).prefixLeftOffset-L;if(Z<=oe)return null;return{codeRect:st.fromLeftTopRightBottom(oe,Q,Z,ee).withMargin(eM,QN),contentLeft:C.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=he.div({style:{pointerEvents:"none"}},f(this,(_)=>{let v=to(this._editorLayoutInfo).read(_);if(!v)return;let S=v.map((Y)=>st.fromLeftTopRightBottom(Y.contentLeft-sS-rS,Y.codeRect.top,Y.contentLeft,Y.codeRect.bottom)),C=f(this,(Y)=>{let Q=v.read(Y).codeRect,ee=S.read(Y);return Q.intersectHorizontal(new V(ee.left,Number.MAX_SAFE_INTEGER))}),L=this._uiState.map((Y)=>Y?.editorType===Pt.DiffEditor?iM:tM).read(_),R=C.map((Y)=>Y.withMargin(L,L)),Z=co(this._uiState.map((Y)=>Y?.editorType??Pt.TextEditor).read(_));return[he.div({class:"originalSeparatorDeletion",style:{...R.read(_).toStyles(),borderRadius:`${sS}px`,border:`${rS+L}px solid ${Z}`,boxSizing:"border-box"}}),he.div({class:"originalOverlayDeletion",style:{...C.read(_).toStyles(),borderRadius:`${sS}px`,border:wa(this._tabAction).map((Y)=>`${rS}px solid ${P(Y)}`),boxSizing:"border-box",backgroundColor:P(ba)}}),he.div({class:"originalOverlayHiderDeletion",style:{...S.read(_).toStyles(),backgroundColor:Z}})]})).keepUpdated(this._store),this._nonOverflowView=he.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=De(!1),this._editorObs=ct(this._editor);let p=f(this,(_)=>{let v=this._edit.read(_);return v?new s(v.originalLineRange.startLineNumber,1):null}),m=f(this,(_)=>{let v=this._edit.read(_);return v?new s(v.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map((_)=>_?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(p,this._store).map((_)=>_?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(m,this._store).map((_)=>_?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:f(this,(_)=>{let v=this._editorLayoutInfo.read(_);if(v===null)return 0;return v.codeRect.width})}))}}var oM=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},jE=function(u,n){return function(h,g){n(h,g,u)}},al=1,nM=1,rM=3,dS=Kt,Zm=class u extends i{constructor(n,h,g,p,m){super();this._editor=n,this._input=h,this._tabAction=g,this._languageService=m,this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._state=f(this,(_)=>{let v=this._input.read(_);if(!v)return;let S=this._editor.getModel(),C=S.getEOL();if(v.startColumn===1&&v.lineNumber>1&&S.getLineLength(v.lineNumber)!==0&&v.text.endsWith(C)&&!v.text.startsWith(C)){let L=S.getLineLength(v.lineNumber-1)+1;return{lineNumber:v.lineNumber-1,column:L,text:C+v.text.slice(0,-C.length)}}return{lineNumber:v.lineNumber,column:v.startColumn,text:v.text}}),this._trimVertically=f(this,(_)=>{let v=this._state.read(_);if(!v)return{topOffset:0,contentHeight:0,linesTop:0,linesBottom:0};let S=v.text,C=this._editor.getLineHeightForPosition(new s(v.lineNumber,1)),L=this._editor.getModel().getEOL(),R=S.split(L).length,Z=0,Y=0;if(S.trim()!==""){let Q=0;for(;Q<S.length&&S.startsWith(L,Q);Q+=L.length)Z+=1;for(let ee=S.length;ee>Q&&S.endsWith(L,ee);ee-=L.length)Y+=1}return{topOffset:Z*C,contentHeight:(R-Z-Y)*C,linesTop:Z,linesBottom:Y}}),this._maxPrefixTrim=f(this,(_)=>{let v=this._state.read(_);if(!v)return{prefixLeftOffset:0,prefixTrim:0};let S=this._editor.getModel(),C=S.getEOL(),L=this._trimVertically.read(_),R=v.text.split(C),Z=R.slice(L.linesTop,R.length-L.linesBottom);if(L.linesTop===0)Z[0]=S.getLineContent(v.lineNumber)+Z[0];let Y=new te(v.lineNumber,v.lineNumber+(L.linesTop>0?0:1));return Qc([],Y,Z,this._editor)}),this._ghostText=f((_)=>{let v=this._state.read(_),S=this._maxPrefixTrim.read(_);if(!v)return;let L=this._editor.getModel().getEOL(),Z=v.text.split(L).map((Y,Q)=>new gd(new t(Q+1,Q===0?1:S.prefixTrim+1,Q+1,Y.length+1),"modified-background",0));return new Zr(v.lineNumber,[new Ld(v.column,v.text,!1,Z)])}),this._display=f(this,(_)=>this._state.read(_)?"block":"none"),this._editorMaxContentWidthInRange=f(this,(_)=>{let v=this._state.read(_);if(!v)return 0;this._editorObs.versionId.read(_);let S=this._editor.getModel(),C=S.getEOL(),L=v.text.startsWith(C)?"":S.getValueInRange(new t(v.lineNumber,1,v.lineNumber,v.column)),R=S.getValueInRange(new t(v.lineNumber,v.column,v.lineNumber,S.getLineLength(v.lineNumber)+1)),Y=(L+v.text+R).split(C),Q=Ja.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),ee=Y.map((oe)=>{let ne=S.tokenization.tokenizeLinesAt(v.lineNumber,[oe])?.[0],de;if(ne)de=kl.fromLineTokens(ne).toLineTokens(oe,this._languageService.languageIdCodec);else de=Tt.createEmpty(oe,this._languageService.languageIdCodec);return wu(new yd([de]),Q,[],w("div"),!0).minWidthInPx});return Math.max(...ee)}),this.startLineOffset=this._trimVertically.map((_)=>_.topOffset),this.originalLines=this._state.map((_)=>_?new te(_.lineNumber,Math.min(_.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=f(this,(_)=>{this._ghostText.read(_);let v=this._state.read(_);if(!v)return null;this._editorObs.observePosition(j(this,new s(v.lineNumber,v.column)),_.store).read(_);let S=this._editorObs.layoutInfo.read(_),C=this._editorObs.scrollLeft.read(_),L=this._editorObs.layoutInfoVerticalScrollbarWidth.read(_),R=S.contentLeft+this._editorMaxContentWidthInRange.read(_)-C,Z=this._maxPrefixTrim.read(_).prefixLeftOffset??0,Y=S.contentLeft+Z-C;if(R<=Y)return null;let{topOffset:Q,contentHeight:ee}=this._trimVertically.read(_),oe=this._editorObs.scrollTop.read(_),ne=this._editor.getTopForLineNumber(v.lineNumber)-oe+Q,de=ne+ee,ge=new st(Y,ne,R,de);return{overlay:ge,startsAtContentLeft:Z===0,contentLeft:S.contentLeft,minContentWidthRequired:Z+ge.width+L}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=he.div({style:{pointerEvents:"none"}},f(this,(_)=>{let v=to(this._overlayLayout).read(_);if(!v)return;let S=v.map((Y)=>st.fromLeftTopRightBottom(Y.contentLeft-dS-al,Y.overlay.top,Y.contentLeft,Y.overlay.bottom)).read(_),C=this._input.map((Y)=>Y?.editorType===Pt.DiffEditor?rM:nM).read(_),L=v.map((Y)=>Y.overlay.withMargin(0,al,al,Y.startsAtContentLeft?0:al).intersectHorizontal(new V(S.left,Number.MAX_SAFE_INTEGER))),R=L.map((Y)=>Y.withMargin(C,C)),Z=co(this._input.read(void 0)?.editorType??Pt.TextEditor);return[he.div({class:"originalUnderlayInsertion",style:{...R.read(_).toStyles(),borderRadius:dS,border:`${al+C}px solid ${Z}`,boxSizing:"border-box"}}),he.div({class:"originalOverlayInsertion",style:{...L.read(_).toStyles(),borderRadius:dS,border:ss(this._tabAction).map((Y)=>`${al}px solid ${P(Y)}`),boxSizing:"border-box",backgroundColor:P(zm)}}),he.div({class:"originalOverlayHiderInsertion",style:{...S.toStyles(),backgroundColor:Z}})]})).keepUpdated(this._store),this._view=he.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=ct(this._editor),this._ghostTextView=this._register(p.createInstance(na,this._editor,f((_)=>{let v=this._ghostText.read(_);if(!v)return;return{ghostText:v,handleInlineCompletionShown:(S)=>{},warning:void 0}}),{extraClasses:["inline-edit"],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick((_)=>{this._onDidClick.fire(new Wo(_))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:f(this,(_)=>{let v=this._overlayLayout.read(_);if(v===null)return 0;return v.minContentWidthRequired})}))}};Zm=oM([jE(3,A),jE(4,xt)],Zm);var sM=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},$E=function(u,n){return function(h,g){n(h,g,u)}},Xm=class u extends i{constructor(n,h,g,p,m,_){super();this._editor=n,this._edit=h,this._editorType=g,this._tabAction=p,this._languageService=m,this._themeService=_,this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((v,S)=>v?Qc(v.replacements.flatMap((C)=>[C.originalRange,C.modifiedRange]),v.originalRange,v.modifiedLines,this._editor.editor,S):void 0),this._modifiedLineElements=f(this,(v)=>{let S=[],C=0,L=this._maxPrefixTrim.read(v),R=this._edit.read(v);if(!R||!L)return;let Z=L.prefixTrim,Y=aM(R.replacements.map((oe)=>oe.modifiedRange)).map((oe)=>new t(oe.startLineNumber,oe.startColumn-Z,oe.endLineNumber,oe.endColumn-Z)),Q=this._editor.model.get(),ee=R.modifiedRange.startLineNumber;for(let oe=0;oe<R.modifiedRange.length;oe++){let ne=document.createElement("div"),de=ee+oe,ge=R.modifiedLines[oe].slice(Z),_e=Q.tokenization.tokenizeLinesAt(de,[ge])?.[0],Se;if(_e)Se=kl.fromLineTokens(_e).toLineTokens(ge,this._languageService.languageIdCodec);else Se=Tt.createEmpty(ge,this._languageService.languageIdCodec);let ae=[];for(let Ne of Y.filter((Me)=>Me.startLineNumber===de)){let Me=Math.min(Ne.endColumn,ge.length+1);ae.push(new gd(new t(1,Ne.startColumn,1,Me),"inlineCompletions-modified-bubble",0))}let pe=wu(new yd([Se]),Ja.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),ae,ne,!0);this._editor.getOption(59).read(v),C=Math.max(C,pe.minWidthInPx),S.push(ne)}return{lines:S,requiredWidth:C}}),this._layout=f(this,(v)=>{let S=this._modifiedLineElements.read(v),C=this._maxPrefixTrim.read(v),L=this._edit.read(v);if(!S||!C||!L)return;let{prefixLeftOffset:R}=C,{requiredWidth:Z}=S,Y=this._editor.observeLineHeightsForLineRange(L.originalRange).read(v),Q=(()=>{let Ze=Y.slice(0,L.modifiedRange.length);while(Ze.length<L.modifiedRange.length)Ze.push(Y[Y.length-1]);return Ze})(),ee=this._editor.layoutInfoContentLeft.read(v),oe=this._editor.layoutInfoVerticalScrollbarWidth.read(v),ne=this._editor.scrollLeft.read(v),de=this._editor.scrollTop.read(v),ge=ee-ne,_e=this._editor.editor.getModel(),Se=L.originalRange.mapToLineArray((Ze)=>this._editor.editor.getOffsetForColumn(Ze,_e.getLineMaxColumn(Ze))-R),ae=Math.max(...Se,Z),pe=L.originalRange.startLineNumber,Ne=L.originalRange.endLineNumberExclusive-1,Me=this._editor.editor.getTopForLineNumber(pe)-de,Oe=this._editor.editor.getBottomForLineNumber(Ne)-de,Ce=st.fromLeftTopWidthHeight(ge+R,Me,ae,Oe-Me),He=st.fromLeftTopWidthHeight(Ce.left,Ce.bottom,Ce.width,Q.reduce((Ze,Ft)=>Ze+Ft,0)),it=st.hull([Ce,He]),Ve=it.intersectVertical(new V(Ce.bottom,Number.MAX_SAFE_INTEGER)),rt=new st(Ve.left,Ve.top,Ve.right,Ve.bottom);return{originalLinesOverlay:Ce,modifiedLinesOverlay:He,background:it,lowerBackground:Ve,lowerText:rt,modifiedLineHeights:Q,minContentWidthRequired:R+ae+oe}}),this._viewZoneInfo=f((v)=>{if(!this._editor.getOption(71).map((Y)=>Y.edits.allowCodeShifting==="always").read(v))return;let C=this._layout.read(v),L=this._edit.read(v);if(!C||!L)return;let R=C.lowerBackground.height,Z=L.originalRange.endLineNumberExclusive;return{height:R,lineNumber:Z}}),this.minEditorScrollHeight=f(this,(v)=>{let S=to(this._layout).read(v);if(!S||this._viewZoneInfo.read(v)!==void 0)return 0;return S.read(v).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=he.div({class:"line-replacement"},[f(this,(v)=>{let S=to(this._layout).read(v),C=this._modifiedLineElements.read(v);if(!S||!C)return[];let L=S.read(v),R=this._editor.layoutInfoContentLeft.read(v),Z=this._editorType.read(v)===Pt.DiffEditor?3:1;C.lines.forEach((oe,ne)=>{oe.style.width=`${L.lowerText.width}px`,oe.style.height=`${L.modifiedLineHeights[ne]}px`,oe.style.position="relative"});let Y=ss(this._tabAction).read(v),Q=wa(this._tabAction).read(v),ee=co(this._editorType.read(v));return[he.div({style:{position:"absolute",...ei((oe)=>el(this._editor).read(oe)),overflow:"hidden",pointerEvents:"none"}},[he.div({class:"borderAroundLineReplacement",style:{position:"absolute",...ei((oe)=>S.read(oe).background.translateX(-R).withMargin(Z)),borderRadius:`${Kt}px`,border:`${Z+1}px solid ${ee}`,boxSizing:"border-box",pointerEvents:"none"}}),he.div({class:"originalOverlayLineReplacement",style:{position:"absolute",...ei((oe)=>S.read(oe).background.translateX(-R)),borderRadius:`${Kt}px`,border:zt(Q,this._themeService).map((oe)=>`1px solid ${oe.toString()}`),pointerEvents:"none",boxSizing:"border-box",background:P(ba)}}),he.div({class:"modifiedOverlayLineReplacement",style:{position:"absolute",...ei((oe)=>S.read(oe).lowerBackground.translateX(-R)),borderRadius:`0 0 ${Kt}px ${Kt}px`,background:ee,boxShadow:`${P(gg)} 0 6px 6px -6px`,border:`1px solid ${P(Y)}`,boxSizing:"border-box",overflow:"hidden",cursor:"pointer",pointerEvents:"auto"},onmousedown:(oe)=>{oe.preventDefault()},onclick:(oe)=>this._onDidClick.fire(Wo.create(oe))},[he.div({style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:P(TE)}})]),he.div({class:"modifiedLinesLineReplacement",style:{position:"absolute",boxSizing:"border-box",...ei((oe)=>S.read(oe).lowerText.translateX(-R)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:"none",whiteSpace:"nowrap",borderRadius:`0 0 ${Kt}px ${Kt}px`,overflow:"hidden"}},[...C.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered((v)=>this._isMouseOverWidget(v),this._store),this._previousViewZoneInfo=void 0,this._register(N(()=>this._editor.editor.changeViewZones((v)=>this.removePreviousViewZone(v)))),this._register(RM(this._viewZoneInfo,({lastValue:v,newValue:S})=>{if(v===S||v?.height===S?.height&&v?.lineNumber===S?.lineNumber)return;this._editor.editor.changeViewZones((C)=>{if(this.removePreviousViewZone(C),!S)return;this.addViewZone(S,C)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:f(this,(v)=>this._layout.read(v)?.minContentWidthRequired??0),position:De({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(n){let h=this._layout.get();if(!h||!(n.event instanceof Tl))return!1;return h.lowerBackground.containsPoint(new wi(n.event.relativePos.x,n.event.relativePos.y))}removePreviousViewZone(n){if(!this._previousViewZoneInfo)return;n.removeZone(this._previousViewZoneInfo.id);let h=this._editor.cursorLineNumber.get();if(h!==null&&h>=this._previousViewZoneInfo.lineNumber)this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height);this._previousViewZoneInfo=void 0}addViewZone(n,h){let g=h.addZone({afterLineNumber:n.lineNumber-1,heightInPx:n.height,domNode:w("div")});this._previousViewZoneInfo={height:n.height,lineNumber:n.lineNumber,id:g};let p=this._editor.cursorLineNumber.get();if(p!==null&&p>=n.lineNumber)this._editor.editor.setScrollTop(this._editor.scrollTop.get()+n.height)}};Xm=sM([$E(4,xt),$E(5,ze)],Xm);function aM(u){let n=[];while(u.length){let h=u.shift();if(h.startLineNumber!==h.endLineNumber)u.push(new t(h.startLineNumber+1,1,h.endLineNumber,h.endColumn)),h=new t(h.startLineNumber,h.startColumn,h.startLineNumber,Number.MAX_SAFE_INTEGER);n.push(h)}return n}function GE(u,n){let h={};for(let[_,v]of Object.entries(n))if(Array.isArray(v))h[_]={min:0,rules:v};else h[_]={min:v.min??0,rules:v.rules??[{max:v.max,priority:v.priority,share:v.share}]};let g={},p=0;for(let[_,v]of Object.entries(h))g[_]=v.min,p+=v.min;if(p>u)return null;let m=u-p;while(m>0){let _=[];for(let[Z,Y]of Object.entries(h))for(let Q=0;Q<Y.rules.length;Q++){let ee=Y.rules[Q],oe=g[Z],ne=ee.max??1/0;if(oe<ne)_.push({partKey:Z,ruleIndex:Q,rule:ee,priority:ee.priority??0,share:ee.share??1})}if(_.length===0)break;let v=Math.max(..._.map((Z)=>Z.priority)),S=_.filter((Z)=>Z.priority===v),C=S.reduce((Z,Y)=>Z+Y.share,0),L=0,R=[];for(let Z of S){let Y=Z.rule,Q=g[Z.partKey],oe=(Y.max??1/0)-Q,ne=m*Z.share/C,de=Math.min(ne,oe);R.push({partKey:Z.partKey,ruleIndex:Z.ruleIndex,amount:de}),L+=de}if(L===0)break;for(let Z of R)g[Z.partKey]+=Z.amount;if(m-=L,m<0.0001)break}return g}var dM=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},cS=function(u,n){return function(h,g){n(h,g,u)}},Ym=class u extends i{constructor(n,h,g,p,m,_){super();this._editor=n,this._data=g,this._themeService=p,this._keybindingService=m,this._contextKeyService=_,this._styles=f(this,(S)=>({background:zt(xr,this._themeService).read(S).toString(),foreground:zt(va,this._themeService).read(S).toString(),border:zt(Tn,this._themeService).read(S).toString()})),this._pos=f(this,(S)=>this._editor.observePosition(f((C)=>this._data.read(C)?.jumpToPosition||null),S.store)).flatten(),this._layout=f(this,(S)=>{let C=this._data.read(S);if(!C)return;let L=C.jumpToPosition,R=this._editor.observeLineHeightForLine(De(L.lineNumber)).read(S),Z=this._editor.scrollLeft.read(S),Y=this._pos.read(S);if(!Y)return;let Q=this._editor.layoutInfo.read(S);return{widgetRect:st.fromLeftTopWidthHeight(Y.x+Q.contentLeft+2-Z,Y.y,100,R)}}),this._blink=cM([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=he.div({class:"inline-edit-jump-to-widget",style:{position:"absolute",display:this._layout.map((S)=>S?"flex":"none"),alignItems:"center",cursor:"pointer",userSelect:"none",...ei((S)=>this._layout.read(S)?.widgetRect)}},f((S)=>{if(this._data.read(S)===void 0)return[];return he.div({style:{display:"flex",alignItems:"center",gap:"4px",padding:"0 4px",height:"100%",backgroundColor:this._styles.map((C)=>C.background),["--vscodeIconForeground"]:this._styles.map((C)=>C.foreground),border:this._styles.map((C)=>`1px solid ${C.border}`),borderRadius:"3px",boxSizing:"border-box",fontSize:"11px",color:this._styles.map((C)=>C.foreground)}},[this._style==="cursor"?he.elem("div",{style:{borderLeft:"2px solid",height:14,opacity:this._blink.map((C)=>C?"0":"1")}}):[f(()=>he.elem("div",{},lM(this._keybinding))),he.elem("div",{style:{lineHeight:this._layout.map((C)=>C?.widgetRect.height),marginTop:"-2px"}},["to jump"])]])})),this._style=h.style,this._keybinding=this._getKeybinding(Xn);let v=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:v.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:De(0)})),this._register(this._editor.setDecorations(f((S)=>{let C=this._data.read(S);if(!C)return[];return[{range:t.fromPositions(C.jumpToPosition,C.jumpToPosition),options:{description:"inline-edit-jump-to-decoration",inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style==="label"?" ":" "}}}]})))}_getKeybinding(n,h=qt.ofCaller()){if(!n)return De(void 0);return Pe(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(n),h)}};Ym=dM([cS(3,ze),cS(4,me),cS(5,G)],Ym);function cM(u,n=qt.ofCaller()){let h=0;return Pe(void 0,(g)=>{h=0;let p=new ke(()=>{h=(h+1)%u.length,g(null),p.schedule(u[h].durationMs)},0);return p.schedule(0),p},()=>u[h].value,n)}function lM(u){return f((n)=>he.div({style:{},ref:(h)=>{let g=n.store.add(new Ka(h,Ni,{disableTitle:!0,...fy,keybindingLabelShadow:void 0,keybindingLabelForeground:P(va),keybindingLabelBackground:"transparent",keybindingLabelBorder:P(va),keybindingLabelBottomBorder:void 0}));n.store.add(W((p)=>{g.set(u.read(p))}))}}))}var hM=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},uM=function(u,n){return function(h,g){n(h,g,u)}};function gM(u,n,h){let g=Math.max(1,Math.min(h,u)),p=Math.max(1,g-n),m=Math.min(h+1,g+n+1);return new te(p,m)}var Jm=class u extends i{constructor(n,h,g,p,m){super();this._previewTextModel=n,this._properties=h,this._parentEditor=g,this._tabAction=p,this._instantiationService=m,this._previewRef=he.ref(),this.element=he.div({class:"preview",style:{},ref:this._previewRef}),this._state=f(this,(_)=>{let v=this._properties.read(_);if(!v)return;let S,C;if(v.nextCursorPosition!==null)S="original",C=v.nextCursorPosition.lineNumber;else if(v.diff[0].innerChanges?.every((Q)=>Q.modifiedRange.isEmpty()))S="original",C=v.diff[0].original.startLineNumber;else S="modified",C=v.diff[0].modified.startLineNumber;let L=S==="modified"?Cr.snapshot(this._previewTextModel):v.target,R=this._parentEditorObs.getOption(71).read(_).edits.longDistanceHintContextLineCount,Z=S==="modified"?this._previewTextModel:v.target.dangerouslyGetUnderlyingModel(),Y=gM(C,R,Z.getLineCount());return{mode:S,targetLineNumber:C,visibleLineRange:Y,textModel:L,diff:v.diff}}),this.updatePreviewEditorEffect=f(this,(_)=>{this._previewEditorObs.model.read(_);let v=this._state.read(_)?.visibleLineRange;if(!v)return;let S=[];if(v.startLineNumber>1)S.push(new t(1,1,v.startLineNumber-1,1));if(v.endLineNumberExclusive<this._previewTextModel.getLineCount()+1)S.push(new t(v.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1));this.previewEditor.setHiddenAreas(S,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=f(this,(_)=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,_)),this.contentHeight=f(this,(_)=>{let v=this._state.read(_);if(!v)return De(null);return this._previewEditorObs.observeLineHeightsForLineRange(v.visibleLineRange).map((S)=>S.reduce((C,L)=>C+L,0))}).flatten(),this._editorDecorations=f(this,(_)=>{let v=this._state.read(_);if(!v)return;let S={diff:v.diff},C=[],L=[],R=ue.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),Z=ue.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),Y=ue.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0});for(let Q of S.diff)if(Q.modified.isEmpty||Q.original.isEmpty){if(!Q.original.isEmpty)C.push({range:Q.original.toInclusiveRange(),options:R});if(!Q.modified.isEmpty)L.push({range:Q.modified.toInclusiveRange(),options:Z})}else for(let ee of Q.innerChanges||[]){if(Q.original.contains(ee.originalRange.startLineNumber)&&!ee.originalRange.isEmpty())C.push({range:ee.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:tl("inlineCompletions-char-delete",ee.originalRange.isEmpty()&&"empty"),zIndex:1}});if(Q.modified.contains(ee.modifiedRange.startLineNumber))L.push({range:ee.modifiedRange,options:Y})}return{originalDecorations:C,modifiedDecorations:L}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=ct(this._parentEditor),this._register(W((_)=>{let v=this._state.read(_)?.textModel||null;if(v)this.previewEditor.setModel(v.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=ct(this.previewEditor),this._register(this._previewEditorObs.setDecorations(f((_)=>{let v=this._state.read(_),S=this._editorDecorations.read(_);return(v?.mode==="original"?S?.originalDecorations:S?.modifiedDecorations)??[]}))),this._register(W((_)=>{if(!this._properties.read(_))return;let v=this._parentEditorObs.cursorPosition.read(_);if(v)this.previewEditor.setPosition(this._previewTextModel.validatePosition(v),"longDistanceHintPreview")})),this._register(W((_)=>{let v=this._state.read(_);if(!v)return;let S=(v.visibleLineRange.endLineNumberExclusive-1).toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:S+1})})),this._register(this._instantiationService.createInstance(ol,this._previewEditorObs,f((_)=>{let v=this._state.read(_);if(!v)return;let S=this._properties.read(_);if(!S)return;return new Ru(S.inlineSuggestInfo,te.ofLength(v.targetLineNumber,1),S.model,void 0)}),this._tabAction,De(0),De(!1),j(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(Bi,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:{[dt.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(n,h){let g=this._state.read(h);if(!g)return;let p=g.diff,m=this._properties.read(h)?.nextCursorPosition,_=g.visibleLineRange,v=this._previewEditorObs.layoutInfo.read(h),S=Qo(this._previewEditorObs,_,h),C;if(m)C=t.fromPositions(m);else if(p[0].innerChanges)C=g.mode==="modified"?p[0].innerChanges[0].modifiedRange:p[0].innerChanges[0].originalRange;else return;let L=pM(n.getModel(),C,5),R=this._previewEditorObs.getLeftOfPosition(L.getStartPosition(),h),Z=this._previewEditorObs.getLeftOfPosition(L.getEndPosition(),h),Y=Gi(R,0,S),Q=Gi(Z,Y,S),ee=n.getModel().getLineFirstNonWhitespaceColumn(L.startLineNumber),oe=this._previewEditorObs.getLeftOfPosition(new s(L.startLineNumber,ee),h),ne=new V(Y,Q);return{indentationEnd:oe,preferredRangeToReveal:ne,maxEditorWidth:S+v.contentLeft,contentWidth:S,nonContentWidth:v.contentLeft}}layout(n,h){this.previewEditor.layout(n),this._previewEditorObs.editor.setScrollLeft(h)}};Jm=hM([uM(4,A)],Jm);function pM(u,n,h){let g=n.getStartPosition(),p=n.getEndPosition(),m=u.getLineContent(g.lineNumber);function _(L){let R=m.charAt(L-1);return/[a-zA-Z0-9_]/.test(R)}function v(L){let R=m.charAt(L-1);return R===" "||R==="\t"}let S=g.column;while(S>1&&_(S)&&!v(S-1)&&g.column-S<h)S--;let C=p.column-1;while(C<=m.length&&_(C)&&!v(C+1)&&C-p.column<h)C++;return new t(g.lineNumber,S,p.lineNumber,C+1)}function ZE(u,n){let{start:h,endExclusive:g}=u,p=Number.MAX_VALUE,m=0;for(let _ of n){let v=m+_.width,S=Math.max(h,m),C=Math.min(g,v);if(S<C)p=Math.min(p,_.height);m=v}if(g>m)return 0;return p===Number.MAX_VALUE?0:p}class Qm{constructor(u,n,h){this._lineRangeInfo=u,this.availableSpaceSizes=u.sizes.map((g,p)=>{let m=u.lineRange.startLineNumber+p,_=h(m);return new sa(Math.max(0,n-g.width-_),g.height)}),this.availableSpaceHeightPrefixSums=fM(this.availableSpaceSizes,(g)=>g.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map((g)=>g.transpose())}getWidgetVerticalOutline(u,n,h){let g=u-this._lineRangeInfo.lineRange.startLineNumber,p=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[g],m=V.ofStartAndLength(p,n),{previewEditorMargin:_,widgetPadding:v,widgetBorder:S,lowerBarHeight:C}=h;return m.withMargin(_+v+S).withMargin(0,C)}tryFindWidgetOutline(u,n,h,g){if(this._lineRangeInfo.lineRange.length<3)return;return mM(this._lineRangeInfo.lineRange.addMargin(-1,-1),u,(p)=>{let m=this.getWidgetVerticalOutline(p,n,g),_=ZE(m.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);if(_<g.minWidgetWidth)return;return{horizontalWidgetRange:V.ofStartAndLength(h-_,_),verticalWidgetRange:m}})}}function XE(u,n,h,g,p){let m=[],_=u.startLineNumber,v=h,S=[];for(let C=0;C<n.length;C++){let L=u.startLineNumber+C,R=v+S.reduce((Y,Q)=>Y+Q.height,0),Z=g.editor.getTopForLineNumber(L);if(C>0&&Z!==R)m.push({lineRange:te.ofLength(_,L-_),top:v,sizes:S}),_=L,v=Z,S=[];S.push(n[C])}return m.push({lineRange:te.ofLength(_,u.endLineNumberExclusive-_),top:v,sizes:S}),f({owner:"splitIntoContinuousLineRanges"},(C)=>g.observeTopForLineNumber(u.endLineNumberExclusive-1).read(C)).read(p),m}function mM(u,n,h){for(let g=0;;g++){let p=n+g;if(p<=u.endLineNumberExclusive){let _=h(p);if(_!==void 0)return _}let m=n-g;if(m>=u.startLineNumber){let _=h(m);if(_!==void 0)return _}if(m<u.startLineNumber&&p>u.endLineNumberExclusive)return}}function fM(u,n){let h=[0],g=0;for(let p of u)g+=n(p),h.push(g);return h}var bM=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Nu=function(u,n){return function(h,g){n(h,g,u)}},kM=6,lS={EMPTY_SPACE:425,OVERLAY:375},EM=250,eO={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:EM},ef=class u extends i{constructor(n,h,g,p,m,_,v,S,C){super();this._editor=n,this._viewState=h,this._previewTextModel=g,this._tabAction=p,this._instantiationService=m,this._themeService=_,this._keybindingService=v,this._modelService=S,this._languageService=C,this.onDidClick=I.None,this._viewWithElement=void 0,this._hintTextPosition=f(this,(L)=>{let R=this._viewState.read(L);return R?new s(R.hint.lineNumber,Number.MAX_SAFE_INTEGER):null}),this._lineSizesAroundHintPosition=f(this,(L)=>{let R=this._viewState.read(L),Z=this._hintTextPosition.read(L);if(!R||!Z)return[];let Y=this._editorObs.model.read(L);if(!Y)return[];let Q=te.ofLength(Z.lineNumber,1).addMargin(5,5).intersect(te.ofLength(1,Y.getLineCount()));if(!Q)return[];let ee=AE(this._editorObs,Q,L),oe=this._editorObs.observeTopForLineNumber(Q.startLineNumber).read(L);return XE(Q,ee,oe,this._editorObs,L)}),this._isVisibleDelayed=TI(f(this,(L)=>this._viewState.read(L)?.hint.isVisible),(L,R)=>L===!0&&R===!1?200:0),this._previewEditorLayoutInfo=f(this,(L)=>{let R=this._viewState.read(L);if(!R||!this._isVisibleDelayed.read(L))return;let Z=this._lineSizesAroundHintPosition.read(L);if(Z.length===0)return;let Y=this._editorObs.scrollTop.read(L),Q=this._editorObs.scrollLeft.read(L),ee=this._editorObs.layoutInfo.read(L),oe=this._previewEditor.contentHeight.read(L),ne=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(L);if(!oe||!ne)return;let de=ee.contentWidth-ee.verticalScrollbarWidth,ge=ee.contentLeft+de;if(!this._editorObs.cursorLineNumber.read(L))return;let Se=eO,pe=oe+2,Ne,Me,Oe=(tn)=>tn===R.hint.lineNumber?40:20;for(let tn of Z){let or=new Qm(tn,de,Oe);if(Me=or,Ne=or.tryFindWidgetOutline(R.hint.lineNumber,pe,ge,Se),Ne)break}let Ce="empty-space";if(!Ne){Ce="overlay";let tn=Math.min(ee.width-ee.contentLeft,lS.OVERLAY),or=Me??new Qm(Z[0],de,Oe);Ne={horizontalWidgetRange:V.ofStartAndLength(ge-tn,tn),verticalWidgetRange:or.getWidgetVerticalOutline(R.hint.lineNumber+2,pe,Se).delta(10)}}if(!Ne)return;let He=st.fromRanges(Ne.horizontalWidgetRange,Ne.verticalWidgetRange).translateX(-Q).translateY(-Y),{previewEditorMargin:it,widgetPadding:Ve,widgetBorder:rt,lowerBarHeight:Ze}=Se,Ft=Ce==="overlay"?lS.OVERLAY:lS.EMPTY_SPACE,nt=ne.maxEditorWidth+it+Ve,ft=Math.min(Ft,Math.max(nt,Se.minWidgetWidth)),Wt=GE(He.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:ft,priority:1}]},spaceAfter:{min:10}});if(!Wt)return null;let St=tO([Wt.spaceBefore,Wt.content,Wt.spaceAfter],He.left);He.withHorizontalRange(St[0]);let wt=He.withHorizontalRange(St[1]);He.withHorizontalRange(St[2]);let Bt=wt.withMargin(-Ve-rt-it).withMargin(0,0,-Ze,0),Ht=Bt.width-ne.nonContentWidth,It=Ht*0.8,Di=ne.preferredRangeToReveal.intersect(V.ofStartAndLength(ne.preferredRangeToReveal.start,It))??ne.preferredRangeToReveal,cs=iO(ne.indentationEnd,Ht,Di);return{codeEditorSize:Bt.getSize(),codeScrollLeft:Q,contentLeft:ee.contentLeft,widgetRect:wt,previewEditorMargin:it,widgetPadding:Ve,widgetBorder:rt,lowerBarHeight:Ze,desiredPreviewEditorScrollLeft:cs.newScrollPosition}}),this._view=he.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:f(this,(L)=>this._previewEditorLayoutInfo.read(L)?"block":"none")}},[f(this,(L)=>[this._widgetContent])]),this._widgetContent=f(this,(L)=>he.div({class:["inline-edits-long-distance-hint-widget","show-file-icons"],style:{position:"absolute",overflow:"hidden",cursor:"pointer",background:P(Ho),padding:this._previewEditorLayoutInfo.map((R)=>R?.widgetPadding),boxSizing:"border-box",borderRadius:kM,border:f((R)=>`${this._previewEditorLayoutInfo.read(R)?.widgetBorder}px solid ${this._styles.read(R).border}`),display:"flex",flexDirection:"column",opacity:f((R)=>this._viewState.read(R)?.hint.isVisible?"1":"0"),transition:"opacity 200ms ease-in-out",...ei((R)=>this._previewEditorLayoutInfo.read(R)?.widgetRect)},onmousedown:(R)=>{R.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[he.div({class:["editorContainer"],style:{overflow:"hidden",padding:this._previewEditorLayoutInfo.map((R)=>R?.previewEditorMargin),background:this._styles.map((R)=>R.background),pointerEvents:"none"}},[f(this,(R)=>this._previewEditor.element)]),he.div({class:"bar",style:{color:P(v0),pointerEvents:"none",margin:"0 4px",height:this._previewEditorLayoutInfo.map((R)=>R?.lowerBarHeight),display:"flex",justifyContent:"space-between",alignItems:"center"}},[f(this,(R)=>{let Z=[],Y=this._viewState.read(R);if(!Y)return Z;let Q=this._editorObs.model.read(R),ee=Y.target.uri,oe=!Q||!Y.target.targets(Q);if(oe){let Se=Oi(ee),ae=Td(this._modelService,this._languageService,ee,zo.FILE);Z.push(he.div({class:"target-file",style:{display:"flex",alignItems:"center",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[he.elem("span",{class:ae,style:{flexShrink:"0",marginRight:"4px"}}),Se]))}else{let Se=this._originalOutlineSource.read(R),ae=this._originalTargetLineNumber.read(R),pe=Se?.getAt(ae,R).slice(0,1)??[],Ne=[];if(pe.length>0)for(let Me=0;Me<pe.length;Me++){let Oe=pe[Me],Ce=jh.toIcon(Oe.kind);Ne.push(he.div({class:"breadcrumb-item",style:{display:"flex",alignItems:"center",flex:"1 1 auto",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},[_o(Ce)," ",Oe.name,...Me===pe.length-1?[]:[_o(x.chevronRight)]]))}Z.push(he.div({class:"outline-elements",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},Ne))}let ne=this._originalTargetLineNumber.read(R),de=oe?x.arrowRight:Y.hint.lineNumber<ne?x.arrowDown:x.arrowUp,ge=this._keybindingService.lookupKeybinding(kc),_e=oe?"Go to file":"Go to suggestion";if(ge&&ge.getLabel()==="Tab")_e=oe?"Tab to open":"Tab to jump";return Z.push(he.div({class:"go-to-label",style:{position:"relative",display:"flex",alignItems:"center",flex:"0 0 auto",paddingLeft:"6px"}},[_e," ",_o(de)])),Z})])])),this._originalTargetLineNumber=f(this,(L)=>{let R=this._viewState.read(L);if(!R)return-1;if(R.edit.action?.kind==="jumpTo")return R.edit.action.position.lineNumber;return R.diff[0]?.original.startLineNumber??-1}),this._originalOutlineSource=ur(this,(L)=>{let R=this._editorObs.model.read(L),Z=np._breadcrumbsSourceFactory.read(L);return!R||!Z?void 0:Z(R,this._instantiationService)}),this._styles=f((L)=>{let R=this._tabAction.read(L),Z=_a(Tf,this._themeService).read(L),Y=Pe(this._themeService.onDidColorThemeChange,()=>{let ee=this._themeService.getColorTheme();return ee.type==="hcDark"||ee.type==="hcLight"}).read(L),Q;if(Y)Q=Z;else{let ee;switch(R){case Dt.Inactive:ee=Yc;break;case Dt.Jump:ee=xr;break;case Dt.Accept:ee=Jc;break}Q=zt(ee,this._themeService).read(L)}return{border:Q.toString(),background:co(this._viewState.map((ee)=>ee?.editorType??Pt.TextEditor).read(L))}}),this._editorObs=ct(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(Jm,this._previewTextModel,f((L)=>{let R=this._viewState.read(L);if(!R)return;return{diff:R.diff,model:R.model,inlineSuggestInfo:R.inlineSuggestInfo,nextCursorPosition:R.nextCursorPosition,target:R.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:De(0)})),this._widgetContent.get().keepUpdated(this._store),this._register(W((L)=>{let R=this._previewEditorLayoutInfo.read(L);if(!R)return;this._previewEditor.layout(R.codeEditorSize.toDimension(),R.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};ef=bM([Nu(4,A),Nu(5,ze),Nu(6,me),Nu(7,Et),Nu(8,xt)],ef);function tO(u,n=0){let h=[],g=n;for(let p of u)h.push(new V(g,g+p)),g+=p;return h}function iO(u,n,h){let g=new V(u,u+n);if(g.containsRange(h))return{newScrollPosition:u};if(h.length>n)return{newScrollPosition:h.start};if(h.endExclusive>g.endExclusive)return{newScrollPosition:h.endExclusive-n};if(h.start<g.start)return{newScrollPosition:h.start};return{newScrollPosition:u}}var oO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},hS=function(u,n){return function(h,g){n(h,g,u)}},dl=0,Mu=0,ir=1,nO=1,rO=3,ds=Kt,uS=20,YE=12,Ou=class u extends i{static fitsInsideViewport(n,h,g,p){let m=ct(n),_=m.layoutInfoWidth.read(p),v=m.layoutInfoContentLeft.read(p),S=n.getLayoutInfo().verticalScrollbarWidth,C=m.layoutInfoMinimap.read(p).minimapLeft!==0?m.layoutInfoMinimap.read(p).minimapWidth:0,L=Qo(m,g.displayRange,void 0),R=g.lineEdit.newLines.reduce((Q,ee)=>Math.max(Q,Du(ee,n,h)),0),Z=uS,Y=YE+2*ir;return L+R+Z+Y<_-v-S-C}constructor(n,h,g,p,m,_,v,S){super();this._editor=n,this._edit=h,this._previewTextModel=g,this._uiState=p,this._tabAction=m,this._instantiationService=_,this._themeService=v,this._userInteractionService=S,this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._editorObs=ct(this._editor),this._display=f(this,(R)=>this._uiState.read(R)?"block":"none"),this.previewRef=he.ref();let C=this._uiState.map((R)=>R?.editorType===Pt.DiffEditor?rO:nO);this._editorContainer=he.div({class:["editorContainer"],style:{position:"absolute",overflow:"hidden",cursor:"pointer"},onmousedown:(R)=>{R.preventDefault()},onclick:(R)=>{this._onDidClick.fire(Wo.create(R))}},[he.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(Bi,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:{[dt.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=ct(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=f(this,(R)=>{if(this._editorContainer.readEffect(R),this._previewEditorObs.model.read(R),this._display.read(R),this._nonOverflowView)this._nonOverflowView.element.style.display=this._display.read(R);let Z=this._uiState.read(R),Y=this._edit.read(R);if(!Z||!Y)return;let Q=Y.originalLineRange,ee=[];if(Q.startLineNumber>1)ee.push(new t(1,1,Q.startLineNumber-1,1));if(Q.startLineNumber+Z.newTextLineCount<this._previewTextModel.getLineCount()+1)ee.push(new t(Q.startLineNumber+Z.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1));this.previewEditor.setHiddenAreas(ee,void 0,!0);let oe=[...this._activeViewZones];this._activeViewZones=[];let ne=Q.endLineNumberExclusive-Q.startLineNumber-Z.newTextLineCount;this.previewEditor.changeViewZones((de)=>{if(oe.forEach((ge)=>de.removeZone(ge)),ne>0)this._activeViewZones.push(de.addZone({afterLineNumber:Q.startLineNumber+Z.newTextLineCount-1,heightInLines:ne,showInHiddenAreas:!0,domNode:w("div.diagonal-fill.inline-edits-view-zone")}))})}),this._previewEditorWidth=f(this,(R)=>{let Z=this._edit.read(R);if(!Z)return 0;return this._updatePreviewEditor.read(R),Qo(this._previewEditorObs,Z.modifiedLineRange,R)}),this._cursorPosIfTouchesEdit=f(this,(R)=>{let Z=this._editorObs.cursorPosition.read(R),Y=this._edit.read(R);if(!Y||!Z)return;return Y.modifiedLineRange.contains(Z.lineNumber)?Z:void 0}),this._originalStartPosition=f(this,(R)=>{let Z=this._edit.read(R);return Z?new s(Z.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=f(this,(R)=>{let Z=this._edit.read(R);return Z?new s(Z.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map((R)=>R?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map((R)=>R?.y),this._originalDisplayRange=this._edit.map((R)=>R?.displayRange),this._editorMaxContentWidthInRange=f(this,(R)=>{let Z=this._originalDisplayRange.read(R);if(!Z)return De(0);return this._editorObs.versionId.read(R),hr(this,(Y,Q)=>{let ee=Qo(this._editorObs,Z,Y);return Math.max(ee,Q??0)})}).map((R,Z)=>R.read(Z));let L=BE(this._editor,this._store);this._previewEditorLayoutInfo=f(this,(R)=>{let Z=this._edit.read(R);if(!Z)return null;if(!this._uiState.read(R))return null;let Q=Z.originalLineRange,ee=this._editorObs.scrollLeft.read(R),oe=this._editorMaxContentWidthInRange.read(R),ne=this._editorObs.layoutInfo.read(R),de=this._previewEditorWidth.read(R),ge=ne.contentWidth-ne.verticalScrollbarWidth,_e=L.read(R),Se=ne.contentLeft+ne.contentWidth+_e.left,ae=B(this._editor.getContainerDomNode()).innerWidth-Se,pe=B(this._editor.getContainerDomNode()).innerWidth-_e.right,Ne=Math.min(ne.contentWidth*0.3,de,100),Me=0,Oe=Me+ae,Ce=this._cursorPosIfTouchesEdit.read(R),He=Math.max(ge+ee-Me-Math.max(0,Ne-Oe),Math.min(Ce?FE(this._editorObs,Ce,R)+50:0,ge+ee)),it=Math.min(oe+uS,He),Ve=oe+uS+de+70,rt=He-it,Ze,Ft;if(it>ee)Ze=0,Ft=ne.contentLeft+it-ee;else Ze=ee-it,Ft=ne.contentLeft;let nt=this._originalVerticalStartPosition.read(R)??this._editor.getTopForLineNumber(Q.startLineNumber)-this._editorObs.scrollTop.read(R),ft=this._originalVerticalEndPosition.read(R)??this._editor.getBottomForLineNumber(Q.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(R),Wt=ne.contentLeft-ee,St=st.fromLeftTopRightBottom(Wt,nt,Ft,ft),wt=St.height===0;if(!wt)St=St.withMargin(Mu,dl);let Ht=this._previewEditorObs.observeLineHeightsForLineRange(Z.modifiedLineRange).read(R).reduce((Hf,fD)=>Hf+fD,0),It=ft-nt,Di=Math.max(It,Ht),cs=rt===0,tn=0,or=Math.min(de+YE,pe+ne.width-ne.contentLeft-tn),ya=st.fromLeftTopWidthHeight(St.right+tn,nt,or,Di);if(!wt)ya=ya.withMargin(Mu,dl).translateX(dl+ir);else ya=ya.withMargin(Mu,dl).translateY(Mu);return{codeRect:St,editRect:ya,codeScrollLeft:ee,contentLeft:ne.contentLeft,isInsertion:wt,maxContentWidth:Ve,shouldShowShadow:cs,desiredPreviewEditorScrollLeft:Ze,previewEditorWidth:or}}),this._stickyScrollController=Is.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?Pe(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):De(0),this._shouldOverflow=f(this,(R)=>!1),this._originalBackgroundColor=Pe(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(ba)??y.transparent),this._editorBackgroundColor=this._uiState.map((R)=>co(R?.editorType??Pt.TextEditor)),this._backgroundSvg=he.svg({transform:"translate(-0.5 -0.5)",style:{overflow:"visible",pointerEvents:"none",position:"absolute"}},[he.svgElem("path",{class:"rightOfModifiedBackgroundCoverUp",d:f(this,(R)=>{let Z=this._previewEditorLayoutInfo.read(R);if(!Z)return;if(this._originalBackgroundColor.read(R).isTransparent())return;return new il().moveTo(Z.codeRect.getRightTop()).lineTo(Z.codeRect.getRightTop().deltaX(1000)).lineTo(Z.codeRect.getRightBottom().deltaX(1000)).lineTo(Z.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=he.div({style:{pointerEvents:"none",display:this._previewEditorLayoutInfo.map((R)=>R?.isInsertion?"none":"block")}},f(this,(R)=>{let Z=to(this._previewEditorLayoutInfo).read(R);if(!Z)return;let Y=this._editorBackgroundColor.read(R),Q=C.read(R),ee=wa(this._tabAction).map((Me)=>`${ir}px solid ${P(Me)}`),oe=`${ir+Q}px solid ${Y}`,ne=Z.read(R).codeScrollLeft!==0,de=Z.map((Me)=>Me.codeRect.bottom<Me.editRect.bottom),ge=ds*2+ir*2,_e=Z.map((Me)=>st.fromLeftTopRightBottom(Me.contentLeft-ds-ir,Me.codeRect.top,Me.contentLeft,Me.codeRect.bottom+ge)).read(R),Se=new V(_e.left,Number.MAX_SAFE_INTEGER),ae=Z.map((Me)=>Me.codeRect.intersectHorizontal(Se)),pe=ae.map((Me)=>Me.withMargin(Q,0,Q,Q).intersectHorizontal(Se)),Ne=ae.map((Me)=>st.fromLeftTopWidthHeight(Me.right-ge+ir,Me.bottom-ir,ge,ge).intersectHorizontal(Se));return[he.div({class:"originalSeparatorSideBySide",style:{...pe.read(R).toStyles(),boxSizing:"border-box",borderRadius:`${ds}px 0 0 ${ds}px`,borderTop:oe,borderBottom:oe,borderLeft:ne?"none":oe}}),he.div({class:"originalOverlaySideBySide",style:{...ae.read(R).toStyles(),boxSizing:"border-box",borderRadius:`${ds}px 0 0 ${ds}px`,borderTop:ee,borderBottom:ee,borderLeft:ne?"none":ee,backgroundColor:P(ba)}}),he.div({class:"originalCornerCutoutSideBySide",style:{pointerEvents:"none",display:de.map((Me)=>Me?"block":"none"),...Ne.read(R).toStyles()}},[he.div({class:"originalCornerCutoutBackground",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",backgroundColor:zt(ba,this._themeService).map((Me)=>Me.toString())}}),he.div({class:"originalCornerCutoutBorder",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",boxSizing:"border-box",borderTop:ee,borderRight:ee,borderRadius:"0 100% 0 0",backgroundColor:Y}})]),he.div({class:"originalOverlaySideBySideHider",style:{..._e.toStyles(),backgroundColor:Y}})]})).keepUpdated(this._store),this._modifiedOverlay=he.div({style:{pointerEvents:"none"}},f(this,(R)=>{let Z=to(this._previewEditorLayoutInfo).read(R);if(!Z)return;let Y=Z.map((ae)=>ae.codeRect.bottom<ae.editRect.bottom),Q=this._editorBackgroundColor.read(R),ee=C.read(R),oe=Y.map((ae)=>`0 ${ds}px ${ds}px ${ae?ds:0}px`),ne=zt(ss(this._tabAction),this._themeService).map((ae)=>`1px solid ${ae.toString()}`),de=`${ir+ee}px solid ${Q}`,ge=Z.map((ae)=>ae.editRect.withMargin(0,ir)),_e=ge.map((ae)=>ae.withMargin(ee,ee,ee,0)),Se=f(this,(ae)=>{let pe=ge.read(ae),Ne=Z.read(ae);if(!Ne.isInsertion||Ne.contentLeft>=pe.left)return st.fromLeftTopWidthHeight(pe.left,pe.top,0,0);return new st(Ne.contentLeft,pe.top,pe.left,pe.top+ir*2)});return[he.div({class:"modifiedInsertionSideBySide",style:{...Se.read(R).toStyles(),backgroundColor:ss(this._tabAction).map((ae)=>P(ae))}}),he.div({class:"modifiedSeparatorSideBySide",style:{..._e.read(R).toStyles(),borderRadius:oe,borderTop:de,borderBottom:de,borderRight:de,boxSizing:"border-box"}}),he.div({class:"modifiedOverlaySideBySide",style:{...ge.read(R).toStyles(),borderRadius:oe,border:ne,boxSizing:"border-box",backgroundColor:P(zm)}})]})).keepUpdated(this._store),this._nonOverflowView=he.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[this._backgroundSvg,f(this,(R)=>this._shouldOverflow.read(R)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:De(null),allowEditorOverflow:!1,minContentWidthInPx:f(this,(R)=>{let Z=this._previewEditorLayoutInfo.read(R)?.maxContentWidth;if(Z===void 0)return 0;return Z})})),this.previewEditor.setModel(this._previewTextModel),this._register(W((R)=>{let Z=this._previewEditorLayoutInfo.read(R);if(!Z)return;let Y=Z.editRect.withMargin(-Mu,-dl);this.previewEditor.layout({height:Y.height,width:Z.previewEditorWidth+15}),this._editorContainer.element.style.top=`${Y.top}px`,this._editorContainer.element.style.left=`${Y.left}px`,this._editorContainer.element.style.width=`${Z.previewEditorWidth+dl}px`})),this._register(W((R)=>{let Z=this._previewEditorLayoutInfo.read(R);if(!Z)return;this._previewEditorObs.editor.setScrollLeft(Z.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};Ou=oO([hS(5,A),hS(6,ze),hS(7,Or)],Ou);var sO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Pu=function(u,n){return function(h,g){n(h,g,u)}};class pS{constructor(u,n,h){this.edit=u,this.editorType=n,this.alternativeAction=h}equals(u){return this.edit.equals(u.edit)&&this.alternativeAction===u.alternativeAction}}var Zi=1,JE="word-replacement-view-overlay",QE="word-replacement-view-widget",eD="word-replacement-view-replacement",gS="word-replacement-view-rename",Nd=class u extends i{static{this.MAX_LENGTH=100}constructor(n,h,g,p,m,_,v,S){super();this._editor=n,this._viewData=h,this._tabAction=g,this._languageService=p,this._themeService=m,this._keybindingService=_,this._hoverService=v,this._userInteractionService=S,this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(De(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(De(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement("div"),this._primaryElement=j(this,null),this._secondaryElement=j(this,null),this.isHovered=f(this,(Z)=>{let Y=this._primaryElement.read(Z);if(!Y)return!1;return this._userInteractionService.createHoverTracker(Y.element,Z.store).read(Z)}),this._renderTextEffect=f(this,(Z)=>{let Y=this._editor.model.read(void 0);if(!Y)return;let Q=Y.getLineContent(this._viewData.edit.range.startLineNumber),ee=ui.replace(new V(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),oe=ee.replace(Q),ne=Y.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[oe])?.[0],de;if(ne)de=kl.fromLineTokens(ne).slice(ee.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec);else de=Tt.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);let ge=wu(new yd([de]),Ja.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${ge.minWidthInPx}px`});let C=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),L=EI(this._viewData.alternativeAction?.count??new Promise((Z)=>Z(void 0))).map((Z)=>Z.value),R=f(this,(Z)=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),Z).shiftKey);this._layout=f(this,(Z)=>{this._renderTextEffect.read(Z);let Y=this._start.read(Z),Q=this._end.read(Z);if(!Y||!Q||Y.x>Q.x||Y.y>Q.y)return;let ee=C.read(Z);if(ee<=0)return;let oe=this._editor.scrollLeft.read(Z),ne=this._editor.getOption(59).read(Z).typicalHalfwidthCharacterWidth,de=3*ne,_e=new wi(de,4),Se=void 0;if(this._viewData.alternativeAction){let Oe=this._viewData.alternativeAction.label,Ce=L.read(Z),He=R.read(Z),it=Ce!==void 0?Ce===1?e(1283,"{0} 1 occurrence",Oe):e(1284,"{0} {1} occurrences",Oe,Ce):Oe,Ve=e(1285,"{0} show occurrences","[shift]");Se={label:Ce!==void 0?He?it:Oe:Oe,tooltip:it?`${it}
|
|
48
|
-
${Ve}`:void 0,icon:void 0,count:Ce,keybinding:this._keybindingService.lookupKeybinding(ed),active:R}}let ae=st.fromPoints(Y,Q).withHeight(ee).translateX(-oe),pe=st.fromPointSize(ae.getLeftBottom().add(_e),new wi(this._viewData.edit.text.length*ne,ae.height)),Ne=pe.withWidth(pe.width+(Se?Se.label.length*ne+8+4+12:0)),Me=Ne.withLeft(ae.left);return{alternativeAction:Se,originalLine:ae,codeLine:pe,modifiedLine:Ne,lowerBackground:Me,lineHeight:ee}}),this.minEditorScrollHeight=f(this,(Z)=>{let Y=to(this._layout).read(Z);if(!Y)return 0;return Y.read(Z).modifiedLine.bottom+Zi+this._editor.editor.getScrollTop()}),this._root=he.div({class:"word-replacement"},[f(this,(Z)=>{let Y=to(this._layout).read(Z);if(!Y)return[];let Q=wa(this._tabAction).map((Ce)=>P(Ce)).read(Z),ee=ss(this._tabAction).map((Ce)=>P(Ce)).read(Z);this._line.style.lineHeight=`${Y.read(Z).modifiedLine.height+2*Zi}px`;let oe=De(!1),ne=Y.map((Ce)=>Ce.alternativeAction),de=f((Ce)=>(ne.read(Ce)?.active.read(Ce)??!1)||oe.read(Ce)),_e=Pe(this._themeService.onDidColorThemeChange,()=>{let Ce=this._themeService.getColorTheme();return Ce.type==="hcDark"||Ce.type==="hcLight"}).read(Z)?_a(je,this._themeService).read(Z):null,Se={borderColor:_e?_e.toString():ee,backgroundColor:P(RE),color:"",opacity:"1"},ae={borderColor:_e?_e.toString():P(Tn),backgroundColor:P(xr),color:P(va),opacity:"1"},pe={borderColor:_e?_e.toString():_a(iy,this._themeService).map((Ce)=>Ce.transparent(0.2).toString()).read(Z),backgroundColor:co(this._viewData.editorType),color:"",opacity:"0.7"},Ne=co(this._viewData.editorType),Me=f(this,(Ce)=>de.read(Ce)?Se:Se),Oe=f(this,(Ce)=>de.read(Ce)?ae:pe);return[he.div({id:JE,style:{position:"absolute",...ei((Ce)=>el(this._editor).read(Ce)),overflow:"hidden",pointerEvents:"none"}},[he.div({style:{position:"absolute",...ei((Ce)=>Y.read(Ce).lowerBackground.withMargin(Zi,2*Zi,Zi,0)),background:Ne,cursor:"pointer",pointerEvents:"auto"},onmousedown:(Ce)=>this._mouseDown(Ce)}),he.div({id:QE,style:{position:"absolute",...ei((Ce)=>Y.read(Ce).modifiedLine.withMargin(Zi,2*Zi)),width:void 0,pointerEvents:"auto",boxSizing:"border-box",borderRadius:`${Kt}px`,background:Ne,display:"flex",justifyContent:"left",outline:`2px solid ${Ne}`},onmousedown:(Ce)=>this._mouseDown(Ce)},[he.div({id:eD,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:ei((Ce)=>Y.read(Ce).codeLine.withMargin(Zi,2*Zi)).width,borderRadius:`${Kt}px`,border:Me.map((Ce)=>`${Zi}px solid ${Ce.borderColor}`),boxSizing:"border-box",padding:`${Zi}px`,opacity:Me.map((Ce)=>Ce.opacity),background:Me.map((Ce)=>Ce.backgroundColor),display:"flex",justifyContent:"left",alignItems:"center",pointerEvents:"auto",cursor:"pointer"},obsRef:(Ce)=>{this._primaryElement.set(Ce,void 0)}},[this._line]),f(this,(Ce)=>{let He=ne.read(Ce);if(!He)return;let it=document.createElement("div");return Ce.store.add(new Ka(it,Ni,{...Y1,disableTitle:!0})).set(He.keybinding),he.div({id:gS,style:{position:"relative",borderRadius:`${Kt}px`,borderTop:`${Zi}px solid`,borderRight:`${Zi}px solid`,borderBottom:`${Zi}px solid`,borderLeft:`${Zi}px solid`,borderColor:Oe.map((rt)=>rt.borderColor),opacity:Oe.map((rt)=>rt.opacity),color:Oe.map((rt)=>rt.color),display:"flex",justifyContent:"center",alignItems:"center",padding:"0 4px 0 1px",marginLeft:"4px",background:Oe.map((rt)=>rt.backgroundColor),cursor:"pointer",textWrap:"nowrap"},class:"inline-edit-alternative-action-label",obsRef:(rt)=>{this._secondaryElement.set(rt,void 0)},ref:(rt)=>{if(He.tooltip)Ce.store.add(this._hoverService.setupDelayedHoverAtMouse(rt,{content:He.tooltip,appearance:{compact:!0}}))}},[it,w("div.inline-edit-alternative-action-label-separator"),He.icon?_o(He.icon):void 0,He.label])})]),he.div({style:{position:"absolute",...ei((Ce)=>Y.read(Ce).originalLine.withMargin(Zi)),boxSizing:"border-box",borderRadius:`${Kt}px`,border:`${Zi}px solid ${Q}`,background:P(DE),pointerEvents:"none"}},[]),he.svg({width:11,height:14,viewBox:"0 0 11 14",fill:"none",style:{position:"absolute",left:Y.map((Ce)=>Ce.modifiedLine.left-16),top:Y.map((Ce)=>Ce.modifiedLine.top+Math.round((Ce.lineHeight-14-5)/2)),pointerEvents:"none"},onmousedown:(Ce)=>this._mouseDown(Ce)},[he.svgElem("path",{d:"M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5",stroke:P(iy)}),he.svgElem("path",{d:"M6 7.5L9.99999 10.49998L6 13.5",stroke:P(iy)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:De(0),position:De({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(n){let h=aO(n.target,new Set([QE,eD,gS,JE]));if(!h)return;n.preventDefault(),this._onDidClick.fire(Wo.create(n,h===gS))}};Nd=sO([Pu(3,xt),Pu(4,ze),Pu(5,me),Pu(6,An),Pu(7,Or)],Nd);function aO(u,n){let h=u;while(h){if(n.has(h.id))return h.id;h=h.parentElement}return null}class mS extends i{constructor(u,n,h){super();this._originalEditor=u,this._state=n,this._modifiedTextModel=h,this._onDidClick=this._register(new o),this.onDidClick=this._onDidClick.event,this.isHovered=ct(this._originalEditor).isTargetHovered((p)=>p.target.type===6&&p.target.detail.injectedText?.options.attachedData instanceof tf&&p.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=lO(this._modifiedTextModel),this._decorations=f(this,(p)=>{let m=this._state.read(p);if(!m)return;let _=m.modifiedText,v=m.mode==="insertionInline",S=m.diff.length===1&&m.diff[0].innerChanges?.length===1,C=!0,L=[],R=[],Z=ue.register({className:"inlineCompletions-line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),Y=ue.register({className:"inlineCompletions-line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),Q=ue.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),ee=ue.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),oe=ue.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),ne=ue.register({className:"inlineCompletions-char-insert diff-range-empty",description:"char-insert diff-range-empty"}),de=ue.register({className:"inlineCompletions-original-lines",description:"inlineCompletions-original-lines",isWholeLine:!1,shouldFillLineOnLineBreak:!0}),ge=m.mode!=="sideBySide"&&m.mode!=="deletion"&&m.mode!=="insertionInline"&&m.mode!=="lineReplacement",_e=m.mode==="lineReplacement";for(let Se of m.diff){if(ge){if(!Se.original.isEmpty)L.push({range:Se.original.toInclusiveRange(),options:Y});if(!Se.modified.isEmpty)R.push({range:Se.modified.toInclusiveRange(),options:Z})}if(Se.modified.isEmpty||Se.original.isEmpty){if(!Se.original.isEmpty)L.push({range:Se.original.toInclusiveRange(),options:Q});if(!Se.modified.isEmpty)R.push({range:Se.modified.toInclusiveRange(),options:ee})}else{let ae=v&&dO(Se);for(let pe of Se.innerChanges||[]){if(Se.original.contains(pe.originalRange.startLineNumber)&&!(_e&&pe.originalRange.isEmpty())){let Ne=this._originalEditor.getModel()?.getValueInRange(pe.originalRange,1);L.push({range:pe.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:tl("inlineCompletions-char-delete",pe.originalRange.isSingleLine()&&m.mode==="insertionInline"&&"single-line-inline",pe.originalRange.isEmpty()&&"empty",(pe.originalRange.isEmpty()&&S||m.mode==="deletion"&&Ne===`
|
|
49
|
-
`)&&C&&!ae&&"diff-range-empty"),inlineClassName:ae?tl("strike-through","inlineCompletions"):null,zIndex:1}})}if(Se.modified.contains(pe.modifiedRange.startLineNumber))R.push({range:pe.modifiedRange,options:pe.modifiedRange.isEmpty()&&C&&!ae&&S?ne:oe});if(ae){let Ne=_.getValueOfRange(pe.modifiedRange),Me=Ne.length>3?[{text:Ne.slice(0,1),extraClasses:["start"],offsetRange:new V(pe.modifiedRange.startColumn-1,pe.modifiedRange.startColumn)},{text:Ne.slice(1,-1),extraClasses:[],offsetRange:new V(pe.modifiedRange.startColumn,pe.modifiedRange.endColumn-2)},{text:Ne.slice(-1),extraClasses:["end"],offsetRange:new V(pe.modifiedRange.endColumn-2,pe.modifiedRange.endColumn-1)}]:[{text:Ne,extraClasses:["start","end"],offsetRange:new V(pe.modifiedRange.startColumn-1,pe.modifiedRange.endColumn)}];this._tokenizationFinished.read(p);let Oe=this._modifiedTextModel.tokenization.getLineTokens(pe.modifiedRange.startLineNumber);for(let{text:Ce,extraClasses:He,offsetRange:it}of Me)L.push({range:t.fromPositions(pe.originalRange.getEndPosition()),options:{description:"inserted-text",before:{tokens:Oe.getTokensInRange(it),content:Ce,inlineClassName:tl("inlineCompletions-char-insert",pe.modifiedRange.isSingleLine()&&m.mode==="insertionInline"&&"single-line-inline",...He),cursorStops:vs.None,attachedData:new tf(this)},zIndex:2,showIfCollapsed:!0}})}}}}if(m.editorType===Pt.DiffEditor){for(let Se of m.diff)if(!Se.original.isEmpty)L.push({range:Se.original.toExclusiveRange(),options:de})}return{originalDecorations:L,modifiedDecorations:R}}),this._register(ct(this._originalEditor).setDecorations(this._decorations.map((p)=>p?.originalDecorations??[])));let g=this._state.map((p)=>p?.modifiedCodeEditor);this._register(ri((p,m)=>{let _=g.read(p);if(_)m.add(ct(_).setDecorations(this._decorations.map((v)=>v?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp((p)=>{if(p.target.type!==6)return;let m=p.target.detail.injectedText?.options.attachedData;if(m instanceof tf&&m.owner===this)this._onDidClick.fire(new Wo(p.event))}))}}class tf{constructor(u){this.owner=u}}function dO(u){if(!u.innerChanges)return!1;return u.innerChanges.every((n)=>K0(n.modifiedRange)&&K0(n.originalRange))}var cO=0;function lO(u){return Pe(u.onDidChangeTokens,()=>cO++)}var hO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},uO=function(u,n){return function(h,g){n(h,g,u)}},of=class u extends i{constructor(n,h,g,p,m,_){super();this._editor=n,this._model=h,this._simpleModel=g,this._inlineSuggestInfo=p,this._showCollapsed=m,this._instantiationService=_,this._tabAction=f((L)=>this._model.read(L)?.tabAction.read(L)??Dt.Inactive),this.displayRange=f(this,(L)=>{let R=this._uiState.read(L);if(!R)return;if(R.target.uri.toString()!==this._editorObs.model.read(L)?.uri.toString())return;if(R.state?.kind==="custom"){let Z=R.state.displayLocation?.range;if(!Z)throw new H("custom view should have a range");return new te(Z.startLineNumber,Z.endLineNumber)}if(R.state?.kind==="insertionMultiLine")return this._insertion.originalLines.read(L);return R.edit.displayRange}),this._currentInlineEditCache=void 0,this._uiState=f(this,(L)=>{let R=this._model.read(L),Z=this._editorObs.model.read(L);if(!R||!Z||!this._constructorDone.read(L))return;let Y=R.inlineEdit,Q,ee,oe=void 0;if(Y.edit)ee=Yi.fromEdit(Y.edit),oe=new Cl(Y.edit.apply(Y.originalText)),Q=kf(ee,Y.originalText,oe);else ee=[],Q=[],oe=Y.originalText;let ne=this._determineRenderState(R,L,Q,oe);if(!ne){X(Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}let de=this._getLongDistanceHintState(R,L);if(de&&de.isVisible)ne.viewData.setLongDistanceViewData(de.lineNumber,Y.lineEdit.lineRange.startLineNumber);if(ne.viewData.isForAnotherDocument=!Y.originalText.targets(Z),ne.kind===Qe.SideBySide){let Se=WE(oe.getValue(),Y.modifiedLineRange,Z.getOptions().tabSize);oe=new Cl(Se.applyToString(oe.getValue())),ee=HE(ee,Se),Q=kf(ee,Y.originalText,oe)}this._previewTextModel.setLanguage(Z.getLanguageId());let ge=this._previewTextModel.getValue();if(ge!==oe.getValue()){this._previewTextModel.setEOL(Z.getEndOfLineSequence());let ae=xo.replace(new V(0,ge.length),oe.getValue()).removeCommonSuffixPrefix(ge),pe=Id(this._previewTextModel).getTextEdit(ae);this._previewTextModel.edit(pe)}if(this._showCollapsed.read(L))ne={kind:Qe.Collapsed,viewData:ne.viewData};R.handleInlineEditShownNextFrame(ne.kind,ne.viewData);let _e=Y.action?.kind==="jumpTo"?Y.action.position:null;return{state:ne,diff:Q,edit:Y,newText:oe.getValue(),newTextLineCount:Y.modifiedLineRange.length,editorType:R.editorType,longDistanceHint:de,nextCursorPosition:_e,target:Y.inlineCompletion.originalTextRef}}),this.inlineEditsIsHovered=f(this,(L)=>this._sideBySide.isHovered.read(L)||this._wordReplacementViews.read(L).some((R)=>R.isHovered.read(L))||this._deletion.isHovered.read(L)||this._inlineDiffView.isHovered.read(L)||this._lineReplacementView.isHovered.read(L)||this._insertion.isHovered.read(L)||this._customView.isHovered.read(L)||this._longDistanceHint.map((R,Z)=>R?.isHovered.read(Z)??!1).read(L)),this.gutterIndicatorOffset=f(this,(L)=>{if(this._uiState.read(L)?.state?.kind==="insertionMultiLine")return this._insertion.startLineOffset.read(L);return 0}),this._editorObs=ct(this._editor),this._constructorDone=j(this,!1),this._previewTextModel=this._register(this._instantiationService.createInstance(fu,"",this._editor.getModel().getLanguageId(),{...fu.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._sideBySide=this._register(this._instantiationService.createInstance(Ou,this._editor,this._model.map((L)=>L?.inlineEdit),this._previewTextModel,this._uiState.map((L)=>L&&L.state?.kind===Qe.SideBySide?{newTextLineCount:L.newTextLineCount,editorType:L.editorType}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(aS,this._editor,this._model.map((L)=>L?.inlineEdit),this._uiState.map((L)=>L&&L.state?.kind===Qe.Deletion?{originalRange:L.state.originalRange,deletions:L.state.deletions,editorType:L.editorType}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(Zm,this._editor,this._uiState.map((L)=>L&&L.state?.kind===Qe.InsertionMultiLine?{lineNumber:L.state.lineNumber,startColumn:L.state.column,text:L.state.text,editorType:L.editorType}:void 0),this._tabAction)),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(qm,this._editor,this._model.map((L,R)=>this._uiState.read(R)?.state?.kind===Qe.Collapsed?L?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(Gm,this._editor,this._model.map((L,R)=>this._uiState.read(R)?.state?.kind===Qe.Custom?L?.displayLocation:void 0),this._tabAction,this._uiState.map((L)=>L?.editorType??Pt.TextEditor))),this._showLongDistanceHint=this._editorObs.getOption(71).map(this,(L)=>L.edits.showLongDistanceHint),this._longDistanceHint=f(this,(L)=>{if(!this._showLongDistanceHint.read(L))return;return L.store.add(this._instantiationService.createInstance(ef,this._editor,this._uiState.map((R,Z)=>R?.longDistanceHint?{hint:R.longDistanceHint,newTextLineCount:R.newTextLineCount,edit:R.edit,diff:R.diff,editorType:R.editorType,model:this._simpleModel.read(Z),inlineSuggestInfo:this._inlineSuggestInfo.read(Z),nextCursorPosition:R.nextCursorPosition,target:R.target}:void 0),this._previewTextModel,this._tabAction))}).recomputeInitiallyAndOnChange(this._store),this._inlineDiffViewState=f(this,(L)=>{let R=this._uiState.read(L);if(!R||!R.state)return;if(R.state.kind==="wordReplacements"||R.state.kind==="insertionMultiLine"||R.state.kind==="collapsed"||R.state.kind==="custom"||R.state.kind==="jumpTo")return;return{modifiedText:new Cl(R.newText),diff:R.diff,mode:R.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,editorType:R.editorType}}),this._inlineDiffView=this._register(new mS(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._jumpToView=this._register(this._instantiationService.createInstance(Ym,this._editorObs,{style:"label"},f((L)=>{let R=this._uiState.read(L);if(R?.state?.kind===Qe.JumpTo)return{jumpToPosition:R.state.position};return})));let v=In({equalsFn:c0.arrayC(c0.thisC())},(L)=>{let R=this._uiState.read(L);return R?.state?.kind===Qe.WordReplacements?R.state.replacements.map((Z)=>new pS(Z,R.editorType,R.state?.alternativeAction)):[]});this._wordReplacementViews=ld(this,v,(L,R)=>R.add(this._instantiationService.createInstance(Nd,this._editorObs,L,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(Xm,this._editorObs,this._uiState.map((L)=>L?.state?.kind===Qe.LineReplacement?{originalRange:L.state.originalRange,modifiedRange:L.state.modifiedRange,modifiedLines:L.state.modifiedLines,replacements:L.state.replacements}:void 0),this._uiState.map((L)=>L?.editorType??Pt.TextEditor),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map((L)=>L.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map((L)=>L.edits.renderSideBySide),this._register(W((L)=>{let R=this._model.read(L);if(!R)return;L.store.add(I.any(this._sideBySide.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(L).map((Z)=>Z.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)((Z)=>{if(this._viewHasBeenShownLongerThan(350))Z.event.preventDefault(),R.accept(Z.alternativeAction)}))})),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store);let S=f(this,(L)=>Math.max(...this._wordReplacementViews.read(L).map((R)=>R.minEditorScrollHeight.read(L)),this._lineReplacementView.minEditorScrollHeight.read(L),this._customView.minEditorScrollHeight.read(L))).recomputeInitiallyAndOnChange(this._store),C;this._register(W((L)=>{let R=S.read(L),Z=this._editorObs.model.read(L);if(!Z)return;this._editor.changeViewZones((Y)=>{let Q=this._editor.getScrollHeight(),ee=R-Q+1;if(ee!==0&&C!==void 0)Y.removeZone(C),C=void 0;if(ee<=0)return;C=Y.addZone({afterLineNumber:Z.getLineCount(),heightInPx:ee,domNode:w("div.minScrollHeightViewZone")})})})),this._constructorDone.set(!0,void 0)}_getLongDistanceHintState(n,h){if(n.inlineEdit.inlineCompletion.identity.jumpedTo.read(h))return;if(n.inlineEdit.action===void 0)return;let g=this._editorObs.model.read(h);if(!g||!n.inlineEdit.originalText.targets(g))return{isVisible:!0,lineNumber:n.inlineEdit.cursorPosition.lineNumber};if(this._currentInlineEditCache?.inlineSuggestionIdentity!==n.inlineEdit.inlineCompletion.identity)this._currentInlineEditCache={inlineSuggestionIdentity:n.inlineEdit.inlineCompletion.identity,firstCursorLineNumber:n.inlineEdit.cursorPosition.lineNumber};return{lineNumber:this._currentInlineEditCache.firstCursorLineNumber,isVisible:!n.inViewPort.read(h)}}_getCacheId(n){return n.inlineEdit.inlineCompletion.identity.id}_determineView(n,h,g,p){let m=n.inlineEdit,_=this._previousView?.id===this._getCacheId(n)&&this._previousView?.uri.toString()===this._editorObs.model.get().uri.toString(),v=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(h)&&(this._previousView?.view===Qe.SideBySide||this._previousView?.view===Qe.LineReplacement);if(_&&!v)return this._previousView.view;let S=n.inlineEdit.inlineCompletion.action;if(S?.kind==="edit"&&S.alternativeAction)return Qe.WordReplacements;let C=n.inlineEdit.inlineCompletion.originalTextRef.uri,L=this._editorObs.model.read(h)?.uri;if(L&&C.toString()!==L.toString())return Qe.Custom;if(n.displayLocation&&!n.inlineEdit.inlineCompletion.identity.jumpedTo.read(h))return Qe.Custom;let R=m.originalLineRange.length,Z=m.modifiedLineRange.length,Y=g.flatMap((ee)=>ee.innerChanges??[]),Q=Y.length===1;if(n.editorType!==Pt.DiffEditor){if(Q&&this._useCodeShifting.read(h)!=="never"&&rD(g)){if(pO(g,m.cursorPosition))return Qe.InsertionInline;return Qe.LineReplacement}if(iD(Y,m,p))return Qe.Deletion;if(tD(g)&&this._useCodeShifting.read(h)==="always")return Qe.InsertionMultiLine;if(Y.every((oe)=>Gt.ofRange(oe.originalRange).columnCount<Nd.MAX_LENGTH&&Gt.ofRange(oe.modifiedRange).columnCount<Nd.MAX_LENGTH)&&Q&&R===1&&Z===1){let oe=Y.map((de)=>p.getValueOfRange(de.modifiedRange)),ne=Y.map((de)=>n.inlineEdit.originalText.getValueOfRange(de.originalRange));if(!oe.some((de)=>de.includes("\t"))&&!ne.some((de)=>de.includes("\t"))){if(!Y.some((de)=>de.originalRange.isEmpty())||!oD(Y.map((de)=>new gt(de.originalRange,"")),m.originalText).some((de)=>de.range.isEmpty()&&Gt.ofRange(de.range).columnCount<Nd.MAX_LENGTH))return Qe.WordReplacements}}}if(R>0&&Z>0){if(R===1&&Z===1&&n.editorType!==Pt.DiffEditor)return Qe.LineReplacement;if(this._renderSideBySide.read(h)!=="never"&&Ou.fitsInsideViewport(this._editor,this._previewTextModel,m,h))return Qe.SideBySide;return Qe.LineReplacement}if(n.editorType===Pt.DiffEditor){if(iD(Y,m,p))return Qe.Deletion;if(tD(g)&&this._useCodeShifting.read(h)==="always")return Qe.InsertionMultiLine}return Qe.SideBySide}_determineRenderState(n,h,g,p){if(n.inlineEdit.action?.kind==="jumpTo")return{kind:Qe.JumpTo,position:n.inlineEdit.action.position,viewData:nD()};let m=n.inlineEdit,_=this._determineView(n,h,g,p);if(this._willRenderAboveCursor(h,m,_))switch(_){case Qe.LineReplacement:case Qe.WordReplacements:_=Qe.SideBySide;break}this._previousView={id:this._getCacheId(n),view:_,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now(),uri:this._editorObs.model.get().uri};let v=g.flatMap((Z)=>Z.innerChanges??[]),S=this._editor.getModel(),C=v.map((Z)=>({originalRange:Z.originalRange,modifiedRange:Z.modifiedRange,original:m.originalText.getValueOfRange(Z.originalRange),modified:p.getValueOfRange(Z.modifiedRange)})),L=gO(m,C,S);switch(_){case Qe.InsertionInline:return{kind:Qe.InsertionInline,viewData:L};case Qe.SideBySide:return{kind:Qe.SideBySide,viewData:L};case Qe.Collapsed:return{kind:Qe.Collapsed,viewData:L};case Qe.Custom:return{kind:Qe.Custom,displayLocation:n.displayLocation,viewData:L}}if(_===Qe.Deletion)return{kind:Qe.Deletion,originalRange:m.originalLineRange,deletions:v.map((Z)=>Z.originalRange),viewData:L};if(_===Qe.InsertionMultiLine){let Z=v[0];return{kind:Qe.InsertionMultiLine,lineNumber:Z.originalRange.startLineNumber,column:Z.originalRange.startColumn,text:p.getValueOfRange(Z.modifiedRange),viewData:L}}let R=C.map((Z)=>new gt(Z.originalRange,Z.modified));if(R.length===0)return;if(_===Qe.WordReplacements){let Z=mO(R,m.originalText);if(Z.some((Y)=>Y.range.isEmpty()))Z=oD(R,m.originalText);return{kind:Qe.WordReplacements,replacements:Z,alternativeAction:n.inlineEdit.action?.alternativeAction,viewData:L}}if(_===Qe.LineReplacement)return{kind:Qe.LineReplacement,originalRange:m.originalLineRange,modifiedRange:m.modifiedLineRange,modifiedLines:m.modifiedLineRange.mapToLineArray((Z)=>p.getLineAt(Z)),replacements:v.map((Z)=>({originalRange:Z.originalRange,modifiedRange:Z.modifiedRange})),viewData:L};return}_willRenderAboveCursor(n,h,g){if(this._useCodeShifting.read(n)==="always")return!1;for(let m of h.multiCursorPositions){if(g===Qe.WordReplacements&&m.lineNumber===h.originalLineRange.startLineNumber+1)return!0;if(g===Qe.LineReplacement&&m.lineNumber>=h.originalLineRange.endLineNumberExclusive&&m.lineNumber<h.modifiedLineRange.endLineNumberExclusive+h.modifiedLineRange.length)return!0}return!1}_viewHasBeenShownLongerThan(n){let h=this._previousView?.timestamp;if(!h)throw new H("viewHasBeenShownLongThan called before a view has been shown");return Date.now()-h>=n}};of=hO([uO(5,A)],of);var nD=()=>new zc(-1,-1,-1,-1,-1,-1,-1,!0);function gO(u,n,h){if(!u.edit)return nD();let g=u.cursorPosition,p=n.length===0?!1:n[0].modified.startsWith(h.getEOL());return new zc(u.edit.replacements.length===0?0:u.edit.replacements[0].range.getStartPosition().column-g.column,u.lineEdit.lineRange.startLineNumber-g.lineNumber+(p&&u.lineEdit.lineRange.startLineNumber>=g.lineNumber?1:0),u.lineEdit.lineRange.length,u.lineEdit.newLines.length,n.reduce((_,v)=>_+v.original.length,0),n.reduce((_,v)=>_+v.modified.length,0),n.length,n.every((_)=>_.original===n[0].original&&_.modified===n[0].modified))}function rD(u){return u.every((h)=>h.innerChanges.every((g)=>n(g)));function n(h){if(!h.originalRange.isEmpty())return!1;if(h.modifiedRange.startLineNumber!==h.modifiedRange.endLineNumber)return!1;return!0}}function pO(u,n){if(!n)return!1;if(!rD(u))return!1;let h=n;return u.every((p)=>p.innerChanges.every((m)=>g(m)));function g(p){let m=p.originalRange.getStartPosition();if(h.isBeforeOrEqual(m))return!0;if(m.lineNumber<h.lineNumber)return!0;return!1}}function tD(u){let n=u.flatMap((g)=>g.innerChanges??[]);if(n.length!==1)return!1;let h=n[0];if(!h.originalRange.isEmpty())return!1;if(h.modifiedRange.startLineNumber===h.modifiedRange.endLineNumber)return!1;return!0}function iD(u,n,h){return u.map((p)=>({original:n.originalText.getValueOfRange(p.originalRange),modified:h.getValueOfRange(p.modifiedRange)})).every(({original:p,modified:m})=>m.trim()===""&&p.length>0&&(p.length>m.length||p.trim()!==""))}function mO(u,n){return sD(u,n,(h)=>/^[a-zA-Z]$/.test(h))}function oD(u,n){return sD(u,n,(h)=>!/^\s$/.test(h))}function sD(u,n,h){let g=[];u.sort((m,_)=>t.compareRangesUsingStarts(m.range,_.range));for(let m of u){let _=m.range.startColumn-1,v=m.range.endColumn-2,S="",C="",L=n.getLineAt(m.range.startLineNumber),R=n.getLineAt(m.range.endLineNumber);if(p(L[_]))while(p(L[_-1]))S=L[_-1]+S,_--;if(p(R[v])||v<_)while(p(R[v+1]))C+=R[v+1],v++;let Z=new gt(new t(m.range.startLineNumber,_+1,m.range.endLineNumber,v+2),S+m.text+C);if(g.length>0&&t.areIntersectingOrTouching(g[g.length-1].range,Z.range))Z=gt.joinReplacements([g.pop(),Z],n);g.push(Z)}function p(m){if(m===void 0)return!1;return h(m)}return g}var fO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},_O=function(u,n){return function(h,g){n(h,g,u)}},nf=class u extends i{constructor(n,h,g,p){super();this._editor=n,this._model=h,this._showCollapsed=g,this._inlineEdit=f(this,(m)=>{let _=this._model.read(m);if(!_)return;if(!this._editor.getModel())return;let S=_.inlineEditState.read(m);if(!S)return;let C=S.inlineSuggestion.action,L;if(C?.kind==="edit"){let R=C.stringEdit,Z=S.inlineSuggestion.originalTextRef.getTransformer(),Y=R.replacements.map((Q)=>{let ee=t.fromPositions(Z.getPosition(Q.replaceRange.start),Z.getPosition(Q.replaceRange.endExclusive));return new gt(ee,Q.newText)});L=new Po(Y)}else L=void 0;return new iS(S.inlineSuggestion.originalTextRef,C,L,_.primaryPosition.read(void 0),_.allPositions.read(void 0),S.inlineSuggestion.source.inlineSuggestions.commands??[],S.inlineSuggestion)}),this._inlineEditModel=f(this,(m)=>{let _=this._model.read(m);if(!_)return;let v=this._inlineEdit.read(m);if(!v)return;let S=f(this,(C)=>{if(this._editorObs.isFocused.read(C)){if(_.tabShouldJumpToInlineEdit.read(C))return Dt.Jump;if(_.tabShouldAcceptInlineEdit.read(C))return Dt.Accept}return Dt.Inactive});return new oS(_,v,S)}),this._editorObs=ct(this._editor),this.view=this._register(p.createInstance(of,this._editor,this._inlineEditModel,this._model.map((m)=>m?rl.fromInlineCompletionModel(m):void 0),this._inlineEdit.map((m)=>m?nl.fromInlineSuggestion(m.inlineCompletion):void 0),this._showCollapsed))}};nf=fO([_O(3,A)],nf);var bO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},vO=function(u,n){return function(h,g){n(h,g,u)}},rf=class u extends i{static{this.hot=xy(this)}constructor(n,h,g,p){super();this._editor=n,this._model=h,this._focusIsInMenu=g,this._instantiationService=p,this._ghostTexts=f(this,(m)=>this._model.read(m)?.ghostTexts.read(m)??[]),this._inlineEdit=f(this,(m)=>this._model.read(m)?.inlineEditState.read(m)?.inlineSuggestion),this._everHadInlineEdit=hr(this,(m,_)=>_||!!this._inlineEdit.read(m)||!!this._model.read(m)?.inlineCompletionState.read(m)?.inlineSuggestion?.showInlineEditMenu),this._indicatorIsHoverVisible=j(this,void 0),this._showInlineEditCollapsed=f(this,(m)=>(this._model.read(m)?.showCollapsed.read(m)??!1)&&!this._indicatorIsHoverVisible.read(m)?.read(m)),this._inlineEditWidget=ur((m)=>{if(!this._everHadInlineEdit.read(m))return;return this._instantiationService.createInstance(nf,this._editor,this._model,this._showInlineEditCollapsed)}),this._gutterIndicatorState=f((m)=>{let _=this._model.read(m);if(!_)return;let v=_.state.read(m);if(v?.kind==="ghostText"&&v.inlineSuggestion?.showInlineEditMenu)return{displayRange:te.ofLength(v.primaryGhostText.lineNumber,1),tabAction:f(this,(S)=>this._editorObs.isFocused.read(S)?Dt.Accept:Dt.Inactive),gutterIndicatorOffset:De(wO(v.inlineSuggestion,this._editor)),inlineSuggestion:v.inlineSuggestion,model:_};else if(v?.kind==="inlineEdit"){let S=this._inlineEditWidget.read(m)?.view;if(!S)return;let C=S.displayRange.read(m);if(!C)return;return{displayRange:C,tabAction:f((L)=>{if(this._editorObs.isFocused.read(L)){if(_.tabShouldJumpToInlineEdit.read(L))return Dt.Jump;if(_.tabShouldAcceptInlineEdit.read(L))return Dt.Accept}return Dt.Inactive}),gutterIndicatorOffset:S.gutterIndicatorOffset,inlineSuggestion:v.inlineSuggestion,model:_}}else return}),this._stablizedGhostTexts=Bk(this._ghostTexts,this._store),this._editorObs=ct(this._editor),this._ghostTextWidgets=ld(this,this._stablizedGhostTexts,(m,_)=>_.add(this._createGhostText(m))).recomputeInitiallyAndOnChange(this._store),this._inlineEditWidget.recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map((m)=>m.fontFamily),this._register(VM(f((m)=>`
|
|
50
|
-
.monaco-editor .ghost-text-decoration,
|
|
51
|
-
.monaco-editor .ghost-text-decoration-preview,
|
|
52
|
-
.monaco-editor .ghost-text {
|
|
53
|
-
font-family: ${this._fontFamily.read(m)};
|
|
54
|
-
}`))),this._register(new Rp(this._editor,this._model,this._instantiationService)),this._indicator=this._register(this._instantiationService.createInstance(ol,this._editorObs,f((m)=>{let _=this._gutterIndicatorState.read(m);if(!_)return;return new Ru(nl.fromInlineSuggestion(_.inlineSuggestion),_.displayRange,rl.fromInlineCompletionModel(_.model),_.inlineSuggestion.action?.kind==="edit"?_.inlineSuggestion.action.alternativeAction:void 0)}),this._gutterIndicatorState.map((m,_)=>m?.tabAction?.read(_)??Dt.Inactive),this._gutterIndicatorState.map((m,_)=>m?.gutterIndicatorOffset?.read(_)??0),this._inlineEditWidget.map((m,_)=>m?.view.inlineEditsIsHovered.read(_)??!1),this._focusIsInMenu)),this._indicatorIsHoverVisible.set(this._indicator.isHoverVisible,void 0),f((m)=>{let _=this._inlineEditWidget.read(m);if(!_)return;return m.store.add(this._instantiationService.createInstance(Um,_._inlineEditModel,De(this._indicator),_.view._inlineCollapsedView))}).recomputeInitiallyAndOnChange(this._store)}_createGhostText(n){return this._instantiationService.createInstance(na,this._editor,f((h)=>{let g=this._model.read(h),p=g?.inlineCompletionState.read(h)?.inlineSuggestion;if(!g||!p)return{ghostText:n.read(h),handleInlineCompletionShown:()=>{},warning:void 0};return{ghostText:n.read(h),handleInlineCompletionShown:(m)=>g.handleInlineSuggestionShown(p,Qe.GhostText,m,Date.now()),warning:Am.from(g?.warning.read(h))}}),{useSyntaxHighlighting:this._editorObs.getOption(71).map((h)=>h.syntaxHighlightingEnabled),highlightShortSuggestions:!0})}shouldShowHoverAtViewZone(n){return this._ghostTextWidgets.get()[0]?.ownsViewZone(n)??!1}};rf=bO([vO(3,A)],rf);function wO(u,n){let h=u.getSingleTextEdit(),g=n.getModel();if(!g)return 0;let p=g.getEOL();if(h.range.isEmpty()&&h.text.startsWith(p)){let m=n.getLineHeightForPosition(h.range.getStartPosition());return SO(h.text,p)*m}return 0}function SO(u,n){if(!n.length)return 0;let h=0,g=0;while(u.startsWith(n,g))h++,g+=n.length;return h}var CO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Ca=function(u,n){return function(h,g){n(h,g,u)}},kr;bk((u)=>xi.get(u));var xi=class u extends i{static{kr=this}static{this._instances=new Set}static{this.hot=xy(this)}static{this.ID="editor.contrib.inlineCompletionsController"}static getInFocusedEditorOrParent(n){let h=Qg(n);if(!h)return null;return kr.get(h)}static get(n){return Ck(n.getContribution(kr.ID))}constructor(n,h,g,p,m,_,v,S,C){super();this.editor=n,this._instantiationService=h,this._contextKeyService=g,this._configurationService=p,this._commandService=m,this._debounceService=_,this._languageFeaturesService=v,this._accessibilitySignalService=S,this._keybindingService=C,this._focusIsInMenu=j(this,!1),this._focusIsInEditorOrMenu=f(this,(Q)=>{let ee=this._editorObs.isFocused.read(Q),oe=this._focusIsInMenu.read(Q);return ee||oe}),this._cursorIsInIndentation=f(this,(Q)=>{let ee=this._editorObs.cursorPosition.read(Q);if(ee===null)return!1;let oe=this._editorObs.model.read(Q);if(!oe)return!1;this._editorObs.versionId.read(Q);let ne=oe.getLineIndentColumn(ee.lineNumber);return ee.column<=ne}),this.model=ur(this,(Q)=>{if(this._editorObs.isReadonly.read(Q))return;let ee=this._editorObs.model.read(Q);if(!ee)return;return this._instantiationService.createInstance(xm,ee,this._suggestWidgetAdapter.selectedItem,this._editorObs.versionId,this._positions,this._debounceValue,this._enabledInConfig,()=>this._isEditorDictationInProgress(),this.editor)}),this._playAccessibilitySignal=so(this),this._view=f((Q)=>Q.store.add(this._instantiationService.createInstance(rf.hot.read(Q),this.editor,this.model,this._focusIsInMenu))),this._editorObs=ct(this.editor),this._positions=f(this,(Q)=>this._editorObs.selections.read(Q)?.map((ee)=>ee.getEndPosition())??[new s(1,1)]),this._suggestWidgetAdapter=this._register(new Hw(this._editorObs,(Q)=>this.model.get()?.handleSuggestAccepted(Q),()=>this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit())),this._enabledInConfig=Pe(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).enabled),this._register(this._contextKeyService.onDidChangeContext((Q)=>{if(Q.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((Q)=>!0),this._view.recomputeInitiallyAndOnChange(this._store),kr._instances.add(this),this._register(N(()=>kr._instances.delete(this))),this._register(W((Q)=>{let ee=this.model.read(Q);if(!ee)return;let oe=ee.state.read(Q);if(!oe)return;if(!this._focusIsInEditorOrMenu.read(void 0))return;let ne=oe.kind==="inlineEdit"?oe.nextEditUri:void 0;for(let de of kr._instances)if(de===this)continue;else if(ne&&gs(ne,de.editor.getModel()?.uri))de.model.read(void 0)?.trigger();else de.reject()})),this._register(W((Q)=>{let ee=this.model.read(Q),oe=this.editor.getModel()?.uri;if(!ee||!oe)return;Q.store.add(ee.onDidAccept(()=>{for(let ne of kr._instances){if(ne===this)continue;let de=ne.model.read(void 0)?.state.read(void 0);if(de?.kind==="inlineEdit"&&gs(de.nextEditUri,oe))ne.model.read(void 0)?.stop("automatic")}}))})),this._register(Ar(this._editorObs.onDidType,(Q,ee)=>{if(this._enabledInConfig.get()&&!this._isEditorDictationInProgress())this.model.get()?.trigger()})),this._register(Ar(this._editorObs.onDidPaste,(Q,ee)=>{if(this._enabledInConfig.get()&&!this._isEditorDictationInProgress())this.model.get()?.trigger()}));let L=new Set([Of.Tab.id,Of.DeleteLeft.id,Of.DeleteRight.id,Xn,"acceptSelectedSuggestion",ul.ID,hl.ID,bt.NextMatchFindAction,Vr.ID,Oa.ID,Zl.ID,Xl.ID,...ug.getRegisteredCommands()]);this._register(this._commandService.onDidExecuteCommand((Q)=>{if(L.has(Q.commandId)&&n.hasTextFocus()&&this._enabledInConfig.get()&&!this._isEditorDictationInProgress()){let ee=!1;if(Q.commandId===Xn)ee=!0;this._editorObs.forceUpdate((oe)=>{this.model.get()?.trigger(oe,{noDelay:ee})})}})),this._register(Ar(this._editorObs.selections,(Q,ee,oe)=>{if(oe.some((ne)=>ne.reason===3||ne.source==="api")){if(!this._hideInlineEditOnSelectionChange.get()&&this.model.get()?.state.get()?.kind==="inlineEdit")return;let ne=this.model.get();if(!ne)return;if(ne.state.get()?.kind==="ghostText")this.model.get()?.stop()}})),this._register(W((Q)=>{let ee=this._focusIsInEditorOrMenu.read(Q),oe=this.model.read(void 0);if(ee){let ne=oe?.state.read(void 0);if(!ne||ne.kind!=="inlineEdit"||!ne.nextEditUri)Je((de)=>{for(let ge of kr._instances)if(ge!==this)ge.model.read(void 0)?.stop("automatic",de)});return}if(this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||n.getOption(71).keepOnBlur||qr.dropDownVisible)return;if(!oe)return;if(oe.state.read(void 0)?.inlineSuggestion?.isFromExplicitRequest&&oe.inlineEditAvailable.read(void 0))return;Je((ne)=>{oe.stop("automatic",ne)})})),this._register(W((Q)=>{let ee=this.model.read(Q)?.inlineCompletionState.read(Q);if(ee?.suggestItem){if(ee.primaryGhostText.lineCount>=2)this._suggestWidgetAdapter.forceRenderingAbove()}else this._suggestWidgetAdapter.stopForceRenderingAbove()})),this._register(N(()=>{this._suggestWidgetAdapter.stopForceRenderingAbove()}));let R=hr(this,(Q,ee)=>{let ne=this.model.read(Q)?.state.read(Q);if(this._suggestWidgetAdapter.selectedItem.get())return ee;return ne?.inlineSuggestion?.semanticId});this._register(OI(f((Q)=>(this._playAccessibilitySignal.read(Q),R.read(Q),{})),async(Q,ee,oe,ne)=>{let de=this.model.get(),ge=de?.state.get();if(!ge||!de)return;if(await Rr(50,o0(ne)),await X1(this._suggestWidgetAdapter.selectedItem,ro,()=>!1,o0(ne)),de=this.model.get(),ge=de?.state.get(),!ge||!de)return;let _e=ge.kind==="ghostText"?de.textModel.getLineContent(ge.primaryGhostText.lineNumber):"";if(this._accessibilitySignalService.playSignal(ge.kind==="ghostText"?tt.inlineSuggestion:tt.nextEditSuggestion),this.editor.getOption(12))if(ge.kind==="ghostText")this._provideScreenReaderUpdate(ge.primaryGhostText.renderForScreenReader(_e));else{let Se=ge.inlineSuggestion.targetRange.startLineNumber,ae=de.tabShouldAcceptInlineEdit.get(),pe=de.tabShouldJumpToInlineEdit.get(),Ne;if(ae){let Me=this._keybindingService.lookupKeybinding(Xn)?.getAriaLabel();Ne=Me?e(1262,"Next edit suggestion available on line {0}, press {1} to accept",Se,Me):e(1263,"Next edit suggestion available on line {0}, accept it to apply",Se)}else if(pe){let Me=this._keybindingService.lookupKeybinding(kc)?.getAriaLabel();Ne=Me?e(1264,"Next edit suggestion available on line {0}, press {1} to jump",Se,Me):e(1265,"Next edit suggestion available on line {0}",Se)}else Ne=e(1266,"Next edit suggestion available on line {0}",Se);this._provideScreenReaderUpdate(Ne)}})),this._register(this._configurationService.onDidChangeConfiguration((Q)=>{if(Q.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 Z=new uw(this._contextKeyService);this._register(Z.bind(dt.cursorInIndentation,this._cursorIsInIndentation)),this._register(Z.bind(dt.hasSelection,(Q)=>!this._editorObs.cursorSelection.read(Q)?.isEmpty())),this._register(Z.bind(dt.cursorAtInlineEdit,this.model.map((Q,ee)=>Q?.inlineEditState?.read(ee)?.cursorAtInlineEdit.read(ee)))),this._register(Z.bind(dt.tabShouldAcceptInlineEdit,this.model.map((Q,ee)=>!!Q?.tabShouldAcceptInlineEdit.read(ee)))),this._register(Z.bind(dt.tabShouldJumpToInlineEdit,this.model.map((Q,ee)=>!!Q?.tabShouldJumpToInlineEdit.read(ee)))),this._register(Z.bind(dt.inlineEditVisible,(Q)=>this.model.read(Q)?.inlineEditState.read(Q)!==void 0)),this._register(Z.bind(dt.inlineSuggestionHasIndentation,(Q)=>this.model.read(Q)?.getIndentationInfo(Q)?.startsWithIndentation)),this._register(Z.bind(dt.inlineSuggestionHasIndentationLessThanTabSize,(Q)=>this.model.read(Q)?.getIndentationInfo(Q)?.startsWithIndentationLessThanTabSize)),this._register(Z.bind(dt.suppressSuggestions,(Q)=>{let oe=this.model.read(Q)?.inlineCompletionState.read(Q);return oe?.primaryGhostText&&oe?.inlineSuggestion?oe.inlineSuggestion.source.inlineSuggestions.suppressSuggestions:void 0})),this._register(Z.bind(dt.inlineSuggestionAlternativeActionVisible,(Q)=>{let ne=this.model.read(Q)?.inlineEditState.read(Q)?.inlineSuggestion.action;return ne&&ne.kind==="edit"&&ne.alternativeAction!==void 0})),this._register(Z.bind(dt.inlineSuggestionVisible,(Q)=>{let oe=this.model.read(Q)?.inlineCompletionState.read(Q);return!!oe?.inlineSuggestion&&oe?.primaryGhostText!==void 0&&!oe?.primaryGhostText.isEmpty()}));let Y=f(this,(Q)=>{let ne=this.model.read(Q)?.inlineCompletionState.read(Q)?.primaryGhostText;if(!ne||ne.isEmpty())return;return new s(ne.lineNumber,ne.parts[0].column)});this._register(Z.bind(dt.cursorBeforeGhostText,(Q)=>{let ee=Y.read(Q);if(!ee)return!1;let oe=this._editorObs.cursorPosition.read(Q);if(!oe)return!1;return ee.equals(oe)})),this._register(this._instantiationService.createInstance(cm,this.editor))}_isEditorDictationInProgress(){return this._contextKeyService.getContext(this.editor.getDomNode())?.getValue("editorDictation.inProgress")===!0}playAccessibilitySignal(n){this._playAccessibilitySignal.trigger(n)}_provideScreenReaderUpdate(n){let h=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),g=this._keybindingService.lookupKeybinding("editor.action.accessibleView"),p;if(!h&&g&&this.editor.getOption(170))p=e(1267,"Inspect this in the accessible view ({0})",g.getAriaLabel());zn(p?n+", "+p:n)}shouldShowHoverAt(n){let h=this.model.get()?.primaryGhostText.get();if(!h)return!1;return h.parts.some((g)=>n.containsPosition(new s(h.lineNumber,g.column)))}shouldShowHoverAtViewZone(n){return this._view.get().shouldShowHoverAtViewZone(n)}reject(){Je((n)=>{let h=this.model.get();if(h){if(h.stop("explicitCancel",n),this._focusIsInEditorOrMenu.get()){for(let g of kr._instances)if(g!==this&&!g._focusIsInEditorOrMenu.get())g.model.get()?.stop("automatic",n)}}})}jump(){let n=this.model.get();if(n)n.jump()}};xi=kr=CO([Ca(1,A),Ca(2,G),Ca(3,re),Ca(4,Ue),Ca(5,uo),Ca(6,z),Ca(7,xs),Ca(8,me)],xi);class sf extends U{static{this.ID=Ep}constructor(){super({id:sf.ID,label:b(1239,"Show Next Inline Suggestion"),precondition:T.and(r.writable,dt.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(u,n){xi.get(n)?.model.get()?.next()}}class af extends U{static{this.ID=kp}constructor(){super({id:af.ID,label:b(1240,"Show Previous Inline Suggestion"),precondition:T.and(r.writable,dt.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(u,n){xi.get(n)?.model.get()?.previous()}}var yO="vscode://schemas/inlineCompletionProviderIdArgs";function xO(u){let n=[];if(u.providerId)n.push(u.providerId.toStringWithoutVersion()),n.push(u.providerId.extensionId+":*");return n}var aD=Rk(Dk({showNoResultNotification:Th(cw()),providerId:Th(Mk(yO,xk())),explicit:Th(cw()),changeHintData:Th(Lk())}),kk());class fS extends U{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:b(1241,"Trigger Inline Suggestion"),precondition:r.writable,metadata:{description:e(1228,"Triggers an inline suggestion in the editor."),args:[{name:"args",description:e(1229,"Options for triggering inline suggestions."),isOptional:!0,schema:aD.getJSONSchema()}]}})}async run(u,n,h){let g=u.get(yt),p=u.get(z),m=xi.get(n),_=aD.validateOrThrow(h),v=_?.providerId?p.inlineCompletionsProvider.all(n.getModel()).find((S)=>xO(S).some((C)=>C===_.providerId)):void 0;if(await NM(async(S)=>{await m?.model.get()?.trigger(S,{provider:v,explicit:_?.explicit??!0,changeHint:_?.changeHintData?{data:_.changeHintData}:void 0}),m?.playAccessibilitySignal(S)}),_?.showNoResultNotification){if(!m?.model.get()?.state.get())g.notify({severity:bc.Info,message:e(1230,"No inline suggestion is available.")})}}}class _S extends U{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:b(1242,"Accept Next Word Of Inline Suggestion"),precondition:T.and(r.writable,dt.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:T.and(r.writable,dt.inlineSuggestionVisible,dt.cursorBeforeGhostText,Vh.negate())},menuOpts:[{menuId:l.InlineSuggestionToolbar,title:e(1231,"Accept Word"),group:"primary",order:2}]})}async run(u,n){await xi.get(n)?.model.get()?.acceptNextWord()}}class bS extends U{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:b(1243,"Accept Next Line Of Inline Suggestion"),precondition:T.and(r.writable,dt.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:l.InlineSuggestionToolbar,title:e(1232,"Accept Line"),group:"secondary",order:2}]})}async run(u,n){await xi.get(n)?.model.get()?.acceptNextLine()}}class vS extends U{constructor(){super({id:Xn,label:b(1244,"Accept Inline Suggestion"),precondition:T.or(dt.inlineSuggestionVisible,dt.inlineEditVisible),menuOpts:[{menuId:l.InlineSuggestionToolbar,title:e(1233,"Accept"),group:"primary",order:2},{menuId:l.InlineEditsActions,title:e(1234,"Accept"),group:"primary",order:2}],kbOpts:[{primary:2,weight:200,kbExpr:T.or(T.and(dt.inlineSuggestionVisible,r.tabMovesFocus.toNegated(),We.Visible.toNegated(),r.hoverFocused.toNegated(),dt.hasSelection.toNegated(),dt.inlineSuggestionHasIndentationLessThanTabSize),T.and(dt.inlineEditVisible,r.tabMovesFocus.toNegated(),We.Visible.toNegated(),r.hoverFocused.toNegated(),dt.tabShouldAcceptInlineEdit))}]})}async run(u,n){let h=xi.getInFocusedEditorOrParent(u);if(h)h.model.get()?.accept(h.editor),h.editor.focus()}}Dn.registerKeybindingRule({id:Xn,weight:202,primary:2,when:T.and(dt.inInlineEditsPreviewEditor)});class wS extends U{constructor(){super({id:ed,label:b(1245,"Accept Inline Suggestion Alternative Action"),precondition:T.and(dt.inlineSuggestionAlternativeActionVisible,dt.inlineEditVisible),menuOpts:[],kbOpts:[{primary:1026,weight:203}]})}async run(u,n){let h=xi.getInFocusedEditorOrParent(u);if(h)h.model.get()?.accept(h.editor,!0),h.editor.focus()}}Dn.registerKeybindingRule({id:ed,weight:203,primary:1026,when:T.and(dt.inInlineEditsPreviewEditor)});class SS extends U{constructor(){super({id:kc,label:b(1246,"Jump to next inline edit"),precondition:dt.inlineEditVisible,menuOpts:[{menuId:l.InlineEditsActions,title:e(1235,"Jump"),group:"primary",order:1,when:dt.cursorAtInlineEdit.toNegated()}],kbOpts:{primary:2,weight:201,kbExpr:T.and(dt.inlineEditVisible,r.tabMovesFocus.toNegated(),We.Visible.toNegated(),r.hoverFocused.toNegated(),dt.tabShouldJumpToInlineEdit)}})}async run(u,n){let h=xi.get(n);if(h)h.jump()}}class Au extends U{static{this.ID=Dp}constructor(){super({id:Au.ID,label:b(1247,"Hide Inline Suggestion"),precondition:T.or(dt.inlineSuggestionVisible,dt.inlineEditVisible),kbOpts:{kbExpr:r.editorTextFocus,weight:190,primary:9},menuOpts:[{menuId:l.InlineEditsActions,title:e(1236,"Reject"),group:"primary",order:3}]})}async run(u,n){let h=xi.getInFocusedEditorOrParent(u);Je((g)=>{h?.model.get()?.stop("explicitCancel",g)}),h?.editor.focus()}}class df extends U{static{this.ID=hh}constructor(){super({id:df.ID,label:b(1248,"Toggle Inline Suggestions Show Collapsed"),precondition:T.true()})}async run(u,n){let h=u.get(re),g=h.getValue("editor.inlineSuggest.edits.showCollapsed");h.updateValue("editor.inlineSuggest.edits.showCollapsed",!g)}}Dn.registerKeybindingRule({id:Au.ID,weight:-1,primary:9,secondary:[1033],when:T.and(dt.inInlineEditsPreviewEditor)});class cf extends Sn{static{this.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar"}constructor(){super({id:cf.ID,title:e(1237,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:l.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:T.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(u){let n=u.get(re),g=n.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";n.updateValue("editor.inlineSuggest.showToolbar",g)}}class CS extends U{constructor(){super({id:"editor.action.inlineSuggest.dev.extractRepro",label:e(1238,"Developer: Extract Inline Suggest State"),alias:"Developer: Inline Suggest Extract Repro",precondition:T.or(dt.inlineEditVisible,dt.inlineSuggestionVisible)})}async run(u,n){let h=u.get(yi),p=xi.get(n)?.model.get();if(!p)return;let m=p.extractReproSample(),v=Ci(JSON.stringify({inlineCompletion:m.inlineCompletion},null,4)).map((C)=>"// "+C).join(`
|
|
55
|
-
`),S=`${m.documentValue}
|
|
56
|
-
|
|
57
|
-
// <json>
|
|
58
|
-
${v}
|
|
59
|
-
// </json>
|
|
60
|
-
`;return await h.writeText(S),{reproCase:S}}}var IO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},lf=function(u,n){return function(h,g){n(h,g,u)}};class dD{constructor(u,n,h){this.owner=u,this.range=n,this.controller=h}isValidForHoverAnchor(u){return u.type===1&&this.range.startColumn<=u.range.startColumn&&this.range.endColumn>=u.range.endColumn}}var uf=class u{constructor(n,h,g,p,m){this._editor=n,this.accessibilityService=h,this._instantiationService=g,this._telemetryService=p,this._markdownRendererService=m,this.hoverOrdinal=4,this.hideCopyButton=!0}suggestHoverAnchor(n){let h=xi.get(this._editor);if(!h)return null;let g=n.target;if(g.type===8){let p=g.detail;if(h.shouldShowHoverAtViewZone(p.viewZoneId))return new $s(1000,this,t.fromPositions(this._editor.getModel().validatePosition(p.positionBefore||p.position)),n.event.posx,n.event.posy,!1)}if(g.type===7){if(h.shouldShowHoverAt(g.range))return new $s(1000,this,g.range,n.event.posx,n.event.posy,!1)}if(g.type===6){if(g.detail.mightBeForeignElement&&h.shouldShowHoverAt(g.range))return new $s(1000,this,g.range,n.event.posx,n.event.posy,!1)}if(g.type===9&&g.element){let p=na.getWarningWidgetContext(g.element);if(p&&h.shouldShowHoverAt(p.range))return new $s(1000,this,p.range,n.event.posx,n.event.posy,!1)}return null}computeSync(n,h){if(this._editor.getOption(71).showToolbar!=="onHover")return[];let g=xi.get(this._editor);if(g&&g.shouldShowHoverAt(n.range))return[new dD(this,n.range,g)];return[]}renderHoverParts(n,h){let g=new d,p=h[0];if(this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(12))g.add(this.renderScreenReaderText(n,p));let m=p.controller.model.get(),_=document.createElement("div");return n.fragment.appendChild(_),g.add(ri((S,C)=>{let L=C.add(this._instantiationService.createInstance(qr.hot.read(S),this._editor,!1,De(null),m.selectedInlineCompletionIndex,m.inlineCompletionsCount,m.activeCommands,m.warning,()=>{n.onContentsChanged()}));_.replaceChildren(L.getDomNode())})),m.triggerExplicitly(),new Go([{hoverPart:p,hoverElement:_,dispose(){g.dispose()}}])}getAccessibleContent(n){return e(1268,"There are inline completions here")}renderScreenReaderText(n,h){let g=new d,p=w,m=p("div.hover-row.markdown-hover"),_=k(m,p("div.hover-contents",{["aria-live"]:"assertive"})),v=(S)=>{let C=e(1269,"Suggestion:"),L=g.add(this._markdownRendererService.render(new On().appendText(C).appendCodeblock("text",S),{context:this._editor,asyncRenderCallback:()=>{_.className="hover-contents code-hover-contents",n.onContentsChanged()}}));_.replaceChildren(L.element)};return g.add(W((S)=>{let C=h.controller.model.read(S)?.primaryGhostText.read(S);if(C){let L=this._editor.getModel().getLineContent(C.lineNumber);v(C.renderForScreenReader(L))}else gn(_)})),n.fragment.appendChild(m),g}};uf=IO([lf(1,on),lf(2,A),lf(3,Bn),lf(4,Bo)],uf);class yS{}fe(xi.ID,yk(xi.hot),3);O(fS);O(sf);O(af);O(_S);O(bS);O(vS);O(wS);O(df);O(Au);O(SS);lt(cf);O(CS);lt(D1);lt(N1);gl.register(uf);Mc.register(new yS);var LO=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Md=function(u,n){return function(h,g){n(h,g,u)}},xS,Fu=class u{static{xS=this}static{this.ID="editor.contrib.contextmenu"}static get(n){return n.getContribution(xS.ID)}constructor(n,h,g,p,m,_,v,S){this._contextMenuService=h,this._contextViewService=g,this._contextKeyService=p,this._keybindingService=m,this._menuService=_,this._configurationService=v,this._workspaceContextService=S,this._toDispose=new d,this._contextMenuIsBeingShownCount=0,this._editor=n,this._toDispose.add(this._editor.onContextMenu((C)=>this._onContextMenu(C))),this._toDispose.add(this._editor.onMouseWheel((C)=>{if(this._contextMenuIsBeingShownCount>0){let L=this._contextViewService.getContextViewElement(),R=C.srcElement;if(!(R.shadowRoot&&Sl(L)===R.shadowRoot))this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown((C)=>{if(!this._editor.getOption(30))return;if(C.keyCode===58)C.preventDefault(),C.stopPropagation(),this.showContextMenu()}))}_onContextMenu(n){if(!this._editor.hasModel())return;if(!this._editor.getOption(30)){if(this._editor.focus(),n.target.position&&!this._editor.getSelection().containsPosition(n.target.position))this._editor.setPosition(n.target.position);return}if(n.target.type===12)return;if(n.target.type===6&&n.target.detail.injectedText)return;if(n.event.preventDefault(),n.event.stopPropagation(),n.target.type===11)return this._showScrollbarContextMenu(n.event);if(n.target.type!==6&&n.target.type!==7&&n.target.type!==1)return;if(this._editor.focus(),n.target.position){let g=!1;for(let p of this._editor.getSelections())if(p.containsPosition(n.target.position)){g=!0;break}if(!g)this._editor.setPosition(n.target.position)}let h=null;if(n.target.type!==1)h=n.event;this.showContextMenu(h)}showContextMenu(n){if(!this._editor.getOption(30))return;if(!this._editor.hasModel())return;let h=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);if(h.length>0)this._doShowContextMenu(h,n)}_getMenuActions(n,h){let g=[],p=this._menuService.getMenuActions(h,this._contextKeyService,{arg:n.uri});for(let m of p){let[,_]=m,v=0;for(let S of _)if(S instanceof uc){let C=this._getMenuActions(n,S.item.submenu);if(C.length>0)g.push(new ms(S.id,S.label,C)),v++}else g.push(S),v++;if(v)g.push(new ut)}if(g.length)g.pop();return g}_doShowContextMenu(n,h=null){if(!this._editor.hasModel())return;let g=h;if(!g){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let m=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),_=kt(this._editor.getDomNode()),v=_.left+m.left,S=_.top+m.top+m.height;g={x:v,y:S}}let p=this._editor.getOption(144)&&!Ro;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:p?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:p&&this._editor.getOption(51),getAnchor:()=>g,getActions:()=>n,getActionViewItem:(m)=>{let _=this._keybindingFor(m);if(_)return new wc(m,m,{label:!0,keybinding:_.getLabel(),isMenu:!0});let v=m;if(typeof v.getActionViewItem==="function")return v.getActionViewItem();return new wc(m,m,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:(m)=>this._keybindingFor(m),onHide:(m)=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(n){if(!this._editor.hasModel())return;if(v2(this._workspaceContextService.getWorkspace()))return;let h=this._editor.getOption(81),g=0,p=(C)=>({id:`menu-action-${++g}`,label:C.label,tooltip:"",class:void 0,enabled:typeof C.enabled>"u"?!0:C.enabled,checked:C.checked,run:C.run}),m=(C,L)=>new ms(`menu-action-${++g}`,C,L,void 0),_=(C,L,R,Z,Y)=>{if(!L)return p({label:C,enabled:L,run:()=>{}});let Q=(oe)=>()=>{this._configurationService.updateValue(R,oe)},ee=[];for(let oe of Y)ee.push(p({label:oe.label,checked:Z===oe.value,run:Q(oe.value)}));return m(C,ee)},v=[];v.push(p({label:e(952,"Minimap"),checked:h.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!h.enabled)}})),v.push(new ut),v.push(p({label:e(953,"Render Characters"),enabled:h.enabled,checked:h.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!h.renderCharacters)}})),v.push(_(e(954,"Vertical size"),h.enabled,"editor.minimap.size",h.size,[{label:e(955,"Proportional"),value:"proportional"},{label:e(956,"Fill"),value:"fill"},{label:e(957,"Fit"),value:"fit"}])),v.push(_(e(958,"Slider"),h.enabled,"editor.minimap.showSlider",h.showSlider,[{label:e(959,"Mouse Over"),value:"mouseover"},{label:e(960,"Always"),value:"always"}])),v.push(_(e(961,"Side"),h.enabled,"editor.minimap.side",h.side,[{label:e(962,"Right"),value:"right"},{label:e(963,"Left"),value:"left"}]));let S=this._editor.getOption(144)&&!Ro;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:S?this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:S&&this._editor.getOption(51),getAnchor:()=>n,getActions:()=>v,onHide:(C)=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(n){return this._keybindingService.lookupKeybinding(n.id)}dispose(){if(this._contextMenuIsBeingShownCount>0)this._contextViewService.hideContextView();this._toDispose.dispose()}};Fu=xS=LO([Md(1,Zn),Md(2,ws),Md(3,G),Md(4,me),Md(5,Ai),Md(6,re),Md(7,ma)],Fu);class cD extends U{constructor(){super({id:"editor.action.showContextMenu",label:b(964,"Show Editor Context Menu"),precondition:void 0,kbOpts:{kbExpr:r.textInputFocus,primary:1092,weight:100}})}run(u,n){Fu.get(n)?.showContextMenu()}}fe(Fu.ID,Fu,2);O(cD);class IS extends i{static{this.ID="editor.contrib.readOnlyMessageController"}constructor(u){super();this.editor=u,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let u=pi.get(this.editor);if(u&&this.editor.hasModel()){let n=this.editor.getOptions().get(105);if(!n)if(this.editor.isSimpleWidget)n=new On(e(1447,"Cannot edit in read-only input"));else n=new On(e(1448,"Cannot edit in read-only editor"));u.showMessage(n,this.editor.getPosition())}}}fe(IS.ID,IS,2);class LS extends Sn{static{this.ID="editor.action.toggleTabFocusMode"}constructor(){super({id:LS.ID,title:b(1604,"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:b(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 n=!Wh.getTabFocusMode();if(Wh.setTabFocusMode(n),n)zn(e(1602,"Pressing Tab will now move focus to the next focusable element"));else zn(e(1603,"Pressing Tab will now insert the tab character"))}}lt(LS);var lD=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},kS=function(u,n){return function(h,g){n(h,g,u)}},kO=26,ff=class u extends i{constructor(n,h){super();this._editor=n,this.instantiationService=h,this.banner=this._register(this.instantiationService.createInstance(ES))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(n){this.banner.show({...n,onClose:()=>{this.hide(),n.onClose?.()}}),this._editor.setBanner(this.banner.element,kO)}};ff=lD([kS(1,A)],ff);var ES=class u extends i{constructor(n,h){super();this.instantiationService=n,this.markdownRendererService=h,this.element=w("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(n){if(n.ariaLabel)return n.ariaLabel;if(typeof n.message==="string")return n.message;return}getBannerMessage(n){if(typeof n==="string"){let h=w("span");return h.innerText=n,h}return this.markdownRendererService.render(n).element}clear(){mn(this.element)}show(n){mn(this.element);let h=this.getAriaLabel(n);if(h)this.element.setAttribute("aria-label",h);let g=k(this.element,w("div.icon-container"));if(g.setAttribute("aria-hidden","true"),n.icon)g.appendChild(w(`div${J.asCSSSelector(n.icon)}`));let p=k(this.element,w("div.message-container"));if(p.setAttribute("aria-hidden","true"),p.appendChild(this.getBannerMessage(n.message)),this.messageActionsContainer=k(this.element,w("div.message-actions-container")),n.actions)for(let _ of n.actions)this._register(this.instantiationService.createInstance(Ad,this.messageActionsContainer,{..._,tabIndex:-1},{}));let m=k(this.element,w("div.action-container"));this.actionBar=this._register(new Qi(m)),this.actionBar.push(this._register(new wo("banner.close",e(1607,"Close Banner"),J.asClassName(Z1),!0,()=>{if(typeof n.onClose==="function")n.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};ES=lD([kS(0,A),kS(1,Bo)],ES);var MS=function(u,n,h,g){var p=arguments.length,m=p<3?n:g===null?g=Object.getOwnPropertyDescriptor(n,h):g,_;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")m=Reflect.decorate(u,n,h,g);else for(var v=u.length-1;v>=0;v--)if(_=u[v])m=(p<3?_(m):p>3?_(n,h,m):_(n,h))||m;return p>3&&m&&Object.defineProperty(n,h,m),m},Hu=function(u,n){return function(h,g){n(h,g,u)}},EO=Mt("extensions-warning-message",x.warning,e(1608,"Icon shown with a warning message in the extensions editor.")),Wu=class u extends i{static{this.ID="editor.contrib.unicodeHighlighter"}constructor(n,h,g,p){super();this._editor=n,this._editorWorkerService=h,this._workspaceTrustService=g,this._highlighter=null,this._bannerClosed=!1,this._updateState=(m)=>{if(m&&m.hasMore){if(this._bannerClosed)return;let _=Math.max(m.ambiguousCharacterCount,m.nonBasicAsciiCharacterCount,m.invisibleCharacterCount),v;if(m.nonBasicAsciiCharacterCount>=_)v={message:e(1609,"This document contains many non-basic ASCII unicode characters"),command:new Vu};else if(m.ambiguousCharacterCount>=_)v={message:e(1610,"This document contains many ambiguous unicode characters"),command:new Od};else if(m.invisibleCharacterCount>=_)v={message:e(1611,"This document contains many invisible unicode characters"),command:new Bu};else throw Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:v.message,icon:EO,actions:[{label:v.command.shortLabel,href:`command:${v.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(p.createInstance(ff,n)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=n.getOption(142),this._register(g.onDidChangeTrust((m)=>{this._updateHighlighter()})),this._register(n.onDidChangeConfiguration((m)=>{if(m.hasChanged(142))this._options=n.getOption(142),this._updateHighlighter()})),this._updateHighlighter()}dispose(){if(this._highlighter)this._highlighter.dispose(),this._highlighter=null;super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter)this._highlighter.dispose(),this._highlighter=null;if(!this._editor.hasModel())return;let n=DO(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([n.nonBasicASCII,n.ambiguousCharacters,n.invisibleCharacters].every((g)=>g===!1))return;let h={nonBasicASCII:n.nonBasicASCII,ambiguousCharacters:n.ambiguousCharacters,invisibleCharacters:n.invisibleCharacters,includeComments:n.includeComments,includeStrings:n.includeStrings,allowedCodePoints:Object.keys(n.allowedCharacters).map((g)=>g.codePointAt(0)),allowedLocales:Object.keys(n.allowedLocales).map((g)=>{if(g==="_os")return hc.NumberFormat().value.resolvedOptions().locale;else if(g==="_vscode")return SM;return g})};if(this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri))this._highlighter=new TS(this._editor,h,this._updateState,this._editorWorkerService);else this._highlighter=new hD(this._editor,h,this._updateState)}getDecorationInfo(n){if(this._highlighter)return this._highlighter.getDecorationInfo(n);return null}};Wu=MS([Hu(1,Mi),Hu(2,U1),Hu(3,A)],Wu);function DO(u,n){return{nonBasicASCII:n.nonBasicASCII===ra?!u:n.nonBasicASCII,ambiguousCharacters:n.ambiguousCharacters,invisibleCharacters:n.invisibleCharacters,includeComments:n.includeComments===ra?!u:n.includeComments,includeStrings:n.includeStrings===ra?!u:n.includeStrings,allowedCharacters:n.allowedCharacters,allowedLocales:n.allowedLocales}}var TS=class u extends i{constructor(n,h,g,p){super();this._editor=n,this._options=h,this._updateState=g,this._editorWorkerService=p,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new ke(()=>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 n=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((h)=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==n)return;this._updateState(h);let g=[];if(!h.hasMore)for(let p of h.ranges)g.push({range:p,options:Ef.instance.getDecorationFromOptions(this._options)});this._decorations.set(g)})}getDecorationInfo(n){if(!this._decorations.has(n))return null;let h=this._editor.getModel();if(!T0(h,n))return null;let g=h.getValueInRange(n.range);return{reason:gD(g,this._options),inComment:S1(h,n),inString:C1(h,n)}}};TS=MS([Hu(3,Mi)],TS);class hD extends i{constructor(u,n,h){super();this._editor=u,this._options=n,this._updateState=h,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new ke(()=>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 u=this._editor.getVisibleRanges(),n=[],h={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(let g of u){let p=Xv.computeUnicodeHighlights(this._model,this._options,g);for(let m of p.ranges)h.ranges.push(m);h.ambiguousCharacterCount+=h.ambiguousCharacterCount,h.invisibleCharacterCount+=h.invisibleCharacterCount,h.nonBasicAsciiCharacterCount+=h.nonBasicAsciiCharacterCount,h.hasMore=h.hasMore||p.hasMore}if(!h.hasMore)for(let g of h.ranges)n.push({range:g,options:Ef.instance.getDecorationFromOptions(this._options)});this._updateState(h),this._decorations.set(n)}getDecorationInfo(u){if(!this._decorations.has(u))return null;let n=this._editor.getModel(),h=n.getValueInRange(u.range);if(!T0(n,u))return null;return{reason:gD(h,this._options),inComment:S1(n,u),inString:C1(n,u)}}}var uD=e(1612,"Configure Unicode Highlight Options"),RS=class u{constructor(n,h){this._editor=n,this._markdownRendererService=h,this.hoverOrdinal=5}computeSync(n,h){if(!this._editor.hasModel()||n.type!==1)return[];let g=this._editor.getModel(),p=this._editor.getContribution(Wu.ID);if(!p)return[];let m=[],_=new Set,v=300;for(let S of h){let C=p.getDecorationInfo(S);if(!C)continue;let R=g.getValueInRange(S.range).codePointAt(0),Z=DS(R),Y;switch(C.reason.kind){case 0:{if(iu(C.reason.confusableWith))Y=e(1613,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",Z,DS(C.reason.confusableWith.codePointAt(0)));else Y=e(1614,"The character {0} could be confused with the character {1}, which is more common in source code.",Z,DS(C.reason.confusableWith.codePointAt(0)));break}case 1:Y=e(1615,"The character {0} is invisible.",Z);break;case 2:Y=e(1616,"The character {0} is not a basic ASCII character.",Z);break}if(_.has(Y))continue;_.add(Y);let Q={codePoint:R,reason:C.reason,inComment:C.inComment,inString:C.inString},ee=e(1617,"Adjust settings"),oe=R1(Pf.ID,Q),ne=new On("",!0).appendMarkdown(Y).appendText(" ").appendLink(oe,ee,uD);m.push(new oo(this,S.range,[ne],!1,v++))}return m}renderHoverParts(n,h){return VL(n,h,this._editor,this._markdownRendererService)}getAccessibleContent(n){return n.contents.map((h)=>h.value).join(`
|
|
61
|
-
`)}};RS=MS([Hu(1,Bo)],RS);function NS(u){return`U+${u.toString(16).padStart(4,"0")}`}function DS(u){let n=`\`${NS(u)}\``;if(!sd.isInvisibleCharacter(u))n+=` "${`${TO(u)}`}"`;return n}function TO(u){if(u===96)return"`` ` ``";return"`"+String.fromCodePoint(u)+"`"}function gD(u,n){return Xv.computeUnicodeHighlightReason(u,n)}class Ef{constructor(){this.map=new Map}static{this.instance=new Ef}getDecorationFromOptions(u){return this.getDecoration(!u.includeComments,!u.includeStrings)}getDecoration(u,n){let h=`${u}${n}`,g=this.map.get(h);if(!g)g=ue.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:u,hideInStringTokens:n}),this.map.set(h,g);return g}}class pD extends U{constructor(){super({id:Od.ID,label:b(1626,"Disable highlighting of characters in comments"),precondition:void 0});this.shortLabel=e(1618,"Disable Highlight In Comments")}async run(u,n){let h=u.get(re);if(h)this.runAction(h)}async runAction(u){await u.updateValue(hs.includeComments,!1,2)}}class mD extends U{constructor(){super({id:Od.ID,label:b(1627,"Disable highlighting of characters in strings"),precondition:void 0});this.shortLabel=e(1619,"Disable Highlight In Strings")}async run(u,n){let h=u.get(re);if(h)this.runAction(h)}async runAction(u){await u.updateValue(hs.includeStrings,!1,2)}}class Od extends Sn{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters"}constructor(){super({id:Od.ID,title:b(1628,"Disable highlighting of ambiguous characters"),precondition:void 0,f1:!1});this.shortLabel=e(1620,"Disable Ambiguous Highlight")}async run(u,n){let h=u.get(re);if(h)this.runAction(h)}async runAction(u){await u.updateValue(hs.ambiguousCharacters,!1,2)}}class Bu extends Sn{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters"}constructor(){super({id:Bu.ID,title:b(1629,"Disable highlighting of invisible characters"),precondition:void 0,f1:!1});this.shortLabel=e(1621,"Disable Invisible Highlight")}async run(u,n){let h=u.get(re);if(h)this.runAction(h)}async runAction(u){await u.updateValue(hs.invisibleCharacters,!1,2)}}class Vu extends Sn{static{this.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters"}constructor(){super({id:Vu.ID,title:b(1630,"Disable highlighting of non basic ASCII characters"),precondition:void 0,f1:!1});this.shortLabel=e(1622,"Disable Non ASCII Highlight")}async run(u,n){let h=u.get(re);if(h)this.runAction(h)}async runAction(u){await u.updateValue(hs.nonBasicASCII,!1,2)}}class Pf extends Sn{static{this.ID="editor.action.unicodeHighlight.showExcludeOptions"}constructor(){super({id:Pf.ID,title:b(1631,"Show Exclude Options"),precondition:void 0,f1:!1})}async run(u,n){let{codePoint:h,reason:g,inString:p,inComment:m}=n,_=String.fromCodePoint(h),v=u.get(kn),S=u.get(re);function C(Y){if(sd.isInvisibleCharacter(Y))return e(1623,"Exclude {0} (invisible character) from being highlighted",NS(Y));return e(1624,"Exclude {0} from being highlighted",`${NS(Y)} "${_}"`)}let L=[];if(g.kind===0)for(let Y of g.notAmbiguousInLocales)L.push({label:e(1625,'Allow unicode characters that are more common in the language "{0}".',Y),run:async()=>{NO(S,[Y])}});if(L.push({label:C(h),run:()=>RO(S,[h])}),m){let Y=new pD;L.push({label:Y.label,run:async()=>Y.runAction(S)})}else if(p){let Y=new mD;L.push({label:Y.label,run:async()=>Y.runAction(S)})}function R(Y){return typeof Y.desc.title==="string"?Y.desc.title:Y.desc.title.value}if(g.kind===0){let Y=new Od;L.push({label:R(Y),run:async()=>Y.runAction(S)})}else if(g.kind===1){let Y=new Bu;L.push({label:R(Y),run:async()=>Y.runAction(S)})}else if(g.kind===2){let Y=new Vu;L.push({label:R(Y),run:async()=>Y.runAction(S)})}else MO(g);let Z=await v.pick(L,{title:uD});if(Z)await Z.run()}}async function RO(u,n){let h=u.getValue(hs.allowedCharacters),g;if(typeof h==="object"&&h)g=h;else g={};for(let p of n)g[String.fromCodePoint(p)]=!0;await u.updateValue(hs.allowedCharacters,g,2)}async function NO(u,n){let h=u.inspect(hs.allowedLocales).user?.value,g;if(typeof h==="object"&&h)g=Object.assign({},h);else g={};for(let p of n)g[p]=!0;await u.updateValue(hs.allowedLocales,g,2)}function MO(u){throw Error(`Unexpected value: ${u}`)}lt(Od);lt(Bu);lt(Vu);lt(Pf);fe(Wu.ID,Wu,1);gl.register(RS);export{jt,Dv,Rh,HC,BC,zC,Nv,Av,bI,WC,od,rd,vM,e0,Dh,gl,Ov,eg,VC,UC,vI,yI,qC,wI,Nh,t0,GC,KC,tg,Mv,ng,Pv,JC,Io,Fv,xI,Ah,Is,_I};
|
|
62
|
-
|
|
63
|
-
//# debugId=C6EDBEDC20F6D91564756E2164756E21
|
|
64
|
-
//# sourceMappingURL=studio-efdxjwyp.js.map
|