offsite 0.0.94 → 0.0.96
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/apps/client/dist/assets/{XIcon-CDJz0EhT.js → XIcon-sNE7wlGT.js} +4 -4
- package/apps/client/dist/assets/{audio-player-CEvt4CVB.js → audio-player-DosgEDBw.js} +1 -1
- package/apps/client/dist/assets/{button-CWFREsRn.js → button-BnzxfmO3.js} +1 -1
- package/apps/client/dist/assets/diff-panel-D9sGyf1Y.js +260 -0
- package/apps/client/dist/assets/{dist-C_Y10kCd.js → dist-DNx_j6Py.js} +1 -1
- package/apps/client/dist/assets/{editor-dialog-CEMtEtdH.js → editor-dialog-De_ijtFY.js} +7 -7
- package/apps/client/dist/assets/{image-viewer-3S4rNjFt.js → image-viewer-DuyADV75.js} +1 -1
- package/apps/client/dist/assets/index-9ox1jth4.js +72 -0
- package/apps/client/dist/assets/index-dtN3QMc8.css +2 -0
- package/apps/client/dist/assets/panel-close-button-yIEA8ujQ.js +1 -0
- package/apps/client/dist/assets/{preview-dialog-BuSSuMeQ.js → preview-dialog-CPV2cjGd.js} +2 -2
- package/apps/client/dist/assets/{react-BgpkckXP.js → react-aDzERmfM.js} +1 -1
- package/apps/client/dist/assets/{tooltip-CKPboHje.js → tooltip-CU6Gh-yj.js} +1 -1
- package/apps/client/dist/assets/{use-editor-shortcut-auobREOP.js → use-editor-shortcut-BoixVvhO.js} +26 -26
- package/apps/client/dist/assets/{utils-U6QfaJBO.js → utils-Cih_T9uV.js} +1 -1
- package/apps/client/dist/assets/{video-viewer-gcKzQe3N.js → video-viewer-DbYvGHLh.js} +1 -1
- package/apps/client/dist/assets/zoomable-image-D0X1OvmT.js +1 -0
- package/apps/client/dist/assets/{zoomable-image-BD-kkiyn.js → zoomable-image-D6TeXYQ9.js} +1 -1
- package/apps/client/dist/index.html +10 -10
- package/apps/client/dist/sw.js +1 -1
- package/apps/server/dist/main.mjs +582 -150
- package/apps/server/dist/main.mjs.map +1 -1
- package/apps/server/drizzle/20261108212949_last_efforts/migration.sql +6 -0
- package/apps/server/drizzle/20261108212949_last_efforts/snapshot.json +495 -0
- package/package.json +1 -1
- package/apps/client/dist/assets/diff-panel-CeJqpNi8.js +0 -260
- package/apps/client/dist/assets/index-B7o5cqzG.js +0 -72
- package/apps/client/dist/assets/index-BwL3keyv.css +0 -2
- package/apps/client/dist/assets/panel-close-button-Bf-0TdmN.js +0 -1
- package/apps/client/dist/assets/zoomable-image-_HGrW8wW.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/freemarker2-Bw62YruA.js","assets/editor.api-Rfucz3mk.js","assets/rolldown-runtime-COiEfhsA.js","assets/preload-helper-BLdHbfdN.js","assets/editor-DjpsE8to.css","assets/handlebars-84NJRWd6.js","assets/html-86U_8x8W.js","assets/javascript-MI6i-TIC.js","assets/typescript-Bjj6HU8L.js","assets/liquid-Dcyd1pkL.js","assets/mdx-DR7vQeQJ.js","assets/python-CiSQgsVi.js","assets/razor-WdSU-o-W.js","assets/typescript-Dy13l_qr.js","assets/xml-AovvXo6A.js","assets/yaml-EESuZNdc.js","assets/zoomable-image-
|
|
2
|
-
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{A as t,Ct as n,Et as r,G as i,H as a,I as o,J as s,K as c,L as l,N as u,Pt as d,R as f,S as p,U as m,W as h,_ as g,_t as _,a as v,at as y,b,bt as ee,c as x,ct as te,f as ne,ft as re,g as ie,h as ae,ht as oe,i as se,j as ce,k as le,lt as ue,m as de,mt as fe,n as pe,p as me,pt as he,q as ge,t as _e,ut as ve,v as ye,vt as be,wt as xe,xt as Se,y as Ce,z as we}from"./use-editor-shortcut-auobREOP.js";import{C as Te,F as Ee,M as De,P as Oe,f as ke,g as Ae,in as je,j as Me,t as Ne}from"./XIcon-CDJz0EhT.js";import{a as Pe,t as Fe}from"./button-CWFREsRn.js";import{c as Ie,l as Le,n as Re,o as ze,r as Be,t as Ve}from"./utils-U6QfaJBO.js";import{a as He,l as Ue,r as We,u as Ge}from"./preview-dialog-BuSSuMeQ.js";import{n as Ke,r as qe}from"./TextWrapIcon-BRhMbXe9.js";import{t as Je}from"./ChevronsDownUpIcon-BNVFd2te.js";import{Wt as Ye}from"./dist-Jliw2AH0.js";import{G as Xe,U as Ze,W as Qe,d as $e,h as et,o as tt}from"./dist-TdUDcI9m.js";import{$ as nt,$a as rt,$c as it,$d as at,$i as ot,$l as st,$n as ct,$o as lt,$r as ut,$s as dt,$t as ft,$u as pt,A as mt,Aa as ht,Ac as gt,Ad as S,Ai as _t,Al as vt,An as yt,Ao as bt,Ar as xt,As as St,At as Ct,Au as wt,B as Tt,Ba as Et,Bc as C,Bd as Dt,Bi as Ot,Bl as kt,Bn as At,Bo as jt,Br as Mt,Bs as Nt,Bt as Pt,Bu as w,C as Ft,Ca as It,Cc as Lt,Cd as Rt,Ci as zt,Cl as Bt,Cn as Vt,Co as Ht,Cr as Ut,Cs as Wt,Ct as Gt,Cu as Kt,D as qt,Da as Jt,Dc as Yt,Dd as Xt,Di as Zt,Dl as Qt,Dn as $t,Do as en,Dr as tn,Ds as nn,Dt as rn,Du as an,E as on,Ea as sn,Ec as cn,Ed as ln,Ei as un,El as dn,En as fn,Eo as pn,Er as mn,Es as hn,Et as gn,Eu as _n,F as vn,Fa as yn,Fc as bn,Fd as xn,Fi as Sn,Fl as Cn,Fn as wn,Fo as Tn,Fr as En,Fs as Dn,Ft as On,Fu as kn,G as An,Ga as jn,Gc as Mn,Gd as Nn,Gi as Pn,Gl as Fn,Gn as In,Go as Ln,Gr as Rn,Gs as zn,Gt as Bn,Gu as Vn,H as Hn,Ha as Un,Hc as Wn,Hd as Gn,Hi as Kn,Hl as qn,Hn as Jn,Ho as Yn,Hr as Xn,Hs as T,Ht as Zn,Hu as Qn,Ia as $n,Ic as er,Id as tr,Ii as nr,Il as rr,In as ir,Io as ar,Ir as or,Is as sr,It as cr,Iu as lr,J as ur,Ja as dr,Jc as fr,Jd as pr,Ji as mr,Jl as hr,Jn as gr,Jo as _r,Jr as vr,Js as yr,Jt as br,Ju as E,K as xr,Ka as Sr,Kc as Cr,Kd as wr,Ki as Tr,Kl as Er,Kn as Dr,Ko as Or,Kr as D,Ks as kr,Kt as Ar,Ku as jr,L as Mr,La as Nr,Lc as Pr,Ld as Fr,Li as Ir,Ll as Lr,Ln as Rr,Lo as zr,Lr as Br,Ls as Vr,Lt as Hr,Lu as Ur,M as Wr,Ma as Gr,Mc as Kr,Md as qr,Mi as Jr,Ml as Yr,Mn as Xr,Mo as Zr,Mr as Qr,Ms as $r,Mt as ei,Mu as ti,N as ni,Na as ri,Nc as ii,Nd as ai,Ni as oi,Nl as si,Nn as ci,No as li,Nr as ui,Ns as O,Nt as di,Nu as fi,O as pi,Oa as mi,Oc as hi,Od as gi,Oi as _i,Ol as vi,On as yi,Oo as bi,Or as xi,Os as Si,Ot as Ci,Ou as wi,P as Ti,Pa as Ei,Pc as Di,Pd as Oi,Pi as ki,Pl as Ai,Pn as ji,Po as Mi,Pr as Ni,Ps as Pi,Pt as Fi,Pu as Ii,Q as Li,Qa as Ri,Qc as zi,Qd as Bi,Qi as Vi,Ql as Hi,Qn as Ui,Qo as Wi,Qr as Gi,Qs as Ki,Qt as qi,Qu as Ji,R as Yi,Ra as k,Rc as Xi,Rd as Zi,Ri as Qi,Rl as $i,Rn as ea,Ro as ta,Rr as na,Rs as ra,Rt as ia,Ru as A,S as aa,Sa as oa,Sc as sa,Sd as ca,Si as la,Sl as ua,Sn as da,So as fa,Sr as pa,Ss as ma,St as ha,Su as ga,T as _a,Ta as va,Tc as ya,Td as ba,Ti as xa,Tl as Sa,Tn as Ca,To as wa,Tr as Ta,Ts as Ea,Tt as Da,Tu as Oa,U as ka,Ua as Aa,Uc as ja,Ud as Ma,Ui as Na,Ul as Pa,Un as Fa,Uo as Ia,Ur as La,Us as Ra,Ut as za,Uu as Ba,V as Va,Va as Ha,Vc as Ua,Vd as Wa,Vi as Ga,Vl as Ka,Vn as qa,Vo as Ja,Vr as Ya,Vs as Xa,Vt as Za,Vu as j,W as Qa,Wa as $a,Wc as eo,Wd as to,Wi as no,Wl as ro,Wn as io,Wo as ao,Wr as oo,Ws as M,Wt as so,Wu as co,X as lo,Xa as uo,Xc as fo,Xd as po,Xi as mo,Xl as ho,Xn as go,Xo as _o,Xr as vo,Xs as yo,Xt as bo,Xu as xo,Y as So,Ya as Co,Yc as wo,Yd as To,Yi as Eo,Yl as Do,Yn as Oo,Yo as ko,Yr as Ao,Ys as jo,Yt as Mo,Yu as No,Z as Po,Za as Fo,Zc as Io,Zd as Lo,Zi as Ro,Zl as zo,Zn as Bo,Zo as Vo,Zr as Ho,Zs as Uo,Zt as Wo,Zu as Go,_ as Ko,_a as qo,_c as Jo,_d as Yo,_f as Xo,_i as Zo,_l as Qo,_n as $o,_o as es,_r as ts,_s as ns,_t as rs,_u as is,a as as,aa as os,ac as N,ad as P,af as ss,ai as cs,al as ls,an as us,ao as ds,ar as fs,as as ps,at as ms,au as hs,b as gs,ba as _s,bc as vs,bd as ys,bi as bs,bl as xs,bn as Ss,bo as Cs,br as ws,bs as Ts,bt as Es,bu as Ds,c as Os,ca as ks,cc as As,cd as js,cf as Ms,ci as Ns,cl as Ps,cn as Fs,co as Is,cr as F,cs as Ls,ct as Rs,cu as zs,d as Bs,da as Vs,dc as Hs,dd as I,df as Us,di as Ws,dl as Gs,dn as Ks,do as qs,dr as Js,ds as Ys,dt as Xs,du as Zs,ea as Qs,ec as $s,ef as ec,ei as tc,el as nc,en as rc,eo as ic,er as ac,es as oc,et as sc,eu as cc,f as lc,fa as uc,fc as dc,fd as fc,ff as pc,fi as mc,fl as hc,fn as gc,fo as _c,fr as vc,fs as yc,ft as bc,fu as xc,g as Sc,ga as Cc,gc as wc,gd as Tc,gf as Ec,gi as Dc,gl as Oc,gn as kc,go as Ac,gr as jc,gs as Mc,gt as Nc,gu as Pc,h as Fc,ha as Ic,hc as L,hd as Lc,hf as Rc,hi as zc,hl as Bc,hn as Vc,ho as Hc,hr as Uc,hs as Wc,ht as Gc,hu as Kc,i as qc,ia as Jc,ic as Yc,id as Xc,if as Zc,ii as Qc,il as $c,in as el,io as tl,ir as nl,is as rl,it as il,iu as al,j as ol,ja as sl,jc as cl,jd as R,ji as ll,jl as ul,jn as dl,jo as fl,jr as pl,js as ml,jt as hl,ju as gl,k as _l,ka as vl,kc as yl,kd as bl,ki as xl,kl as Sl,kn as Cl,ko as wl,kr as Tl,ks as El,kt as Dl,ku as Ol,l as kl,la as Al,lc as jl,ld as Ml,lf as Nl,li as Pl,ll as Fl,ln as Il,lo as z,lr as Ll,ls as Rl,lt as zl,lu as Bl,m as Vl,ma as Hl,mc as Ul,md as Wl,mf as Gl,mi as Kl,ml as ql,mn as Jl,mo as Yl,mr as Xl,ms as Zl,mt as Ql,mu as $l,n as eu,na as tu,nc as nu,nd as ru,nf as iu,ni as au,nl as ou,nn as su,no as cu,nr as lu,ns as uu,nt as du,nu as fu,o as pu,oa as mu,oc as hu,od as gu,of as _u,oi as vu,ol as yu,on as bu,oo as xu,or as Su,os as B,ot as Cu,ou as wu,p as Tu,pa as Eu,pc as Du,pd as Ou,pf as ku,pi as Au,pl as V,pn as ju,po as Mu,pr as Nu,ps as Pu,pt as Fu,pu as Iu,q as Lu,qa as Ru,qc as zu,qd as Bu,qi as Vu,ql as Hu,qn as Uu,qo as Wu,qr as Gu,qs as H,qt as Ku,qu,r as Ju,ra as Yu,rc as Xu,rd as Zu,rf as Qu,ri as $u,rl as ed,rn as td,ro as nd,rr as rd,rs as id,rt as ad,ru as od,s as sd,sa as cd,sc as ld,sd as ud,sf as dd,si as fd,sl as pd,sn as md,so as hd,sr as gd,ss as U,st as _d,su as vd,t as yd,ta as bd,tc as W,td as xd,tf as Sd,ti as Cd,tl as wd,tn as Td,to as Ed,tr as Dd,ts as G,tt as Od,tu as kd,u as Ad,ua as jd,uc as Md,ud as K,uf as Nd,ui as Pd,ul as Fd,un as Id,uo as Ld,ur as Rd,us as zd,ut as Bd,uu as Vd,v as Hd,va as Ud,vc as q,vd as Wd,vf as Gd,vi as Kd,vl as qd,vn as Jd,vo as Yd,vr as Xd,vs as Zd,vt as Qd,vu as $d,w as ef,wa as tf,wc as nf,wd as rf,wi as af,wl as of,wn as sf,wo as cf,wr as lf,ws as uf,wt as df,wu as ff,x as pf,xa as mf,xc as hf,xd as gf,xi as _f,xl as vf,xn as yf,xo as bf,xr as xf,xs as Sf,xt as Cf,xu as wf,y as Tf,ya as Ef,yc as Df,yd as Of,yi as kf,yl as Af,yn as jf,yo as Mf,yr as Nf,ys as Pf,yt as Ff,yu as If,z as Lf,za as Rf,zc as zf,zd as Bf,zi as Vf,zl as Hf,zn as Uf,zo as Wf,zr as Gf,zs as Kf,zt as qf,zu as J}from"./editor.api-Rfucz3mk.js";import{t as Y}from"./preload-helper-BLdHbfdN.js";import{i as Jf,t as Yf}from"./langs-DssLtjmH.js";import{t as Xf}from"./engine-oniguruma-BMl9YtsA.js";import{c as Zf,l as Qf}from"./tooltip-CKPboHje.js";var $f=[[`path`,{d:`M17.4776 9.01106C17.485 9.01102 17.4925 9.01101 17.5 9.01101C19.9853 9.01101 22 11.0294 22 13.5193C22 15.8398 20.25 17.7508 18 18M17.4776 9.01106C17.4924 8.84606 17.5 8.67896 17.5 8.51009C17.5 5.46695 15.0376 3 12 3C9.12324 3 6.76233 5.21267 6.52042 8.03192M17.4776 9.01106C17.3753 10.1476 16.9286 11.1846 16.2428 12.0165M6.52042 8.03192C3.98398 8.27373 2 10.4139 2 13.0183C2 15.4417 3.71776 17.4632 6 17.9273M6.52042 8.03192C6.67826 8.01687 6.83823 8.00917 7 8.00917C8.12582 8.00917 9.16474 8.38194 10.0005 9.01101`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M12 21L12 13M12 21C11.2998 21 9.99153 19.0057 9.5 18.5M12 21C12.7002 21 14.0085 19.0057 14.5 18.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],ep=[[`path`,{d:`M4 12.0005L4 14.5446C4 17.7896 4 19.4122 4.88607 20.5111C5.06508 20.7331 5.26731 20.9354 5.48933 21.1144C6.58831 22.0005 8.21082 22.0005 11.4558 22.0005C12.1614 22.0005 12.5141 22.0005 12.8372 21.8865C12.9044 21.8627 12.9702 21.8355 13.0345 21.8047C13.3436 21.6569 13.593 21.4075 14.0919 20.9086L18.8284 16.172C19.4065 15.594 19.6955 15.3049 19.8478 14.9374C20 14.5699 20 14.1611 20 13.3436V10.0005C20 6.22922 20 4.34361 18.8284 3.17203C17.7693 2.11287 16.1265 2.01125 13.0345 2.0015M13 21.5005V21.0005C13 18.172 13 16.7578 13.8787 15.8791C14.7574 15.0005 16.1716 15.0005 19 15.0005H19.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M12 5.99954H4M8 1.99954V9.99954`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],tp=[[`path`,{d:`M13.6656 6.49446H16C18.8284 6.49446 20.2426 6.49446 21.1213 7.37314C22 8.25182 22 9.66603 22 12.4945V14.5C22 17.3284 22 18.7426 21.1213 19.6213C20.2426 20.5 18.8284 20.5 16 20.5H8C5.17157 20.5 3.75736 20.5 2.87868 19.6213C2 18.7426 2 17.3284 2 14.5V8.99183C2 6.65409 2 5.48521 2.61604 4.67881C2.7778 4.46706 2.96706 4.2778 3.17881 4.11604C3.98521 3.5 5.15409 3.5 7.49183 3.5C8.16633 3.5 8.50358 3.5 8.81392 3.60442C8.8976 3.63257 8.97932 3.66623 9.05854 3.70518C9.35239 3.84965 9.59179 4.08719 10.0706 4.56227L10.8483 5.33389C11.4254 5.9066 11.714 6.19295 12.08 6.3437C12.446 6.49446 12.8525 6.49446 13.6656 6.49446Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M7 10.5H17C18.8692 10.5 19.8038 10.5 20.5 10.9019C20.9561 11.1652 21.3348 11.5439 21.5981 12C22 12.6962 22 13.6308 22 15.5C22 17.3692 22 18.3038 21.5981 19C21.3348 19.4561 20.9561 19.8348 20.5 20.0981C19.8038 20.5 18.8692 20.5 17 20.5H7C5.13077 20.5 4.19615 20.5 3.5 20.0981C3.04394 19.8348 2.66523 19.4561 2.40192 19C2 18.3038 2 17.3692 2 15.5C2 13.6308 2 12.6962 2.40192 12C2.66523 11.5439 3.04394 11.1652 3.5 10.9019C4.19615 10.5 5.13077 10.5 7 10.5Z`,stroke:`currentColor`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],np=[[`path`,{d:`M12 8H21`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M12 12H17`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M12 20H17`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`2`}],[`path`,{d:`M12 16H21`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`3`}],[`path`,{d:`M3 4V11C3 12.8692 3 13.8038 3.40192 14.5C3.66523 14.9561 4.04394 15.3348 4.5 15.5981C5.19615 16 6.13077 16 8 16`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`4`}],[`path`,{d:`M8 8H7C6.07003 8 5.60504 8 5.22354 7.89778C4.18827 7.62038 3.37962 6.81173 3.10222 5.77646C3 5.39496 3 4.92997 3 4`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`5`}]],rp=[[`path`,{d:`M2 11.4C2 10.2417 2.24173 10 3.4 10H20.6C21.7583 10 22 10.2417 22 11.4V12.6C22 13.7583 21.7583 14 20.6 14H3.4C2.24173 14 2 13.7583 2 12.6V11.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M2 3.4C2 2.24173 2.24173 2 3.4 2H20.6C21.7583 2 22 2.24173 22 3.4V4.6C22 5.75827 21.7583 6 20.6 6H3.4C2.24173 6 2 5.75827 2 4.6V3.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M2 19.4C2 18.2417 2.24173 18 3.4 18H20.6C21.7583 18 22 18.2417 22 19.4V20.6C22 21.7583 21.7583 22 20.6 22H3.4C2.24173 22 2 21.7583 2 20.6V19.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`2`}]],ip=[[`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M9.38886 15.1629C9.89331 15.5 10.5955 15.5 12 15.5C13.4045 15.5 14.1067 15.5 14.6111 15.1629C14.8295 15.017 15.017 14.8295 15.1629 14.6111C15.5 14.1067 15.5 13.4045 15.5 12C15.5 10.5955 15.5 9.89331 15.1629 9.38886C15.017 9.17048 14.8295 8.98298 14.6111 8.83706C14.1067 8.5 13.4045 8.5 12 8.5C10.5955 8.5 9.89331 8.5 9.38886 8.83706C9.17048 8.98298 8.98298 9.17048 8.83706 9.38886C8.5 9.89331 8.5 10.5955 8.5 12C8.5 13.4045 8.5 14.1067 8.83706 14.6111C8.98298 14.8295 9.17048 15.017 9.38886 15.1629Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],ap=[[`path`,{d:`M8 2H9.01472C10.241 2 10.8541 2 11.4054 2.22836C11.9567 2.45672 12.3903 2.89027 13.2574 3.75736L21.1262 11.6263C21.6841 12.1867 21.9982 12.9449 22 13.7357L22 13.75L22 13.7643C21.9982 14.5551 21.6841 15.3133 21.1262 15.8737L15.8737 21.1262C15.3133 21.6841 14.5551 21.9982 13.7643 22L13.75 22L13.7357 22C12.9449 21.9982 12.1867 21.6841 11.6263 21.1262L3.75736 13.2574C2.89027 12.3903 2.45672 11.9567 2.22836 11.4054C2 10.8541 2 10.241 2 9.01472V8C2 5.17157 2 3.75736 2.87868 2.87868C3.75736 2 5.17157 2 8 2Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M7.5 7.25V7.5M8 7.5C8 7.77614 7.77614 8 7.5 8C7.22386 8 7 7.77614 7 7.5C7 7.22386 7.22386 7 7.5 7C7.77614 7 8 7.22386 8 7.5Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],op=[[`path`,{d:`M3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C8.79275 3 5.97733 4.67765 4.38341 7.20327M3.29339 3.00076L3.46556 5.05452C3.58958 6.53384 3.65159 7.27349 4.13359 7.68914C4.61559 8.10479 5.32673 8.03185 6.74899 7.88595L8.79339 7.67625`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}]],sp=[[`path`,{d:`M21.544 11.045C21.848 11.4713 22 11.6845 22 12C22 12.3155 21.848 12.5287 21.544 12.955C20.1779 14.8706 16.6892 19 12 19C7.31078 19 3.8221 14.8706 2.45604 12.955C2.15201 12.5287 2 12.3155 2 12C2 11.6845 2.15201 11.4713 2.45604 11.045C3.8221 9.12944 7.31078 5 12 5C16.6892 5 20.1779 9.12944 21.544 11.045Z`,stroke:`currentColor`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12Z`,stroke:`currentColor`,strokeWidth:`1.5`,key:`1`}]],X=e(Le(),1),Z=Ie();function cp(e){let t=lp(e.document,e.view);return t===null?null:(0,Z.jsx)(`p`,{className:`text-muted-foreground grid size-full place-items-center p-6 text-center text-sm`,children:t})}function lp(e,t){return e===void 0?t===`explorer`?`Open a file from the explorer to start editing.`:`Select a change to see its diff.`:e.status===`large`?`This file is ${up(e.size)}, too large to open in the editor (limit ${up(e.limit)}).`:e.status===`binary`?`The file is not displayed in the text editor because it is either binary or uses an unsupported text encoding.`:e.status===`error`?e.message:null}function up(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function dp(){let e=De(e=>e.errors);return e.length===0?null:(0,Z.jsxs)(`div`,{role:`alert`,className:`bg-popover text-popover-foreground absolute right-3 bottom-9 z-20 flex w-96 max-w-[calc(100%-1.5rem)] items-start gap-2 rounded-md border p-3 text-[13px] shadow-lg`,children:[(0,Z.jsx)(Pe,{icon:r,className:`text-destructive mt-0.5 size-4 shrink-0`}),(0,Z.jsx)(`p`,{className:`min-w-0 flex-1 break-words whitespace-pre-wrap`,children:e.at(-1)}),(0,Z.jsx)(`button`,{type:`button`,title:`Dismiss`,"aria-label":`Dismiss`,className:`hover:bg-accent grid size-5 shrink-0 cursor-pointer place-items-center rounded-sm`,onClick:ke,children:(0,Z.jsx)(Pe,{icon:Ne,className:`size-3.5`})})]})}function fp(e,t){let n=localStorage.getItem(`editorWindow ${e} ${t}`);return n===null?{tabs:[],active:null,expanded:[],settings:{view:`explorer`,sidebar:!0,width:300,tree:!0,sort:`path`,messages:{},graphHeight:240,inline:!1,whitespace:!0,collapse:!1,smartCommit:!0,preview:!1}}:JSON.parse(n)}function pp(e,t,n){localStorage.setItem(`editorWindow ${e} ${t}`,JSON.stringify(n))}function mp(e){let n=t();return(0,Z.jsxs)(Z.Fragment,{children:[!e.entry.folder&&Ye(e.entry.path)===`markdown`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(v,{onSelect:()=>e.onPreview(e.entry.path),children:`Open Preview`}),(0,Z.jsx)(x,{})]}),(0,Z.jsx)(v,{onSelect:()=>{e.onPending(()=>e.onCreate(e.entry.folder?e.entry.path:vp(e.entry.path),!1))},children:`New File…`}),(0,Z.jsx)(v,{onSelect:()=>{e.onPending(()=>e.onCreate(e.entry.folder?e.entry.path:vp(e.entry.path),!0))},children:`New Folder…`}),(0,Z.jsx)(x,{}),(0,Z.jsx)(v,{onSelect:()=>void n.copy(e.entry.path===``?e.root:`${e.root}/${e.entry.path}`),children:`Copy Path`}),e.entry.path!==``&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(v,{onSelect:()=>void n.copy(e.entry.path),children:`Copy Relative Path`}),!e.entry.folder&&(0,Z.jsx)(v,{onSelect:()=>void ce(e.machine,e.projectId,e.entry.path).catch(Te),children:`Download`}),(0,Z.jsx)(x,{}),(0,Z.jsx)(v,{onSelect:()=>{e.onPending(()=>e.onEdit({kind:`rename`,path:e.entry.path,folder:e.entry.folder}))},children:`Rename…`}),(0,Z.jsx)(v,{variant:`destructive`,onSelect:()=>{e.onPending(()=>e.onDelete(e.entry))},children:`Delete`})]})]})}function hp(e){let t=(0,X.useRef)(!1),n=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let t=e.initial.lastIndexOf(`.`);n.current?.focus(),n.current?.setSelectionRange(0,t>0?t:e.initial.length)},[e.initial]),(0,Z.jsx)(`input`,{ref:n,"aria-label":`Name`,defaultValue:e.initial,className:`border-primary bg-background text-foreground h-5 min-w-0 flex-1 border px-1 text-[13px] outline-none`,onKeyDown:n=>{n.key===`Enter`&&(t.current=!0,e.onCommit(n.currentTarget.value)),n.key===`Escape`&&(t.current=!0,e.onCancel())},onBlur:n=>{t.current||(t.current=!0,e.onCommit(n.currentTarget.value))}})}function gp(e){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)({path:``,folder:!0}),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(null),h=(0,X.useRef)(null);(0,X.useEffect)(()=>{let t=!0;return je(e.machine,`files.entries`,{projectId:e.projectId}).then(e=>{t&&(n(e),i(null))},e=>{t&&i(Be(e))}),()=>{t=!1}},[e.machine,e.projectId,a]);let _=(0,X.useMemo)(()=>_p(t?.files??[],t?.folders??[]),[t]),v=s??e.active,y=s??(e.active===null?``:vp(e.active));function ee(t,n){let r=t===``?[]:t.split(`/`);e.onExpanded([...new Set([...e.expanded,...r.map((e,t)=>r.slice(0,t+1).join(`/`))])]),f({kind:`create`,parent:t,folder:n})}async function x(t){if(d===null)return;f(null);let n=t.trim();if(n!==``)try{if(d.kind===`create`){let t=d.parent===``?n:`${d.parent}/${n}`;await je(e.machine,`files.create`,{projectId:e.projectId,path:t,folder:d.folder}),d.folder&&e.onExpanded(e=>[...e,t]),d.folder||e.onOpen(t)}if(d.kind===`rename`&&n!==yp(d.path)){let t=vp(d.path),r=t===``?n:`${t}/${n}`;await je(e.machine,`files.rename`,{projectId:e.projectId,path:d.path,to:r}),e.onRenamed(d.path,r)}o(e=>e+1)}catch(e){Te(e)}}async function te(t){try{await je(e.machine,`files.delete`,{projectId:e.projectId,path:t.path}),e.onDeleted(t.path),o(e=>e+1)}catch(e){Te(e)}}function re(e,t,n){return(0,Z.jsxs)(`div`,{className:`flex h-[22px] items-center gap-1.5 pr-2`,style:{paddingLeft:8+e*12},children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-4 shrink-0`}),t&&(0,Z.jsx)(Pe,{icon:tp,className:`text-muted-foreground size-4 shrink-0`}),!t&&(0,Z.jsx)(Ge,{path:n}),(0,Z.jsx)(hp,{initial:n,onCommit:e=>void x(e),onCancel:()=>f(null)})]},`input`)}function oe(t,n,r,i){return d?.kind===`rename`&&d.path===t?re(n,r,yp(t)):(0,Z.jsxs)(`button`,{type:`button`,"data-path":t,"data-folder":r,className:Ve(`text-sidebar-foreground hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] w-full cursor-pointer items-center gap-1.5 pr-2 text-left text-[13px] outline-none focus-visible:ring-1 focus-visible:ring-inset`,t===v&&`bg-sidebar-row-active`),style:{paddingLeft:8+n*12},onClick:()=>{r?(c(t),e.onExpanded(i?e.expanded.filter(e=>e!==t):[...e.expanded,t])):(c(null),e.onOpen(t))},children:[Array.from({length:n},(e,t)=>(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`border-sidebar-border pointer-events-none absolute inset-y-0 border-l opacity-0 transition-opacity group-hover/tree:opacity-100`,style:{left:16+t*12}},t)),r&&(0,Z.jsx)(Pe,{icon:qe,"aria-hidden":!0,className:Ve(`text-muted-foreground size-4 shrink-0 transition-transform`,i&&`rotate-90`)}),!r&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-4 shrink-0`}),r&&(0,Z.jsx)(Pe,{icon:i?fe:tp,className:`text-muted-foreground size-4 shrink-0`}),!r&&(0,Z.jsx)(Ge,{path:t}),(0,Z.jsx)(`span`,{className:`truncate`,children:yp(t)})]},t)}function ce(t,n,r){return[d?.kind===`create`&&d.parent===n&&re(r,d.folder,``),...[...t.folders].sort((e,t)=>e[0].localeCompare(t[0])).map(t=>{let i=n===``?t[0]:`${n}/${t[0]}`,a=e.expanded.includes(i);return(0,Z.jsxs)(`div`,{children:[oe(i,r,!0,a),a&&ce(t[1],i,r+1)]},`dir:${i}`)}),...[...t.files].sort((e,t)=>e.localeCompare(t)).map(e=>oe(e,r,!1,!1))]}return(0,Z.jsxs)(`div`,{className:`bg-sidebar flex h-full min-h-0 flex-col`,children:[(0,Z.jsxs)(`div`,{className:`text-sidebar-foreground border-sidebar-border flex h-9 shrink-0 items-center gap-0.5 border-b px-1.5`,children:[e.header,(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`New File…`,"aria-label":`New File`,onClick:()=>ee(y,!1),children:(0,Z.jsx)(Pe,{icon:ep,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`New Folder…`,"aria-label":`New Folder`,onClick:()=>ee(y,!0),children:(0,Z.jsx)(Pe,{icon:he,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Refresh Explorer`,"aria-label":`Refresh Explorer`,onClick:()=>o(a+1),children:(0,Z.jsx)(Pe,{icon:Ke,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Collapse Folders in Explorer`,"aria-label":`Collapse Folders in Explorer`,onClick:()=>e.onExpanded([]),children:(0,Z.jsx)(Pe,{icon:Je,className:`size-4`})})]}),(0,Z.jsxs)(pe,{children:[(0,Z.jsx)(ne,{asChild:!0,children:(0,Z.jsxs)(`div`,{className:`group/tree min-h-0 flex-1 overflow-y-auto pb-6`,onContextMenu:e=>{let t=e.target instanceof Element?e.target.closest(`[data-path]`):null;u(t===null?{path:``,folder:!0}:{path:t.dataset.path??``,folder:t.dataset.folder===`true`})},children:[r!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:r}),r===null&&t===null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:`Loading…`}),r===null&&t!==null&&ce(_,``,0)]})}),(0,Z.jsx)(se,{className:`min-w-48`,onCloseAutoFocus:e=>{h.current!==null&&(e.preventDefault(),h.current(),h.current=null)},children:(0,Z.jsx)(mp,{machine:e.machine,projectId:e.projectId,root:e.root,entry:l,onPending:e=>{h.current=e},onPreview:e.onPreview,onCreate:ee,onEdit:f,onDelete:m})})]}),(0,Z.jsx)(me,{open:p!==null,onOpenChange:e=>{e||m(null)},children:(0,Z.jsxs)(ie,{children:[(0,Z.jsxs)(Ce,{children:[(0,Z.jsx)(b,{children:`Delete '${p===null?``:yp(p.path)}'?`}),(0,Z.jsx)(g,{children:p?.folder===!0?`This folder and everything in it will be permanently deleted.`:`This file will be permanently deleted.`})]}),(0,Z.jsxs)(ye,{children:[(0,Z.jsx)(ae,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`destructive`,onClick:()=>{p!==null&&te(p)},children:`Delete`})]})]})})]})}function _p(e,t){let n={folders:new Map,files:[]};function r(e){let t=n;for(let n of e){let e=t.folders.get(n)??{folders:new Map,files:[]};t.folders.set(n,e),t=e}return t}for(let e of t)r(e.split(`/`));for(let t of e)r(t.split(`/`).slice(0,-1)).files.push(t);return n}function vp(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function yp(e){return e.slice(e.lastIndexOf(`/`)+1)}function bp(e){return(0,Z.jsx)(`div`,{role:`tablist`,className:`flex h-full min-w-0 flex-1 [scrollbar-width:thin] overflow-x-auto`,children:e.tabs.map(t=>{let n=t.id===e.active,r=e.dirty.includes(t.id);return(0,Z.jsxs)(`div`,{role:`tab`,tabIndex:0,"aria-selected":n,title:t.path,className:Ve(`group/tab border-sidebar-border relative flex shrink-0 cursor-pointer items-center gap-1.5 border-r pr-1.5 pl-3 text-[13px] outline-none select-none`,n&&`bg-background text-foreground`,!n&&`text-muted-foreground hover:bg-background/50`),onClick:()=>e.onSelect(t.id),onAuxClick:n=>{n.button===1&&e.onClose(t.id)},onKeyDown:n=>{n.key===`Enter`&&e.onSelect(t.id)},children:[n&&(0,Z.jsx)(`span`,{className:`bg-primary absolute inset-x-0 top-0 h-px`}),(0,Z.jsx)(Ge,{path:t.path}),(0,Z.jsx)(`span`,{className:`max-w-48 truncate`,children:t.label}),e.tabs.some(e=>e!==t&&e.label===t.label)&&(0,Z.jsx)(`span`,{className:`text-muted-foreground max-w-40 truncate text-xs`,children:vp(t.path)}),(0,Z.jsxs)(`button`,{type:`button`,title:`Close`,"aria-label":`Close ${t.label}`,className:Ve(`group/close hover:bg-accent flex size-5 cursor-pointer items-center justify-center rounded opacity-0 group-hover/tab:opacity-100 focus-visible:opacity-100`,(n||r)&&`opacity-100`),onClick:n=>{n.stopPropagation(),e.onClose(t.id)},children:[r&&(0,Z.jsx)(`span`,{className:`bg-foreground size-2 rounded-full group-hover/close:hidden`}),(0,Z.jsx)(Pe,{icon:Ne,className:Ve(`size-3.5`,r&&`hidden group-hover/close:block`)})]})]},t.id)})})}var xp=class e{_ruleStack;constructor(e){this._ruleStack=e}get ruleStack(){return this._ruleStack}clone(){return new e(this._ruleStack)}equals(t){return!(!t||!(t instanceof e)||t!==this||t._ruleStack!==this._ruleStack)}};function Sp(e){if(Array.isArray(e)&&(e=e[0]),e)return e=(e.charCodeAt(0)===35?e.slice(1):e).toLowerCase(),(e.length===3||e.length===4)&&(e=e.split(``).map(e=>e+e).join(``)),e}var Cp=/[\s,]+/;function wp(e){let t=`rules`in e?e.rules:void 0;if(!t){t=[];let n=e.settings||e.tokenColors;for(let{scope:e,settings:{foreground:r,background:i,fontStyle:a}={}}of n){if(!r&&!i&&!a)continue;let n=Array.isArray(e)?e:e?[e]:[],o=kp(a),s=Sp(r),c=Sp(i);t.push(...n.map(e=>({token:e,foreground:s,background:c,fontStyle:o})))}}let n=Object.fromEntries(Object.entries(e.colors||{}).map(([e,t])=>[e,`#${Sp(t)}`]));return{base:e.type===`light`?`vs`:`vs-dark`,inherit:!1,colors:n,rules:t}}function Tp(e,t,n={}){let r=new Map,i=e.getLoadedThemes();for(let n of i){let i=wp(e.getTheme(n));r.set(n,i),t.editor.defineTheme(n,i)}let a=[],o=new Map,s=t.editor.setTheme.bind(t.editor);t.editor.setTheme=t=>{let n=e.setTheme(t),i=r.get(t);a.length=n.colorMap.length;for(let e=0;e<n.colorMap.length;e++)a[e]=n.colorMap[e];o.clear(),i?.rules.forEach(e=>{let t=Sp(e.foreground);if(!t)return;let n=Ap(t,kp(e.fontStyle));o.has(n)||o.set(n,e.token)}),s(t)};let c=t.editor.create;t.editor.create=(e,n,r)=>(n?.theme&&t.editor.setTheme(n.theme),c(e,n,r)),t.editor.setTheme(i[0]);function l(e,t){let n=Ap(e,Ep(t));return o.get(n)}let{tokenizeMaxLineLength:u=2e4,tokenizeTimeLimit:d=500}=n,f=new Set(t.languages.getLanguages().map(e=>e.id));for(let n of e.getLoadedLanguages())f.has(n)&&t.languages.setTokensProvider(n,{getInitialState(){return new xp(Xe)},tokenize(t,r){if(t.length>=u)return{endState:r,tokens:[{startIndex:0,scopes:``}]};let i=e.getLanguage(n).tokenizeLine2(t,r.ruleStack,d);i.stoppedEarly&&console.warn(`Time limit reached when tokenizing line: ${t.substring(0,100)}`);let o=i.tokens.length/2,s=[];for(let e=0;e<o;e++){let t=i.tokens[2*e],n=i.tokens[2*e+1],r=Ze.getForeground(n),o=Sp(a[r]||``),c=Ze.getFontStyle(n),u=o&&l(o,c)||``;s.push({startIndex:t,scopes:u})}return{endState:new xp(i.ruleStack),tokens:s}}})}function Ep(e){if(e<=Qe.None)return``;let t=[];return e&Qe.Italic&&t.push(`italic`),e&Qe.Bold&&t.push(`bold`),e&Qe.Underline&&t.push(`underline`),e&Qe.Strikethrough&&t.push(`strikethrough`),t.join(` `)}var Dp=[`italic`,`bold`,`underline`,`strikethrough`],Op={"line-through":`strikethrough`};function kp(e){if(!e)return``;let t=new Set(e.split(Cp).map(e=>e.trim().toLowerCase()).map(e=>Op[e]||e).filter(Boolean));return Dp.filter(e=>t.has(e)).join(` `)}function Ap(e,t){return t?`${e}|${t}`:e}var jp={},Mp={},Np=class e{static getOrCreate(t){return Mp[t]||(Mp[t]=new e(t)),Mp[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,jp[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function Q(e){let t=e.id;jp[t]=e,qc.register(e);let n=Np.getOrCreate(t);qc.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),qc.onLanguageEncountered(t,async()=>{let e=await n.load();qc.setLanguageConfiguration(t,e.conf)})}Q({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>Y(()=>import(`./abap-08VXUWAP.js`),[])}),Q({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>Y(()=>import(`./apex-BWPQTe0t.js`),[])}),Q({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>Y(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),Q({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>Y(()=>import(`./bat-i0X4ZdIN.js`),[])}),Q({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>Y(()=>import(`./bicep-B5-_aFwp.js`),[])}),Q({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>Y(()=>import(`./cameligo-DMUM7wLl.js`),[])}),Q({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>Y(()=>import(`./clojure-Cm7r79vr.js`),[])}),Q({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>Y(()=>import(`./coffee-Ba7i2nA0.js`),[])}),Q({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])}),Q({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])}),Q({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>Y(()=>import(`./csharp-BKxtCVv1.js`),[])}),Q({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>Y(()=>import(`./csp-bTuwJoIa.js`),[])}),Q({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>Y(()=>import(`./css-DIMkf-bt.js`),[])}),Q({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>Y(()=>import(`./cypher-CVaqCwHa.js`),[])}),Q({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>Y(()=>import(`./dart-onAF5SnQ.js`),[])}),Q({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>Y(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),Q({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>Y(()=>import(`./ecl-94qehhXe.js`),[])}),Q({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>Y(()=>import(`./elixir-6RTg0lbw.js`),[])}),Q({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>Y(()=>import(`./flow9-C5_-GSwl.js`),[])}),Q({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>Y(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),Q({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAngleInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagBracketInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAngleInterpolationBracket),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagBracketInterpolationBracket),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAutoInterpolationBracket),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>Y(()=>import(`./go-C-y9NEjX.js`),[])}),Q({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>Y(()=>import(`./graphql-fmXr3nnJ.js`),[])}),Q({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>Y(()=>import(`./handlebars-84NJRWd6.js`),__vite__mapDeps([5,1,2,3,4]))}),Q({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>Y(()=>import(`./hcl-CpzslTdj.js`),[])}),Q({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>Y(()=>import(`./html-86U_8x8W.js`),__vite__mapDeps([6,1,2,3,4]))}),Q({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>Y(()=>import(`./ini-sBoK_t0W.js`),[])}),Q({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>Y(()=>import(`./java-BEtHBSE6.js`),[])}),Q({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))}),Q({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>Y(()=>import(`./julia-Bri6UV-V.js`),[])}),Q({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>Y(()=>import(`./kotlin-BOotOW0E.js`),[])}),Q({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>Y(()=>import(`./less-B9JPFI3C.js`),[])}),Q({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>Y(()=>import(`./lexon-CfSJPG6W.js`),[])}),Q({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>Y(()=>import(`./lua-CsQS60Ue.js`),[])}),Q({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>Y(()=>import(`./liquid-Dcyd1pkL.js`),__vite__mapDeps([9,1,2,3,4]))}),Q({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>Y(()=>import(`./m3-D-oSqn_W.js`),[])}),Q({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>Y(()=>import(`./markdown-Cimd5fb3.js`),[])}),Q({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>Y(()=>import(`./mdx-DR7vQeQJ.js`),__vite__mapDeps([10,1,2,3,4]))}),Q({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>Y(()=>import(`./mips-CIPQ_RoX.js`),[])}),Q({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>Y(()=>import(`./msdax-DauUninz.js`),[])}),Q({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>Y(()=>import(`./mysql-SOo6toE5.js`),[])}),Q({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>Y(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),Q({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>Y(()=>import(`./pascal-DrH0SRf2.js`),[])}),Q({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>Y(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),Q({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>Y(()=>import(`./perl-oz_6vUea.js`),[])}),Q({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>Y(()=>import(`./pgsql-DTj74zXo.js`),[])}),Q({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>Y(()=>import(`./php-nr791fC2.js`),[])}),Q({id:`pla`,extensions:[`.pla`],loader:()=>Y(()=>import(`./pla-CopQ2nXW.js`),[])}),Q({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>Y(()=>import(`./postiats-43DmfD33.js`),[])}),Q({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>Y(()=>import(`./powerquery-D3hlyOfw.js`),[])}),Q({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>Y(()=>import(`./powershell-DmHpPYUd.js`),[])}),Q({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>Y(()=>import(`./protobuf-C531GsRP.js`),[])}),Q({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>Y(()=>import(`./pug-Z5eAx3Zn.js`),[])}),Q({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>Y(()=>import(`./python-CiSQgsVi.js`),__vite__mapDeps([11,1,2,3,4]))}),Q({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>Y(()=>import(`./qsharp-DkqhCAOL.js`),[])}),Q({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>Y(()=>import(`./r-BwWrilGY.js`),[])}),Q({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>Y(()=>import(`./razor-WdSU-o-W.js`),__vite__mapDeps([12,1,2,3,4]))}),Q({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>Y(()=>import(`./redis-ClamHrr6.js`),[])}),Q({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>Y(()=>import(`./redshift-DT7zqm-g.js`),[])}),Q({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>Y(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),Q({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>Y(()=>import(`./ruby-DezsRK8O.js`),[])}),Q({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>Y(()=>import(`./rust-DdL9SqIa.js`),[])}),Q({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>Y(()=>import(`./sb-CcwsVR0C.js`),[])}),Q({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>Y(()=>import(`./scala-DHpiXF5c.js`),[])}),Q({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>Y(()=>import(`./scheme-BeGwcela.js`),[])}),Q({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>Y(()=>import(`./scss-gp-XZpBa.js`),[])}),Q({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>Y(()=>import(`./shell-CC2rA5mh.js`),[])}),Q({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>Y(()=>import(`./solidity-BEEn4gHE.js`),[])}),Q({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>Y(()=>import(`./sophia-CRfGWb83.js`),[])}),Q({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>Y(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),Q({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>Y(()=>import(`./sql-NEE52Syq.js`),[])}),Q({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>Y(()=>import(`./st-DbInun42.js`),[])}),Q({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>Y(()=>import(`./swift-Bxkupp3x.js`),[])}),Q({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>Y(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),Q({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>Y(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),Q({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>Y(()=>import(`./tcl-DISqw1ZD.js`),[])}),Q({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>Y(()=>import(`./twig-De2hgUGE.js`),[])}),Q({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>Y(()=>import(`./typescript-Dy13l_qr.js`),__vite__mapDeps([13,8,1,2,3,4]))}),Q({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>Y(()=>import(`./typespec-B8J7ngcE.js`),[])}),Q({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>Y(()=>import(`./vb-DV3o63ZY.js`),[])}),Q({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>Y(()=>import(`./wgsl-DpFanUEy.js`),[])}),Q({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>Y(()=>import(`./xml-AovvXo6A.js`),__vite__mapDeps([14,1,2,3,4]))}),Q({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>Y(()=>import(`./yaml-EESuZNdc.js`),__vite__mapDeps([15,1,2,3,4]))});var Pp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fp=function(e,t){return function(n,r){t(n,r,e)}},Ip,Lp=new M(`selectionAnchorSet`,!1),Rp=class{static{Ip=this}static{this.ID=`editor.contrib.selectionAnchorController`}static get(e){return e.getContribution(Ip.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Lp.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(J.fromPositions(e,e),{description:`selection-anchor`,stickiness:1,hoverMessage:new ji().appendText(S(849,`Selection Anchor`)),className:`selection-anchor`})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Co(S(850,`Anchor set at {0}:{1}`,e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){let t=this.editor.getPosition();this.editor.setSelection(J.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Rp=Ip=Pp([Fp(1,Ra)],Rp);var zp=class extends G{constructor(){super({id:`editor.action.setSelectionAnchor`,label:R(851,`Set Selection Anchor`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:jr(2089,2080),weight:100}})}async run(e,t){Rp.get(t)?.setSelectionAnchor()}},Bp=class extends G{constructor(){super({id:`editor.action.goToSelectionAnchor`,label:R(852,`Go to Selection Anchor`),precondition:Lp})}async run(e,t){Rp.get(t)?.goToSelectionAnchor()}},Vp=class extends G{constructor(){super({id:`editor.action.selectFromAnchorToCursor`,label:R(853,`Select from Anchor to Cursor`),precondition:Lp,kbOpts:{kbExpr:D.editorTextFocus,primary:jr(2089,2089),weight:100}})}async run(e,t){Rp.get(t)?.selectFromAnchorToCursor()}},Hp=class extends G{constructor(){super({id:`editor.action.cancelSelectionAnchor`,label:R(854,`Cancel Selection Anchor`),precondition:Lp,kbOpts:{kbExpr:D.editorTextFocus,primary:9,weight:100}})}async run(e,t){Rp.get(t)?.cancelSelectionAnchor()}};Ls(Rp.ID,Rp,4),B(zp),B(Bp),B(Vp),B(Hp);var Up=k(`editorOverviewRuler.bracketMatchForeground`,`#A0A0A0`,S(855,`Overview ruler marker color for matching brackets.`)),Wp=class extends G{constructor(){super({id:`editor.action.jumpToBracket`,label:R(857,`Go to Bracket`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:3165,weight:100}})}run(e,t){Jp.get(t)?.jumpToBracket()}},Gp=class extends G{constructor(){super({id:`editor.action.selectToBracket`,label:R(858,`Select to Bracket`),precondition:void 0,metadata:{description:R(859,`Select the text inside and including the brackets or curly braces`),args:[{name:`args`,schema:{type:`object`,properties:{selectBrackets:{type:`boolean`,default:!0}}}}]}})}run(e,t,n){let r=!0;n&&n.selectBrackets===!1&&(r=!1),Jp.get(t)?.selectToBracket(r)}},Kp=class extends G{constructor(){super({id:`editor.action.removeBrackets`,label:R(860,`Remove Brackets`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){Jp.get(t)?.removeBrackets(this.id)}},qp=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},Jp=class e extends K{static{this.ID=`editor.contrib.bracketMatchingController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Lr(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{this._matchBrackets!==`never`&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{let n=t.getStartPosition(),r=e.bracketPairs.matchBracket(n),i=null;if(r)r[0].containsPosition(n)&&!r[1].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{let t=e.bracketPairs.findEnclosingBrackets(n);if(t)i=t[1].getStartPosition();else{let t=e.bracketPairs.findNextBracket(n);t&&t.range&&(i=t.range.getStartPosition())}}return i?new J(i.lineNumber,i.column,i.lineNumber,i.column):new J(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{let i=r.getStartPosition(),a=t.bracketPairs.matchBracket(i);if(!a&&(a=t.bracketPairs.findEnclosingBrackets(i),!a)){let e=t.bracketPairs.findNextBracket(i);e&&e.range&&(a=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let o=null,s=null;if(a){a.sort(w.compareRangesUsingStarts);let[t,n]=a;if(o=e?t.getStartPosition():t.getEndPosition(),s=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(i)){let e=o;o=s,s=e}}o&&s&&n.push(new J(o.lineNumber,o.column,s.lineNumber,s.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=F.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`,overviewRuler:{color:oo(Up),position:ta.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=F.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(j.compare);let s=[],c=0,l=0,u=i.length;for(let t=0,r=a.length;t<r;t++){let r=a[t];for(;l<u&&i[l].position.isBefore(r);)l++;if(l<u&&i[l].position.equals(r))s[c++]=i[l];else{let t=n.bracketPairs.matchBracket(r,20),i=e._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!t&&this._matchBrackets===`always`&&(t=n.bracketPairs.findEnclosingBrackets(r,20),i=e._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),s[c++]=new qp(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};Ls(Jp.ID,Jp,1),B(Gp),B(Wp),B(Kp),Dn.appendMenuItem(O.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:S(856,`Go to &&Bracket`)},order:2}),La((e,t)=>{let n=e.getColor(Gf);n&&t.addRule(`.monaco-editor .bracket-match-inline { color: ${n} !important; }`)}),B(class extends G{constructor(){super({id:`editor.action.transposeLetters`,label:R(863,`Transpose Letters`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],i=t.getSelections();for(let e of i){if(!e.isEmpty())continue;let t=e.startLineNumber,i=e.startColumn,a=n.getLineMaxColumn(t);if(t===1&&(i===1||i===2&&a===2))continue;let o=i===a?e.getPosition():$u.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),s=$u.leftPosition(n,o),c=$u.leftPosition(n,s),l=n.getValueInRange(w.fromPositions(c,s)),u=n.getValueInRange(w.fromPositions(s,o)),d=w.fromPositions(c,o);r.push(new Qc(d,u+l))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}});var Yp=class e{static{this.sep=`.`}static{this.None=new e(`@@none@@`)}static{this.Empty=new e(``)}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(t){return this.equals(t)||this.value===``||t.value.startsWith(this.value+e.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...t){return new e((this.value?[this.value,...t]:t).join(e.sep))}},Xp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zp=function(e,t){return function(n,r){t(n,r,e)}},Qp=F.register({description:`inline-progress-widget`,stickiness:1,showIfCollapsed:!0,after:{content:`\xA0`,inlineClassName:`inline-editor-progress-decoration`,inlineClassNameAffectsLetterSpacing:!0,widthInEm:1}}),$p=class e extends K{static{this.baseId=`editor.widget.inlineProgressWidget`}constructor(e,t,n,r,i){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=N(`.inline-progress-widget`),this.domNode.role=`button`,this.domNode.title=e;let t=N(`span.icon`);this.domNode.append(t),t.classList.add(...H.asClassNameArray(A.loading),`codicon-modifier-spin`);let n=()=>{let e=this.editor.getOption(75);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(61)||e.hasChanged(75))&&n()})),this._register(L(this.domNode,jl.CLICK,e=>{this.delegate.cancel()}))}getId(){return e.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},em=class extends K{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new fc),this._currentWidget=this._register(new fc),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,n,r,i){let a=this._operationIdPool++;this._currentOperation=a,this.clear(),this._showPromise.value=Ka(()=>{let n=w.fromPositions(e);this._currentDecorations.set([{range:n,options:Qp}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance($p,this.id,this._editor,n,t,r))},i??this._showDelay);try{return await n}finally{this._currentOperation===a&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};em=Xp([Zp(2,W)],em);var tm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nm=function(e,t){return function(n,r){t(n,r,e)}},rm,im=class{static{rm=this}static{this.ID=`editor.contrib.messageController`}static{this.MESSAGE_VISIBLE=new M(`messageVisible`,!1,S(1353,`Whether the editor is currently showing an inline message`))}static get(e){return e.getContribution(rm.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new fc,this._messageListeners=new I,this._mouseOverMessage=!1,this._editor=e,this._visible=rm.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){if(Co(Rr(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),Rr(e)){let n=this._messageListeners.add(Cl(e,{actionHandler:(e,t)=>{this.closeMessage(),fn(this._openerService,e,t.isTrusted)}}));this._messageWidget.value=new om(this._editor,t,n.element)}else this._messageWidget.value=new om(this._editor,t,e);this._messageListeners.add(gu.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&bn(hf(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(L(this._messageWidget.value.getDomNode(),jl.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(L(this._messageWidget.value.getDomNode(),jl.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let n;this._messageListeners.add(this._editor.onMouseMove(e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new w(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(om.fadeOut(this._messageWidget.value))}};im=rm=tm([nm(1,Ra),nm(2,$t)],im);var am=id.bindToContribution(im.get);U(new am({id:`leaveEditorMessage`,precondition:im.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));var om=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener(`animationend`,t)},n=setTimeout(t,110);return e.getDomNode().addEventListener(`animationend`,t),e.getDomNode().classList.add(`fadeOut`),{dispose:t}}constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement(`div`),this._domNode.classList.add(`monaco-editor-overlaymessage`),this._domNode.style.marginLeft=`-6px`;let i=document.createElement(`div`);i.classList.add(`anchor`,`top`),this._domNode.appendChild(i);let a=document.createElement(`div`);typeof r==`string`?(a.classList.add(`message`),a.textContent=r):(r.classList.add(`message`),a.appendChild(r)),this._domNode.appendChild(a);let o=document.createElement(`div`);o.classList.add(`anchor`,`below`),this._domNode.appendChild(o),this._editor.addContentWidget(this),this._domNode.classList.add(`fadeIn`)}dispose(){this._editor.removeContentWidget(this)}getId(){return`messageoverlay`}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle(`below`,e===2)}};Ls(im.ID,im,4);var sm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cm=function(e,t){return function(n,r){t(n,r,e)}},lm=class{constructor(e){this.copyMimeTypes=[],this.kind=e,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(e,t,n,r,i){let a=await this.getEdit(n,i);if(a)return{edits:[{insertText:a.insertText,title:a.title,kind:a.kind,handledMimeType:a.handledMimeType,yieldTo:a.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,n,r){let i=await this.getEdit(n,r);if(i)return{edits:[{insertText:i.insertText,title:i.title,kind:i.kind,handledMimeType:i.handledMimeType,yieldTo:i.yieldTo}],dispose(){}}}},um=class e extends lm{static{this.id=`text`}constructor(){super(Yp.Empty.append(`text`,`plain`)),this.id=e.id,this.dropMimeTypes=[ko.text],this.pasteMimeTypes=[ko.text]}async getEdit(e,t){let n=e.get(ko.text);if(!n||e.has(ko.uriList))return;let r=await n.asString();return{handledMimeType:ko.text,title:S(980,`Insert Plain Text`),insertText:r,kind:this.kind}}},dm=class extends lm{constructor(){super(Yp.Empty.append(`uri`,`path`,`absolute`)),this.dropMimeTypes=[ko.uriList],this.pasteMimeTypes=[ko.uriList]}async getEdit(e,t){let n=await mm(e);if(!n.length||t.isCancellationRequested)return;let r=0,i=n.map(({uri:e,originalText:t})=>e.scheme===ul.file?e.fsPath:(r++,t)).join(` `),a;return a=r>0?n.length>1?S(981,`Insert Uris`):S(982,`Insert Uri`):n.length>1?S(983,`Insert Paths`):S(984,`Insert Path`),{handledMimeType:ko.uriList,insertText:i,title:a,kind:this.kind}}},fm=class extends lm{constructor(e){super(Yp.Empty.append(`uri`,`path`,`relative`)),this._workspaceContextService=e,this.dropMimeTypes=[ko.uriList],this.pasteMimeTypes=[ko.uriList]}async getEdit(e,t){let n=await mm(e);if(!n.length||t.isCancellationRequested)return;let r=_u(n.map(({uri:e})=>{let t=this._workspaceContextService.getWorkspaceFolder(e);return t?hn(t.uri,e):void 0}));if(r.length)return{handledMimeType:ko.uriList,insertText:r.join(` `),title:n.length>1?S(985,`Insert Relative Paths`):S(986,`Insert Relative Path`),kind:this.kind}}};fm=sm([cm(0,Cu)],fm);var pm=class{constructor(){this.kind=new Yp(`html`),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=[`text/html`],this._yieldTo=[{mimeType:ko.text}]}async provideDocumentPasteEdits(e,t,n,r,i){if(r.triggerKind!==ga.PasteAs&&!r.only?.contains(this.kind))return;let a=await n.get(`text/html`)?.asString();if(a&&!i.isCancellationRequested)return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:S(987,`Insert HTML`),kind:this.kind}]}}};async function mm(e){let t=e.get(ko.uriList);if(!t)return[];let n=await t.asString(),r=[];for(let e of Kl.parse(n))try{r.push({uri:Qn.parse(e),originalText:e})}catch{}return r}var hm={scheme:`*`,hasAccessToAllModels:!0},gm=class extends K{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(hm,new um)),this._register(e.documentDropEditProvider.register(hm,new dm)),this._register(e.documentDropEditProvider.register(hm,new fm(t)))}};gm=sm([cm(0,z),cm(1,Cu)],gm);var _m=class extends K{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(hm,new um)),this._register(e.documentPasteEditProvider.register(hm,new dm)),this._register(e.documentPasteEditProvider.register(hm,new fm(t))),this._register(e.documentPasteEditProvider.register(hm,new pm))}};_m=sm([cm(0,z),cm(1,Cu)],_m);var vm=class e{constructor(){this.value=``,this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let t=this.pos,n=0,r=this.value.charCodeAt(t),i;if(i=e._table[r],typeof i==`number`)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(r)){i=8;do n+=1,r=this.value.charCodeAt(t+n);while(e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}if(e.isVariableCharacter(r)){i=9;do r=this.value.charCodeAt(t+ ++n);while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}i=10;do n+=1,r=this.value.charCodeAt(t+n);while(!isNaN(r)&&e._table[r]===void 0&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}},ym=class{constructor(){this._children=[]}appendChild(e){return e instanceof bm&&this._children[this._children.length-1]instanceof bm?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.slice(0);i.splice(r,1,...t),n._children=i,(function e(t,n){for(let r of t)r.parent=n,e(r.children,r)})(t,n)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Om)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),``)}len(){return 0}},bm=class e extends ym{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}},xm=class extends ym{},Sm=class e extends xm{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:+(e.index>t.index)}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Cm?this._children[0]:void 0}clone(){let t=new e(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}},Cm=class e extends ym{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof bm&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let t=new e;return this.options.forEach(t.appendChild,t),t}},wm=class e extends ym{constructor(){super(...arguments),this.regexp=RegExp(``)}resolve(e){let t=this,n=!1,r=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(e=>e instanceof Tm&&!!e.elseValue)&&(r=this._replace([])),r}_replace(e){let t=``;for(let n of this._children)if(n instanceof Tm){let r=e[n.index]||``;r=n.resolve(r),t+=r}else t+=n.toString();return t}toString(){return``}clone(){let t=new e;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?`i`:``)+(this.regexp.global?`g`:``)),t._children=this.children.map(e=>e.clone()),t}},Tm=class e extends ym{constructor(e,t,n,r){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=r}resolve(e){return this.shorthandName===`upcase`?e?e.toLocaleUpperCase():``:this.shorthandName===`downcase`?e?e.toLocaleLowerCase():``:this.shorthandName===`capitalize`?e?e[0].toLocaleUpperCase()+e.substr(1):``:this.shorthandName===`pascalcase`?e?this._toPascalCase(e):``:this.shorthandName===`camelcase`?e?this._toCamelCase(e):``:this.shorthandName===`kebabcase`?e?this._toKebabCase(e):``:this.shorthandName===`snakecase`?e?this._toSnakeCase(e):``:e&&typeof this.ifValue==`string`?this.ifValue:!e&&typeof this.elseValue==`string`?this.elseValue:e||``}_toKebabCase(e){if(!e.match(/[\p{L}0-9]+/gu))return e;if(!e.match(/[\p{L}0-9]/u))return e.trim().toLowerCase().replace(/^_+|_+$/g,``).replace(/[\s_]+/g,`-`);let t=e.trim().replace(/^_+|_+$/g,``),n=t.match(/\p{Lu}{2,}(?=\p{Lu}\p{Ll}+[0-9]*|[\s_-]|$)|\p{Lu}?\p{Ll}+[0-9]*|\p{Lu}(?=\p{Lu}\p{Ll})|\p{Lu}(?=[\s_-]|$)|[0-9]+/gu);return n?n.map(e=>e.toLowerCase()).join(`-`):t.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.toLowerCase()).join(`-`)}_toPascalCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toCamelCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map((e,t)=>t===0?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toSnakeCase(e){return e.replace(/(\p{Ll})(\p{Lu})/gu,`$1_$2`).replace(/[\s\-]+/g,`_`).toLowerCase()}clone(){return new e(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Em=class e extends xm{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||``)),t!==void 0&&(this._children=[new bm(t)],!0)}clone(){let t=new e(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}};function Dm(e,t){let n=[...e];for(;n.length>0;){let e=n.shift();if(!t(e))break;n.unshift(...e.children)}}var Om=class e extends ym{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(n){return n instanceof Sm&&(e.push(n),t=!t||t.index<n.index?n:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){let{all:e}=this.placeholderInfo;return e}offset(e){let t=0,n=!1;return this.walk(r=>r===e?(n=!0,!1):(t+=r.len(),!0)),n?t:-1}fullLen(e){let t=0;return Dm([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:n}=e;for(;n;)n instanceof Sm&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Em&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let t=new e;return t._children=this.children.map(e=>e.clone()),t}walk(e){Dm(this.children,e)}},km=class{constructor(){this._scanner=new vm,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,`\\$&`)}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,n){let r=new Om;return this.parseFragment(e,r),this.ensureFinalTabstop(r,n??!1,t??!1),r}parseFragment(e,t){let n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let r=new Map,i=[];t.walk(e=>(e instanceof Sm&&(e.isFinalTabstop?r.set(0,void 0):!r.has(e.index)&&e.children.length>0?r.set(e.index,e.children):i.push(e)),!0));let a=(e,n)=>{let i=r.get(e.index);if(!i)return;let o=new Sm(e.index);o.transform=e.transform;for(let e of i){let t=e.clone();o.appendChild(t),t instanceof Sm&&r.has(t.index)&&!n.has(t.index)&&(n.add(t.index),a(t,n),n.delete(t.index))}t.replace(e,[o])},o=new Set;for(let e of i)a(e,o);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find(e=>e.index===0)||e.appendChild(new Sm(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){let t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){let e=this._scanner.next();if(e.type!==0&&e.type!==4&&e.type!==5)return!1}this._token=this._scanner.next()}let n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,`$1`);return this._token=this._scanner.next(),n}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new bm(t)),!0):!1}_parseTabstopOrVariableName(e){let t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Sm(Number(t)):new Em(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);let r=new Sm(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new bm("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(r.index>0&&this._accept(7)){let t=new Cm;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(r.appendChild(t),this._accept(4)))return e.appendChild(r),!0}return this._backTo(n),!1}}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseChoiceElement(e){let t=this._token,n=[];for(;this._token.type!==2&&this._token.type!==7;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return n.length===0?(this._backTo(t),!1):(e.appendChild(new bm(n.join(``))),!0)}_parseComplexVariable(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);let r=new Em(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new bm("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseTransform(e){let t=new wm,n=``,r=``;for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,n+=e;else if(this._token.type!==14)n+=this._accept(void 0,!0);else return!1}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new bm(e));else if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);)if(this._token.type!==14)r+=this._accept(void 0,!0);else return!1;try{t.regexp=new RegExp(n,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);let r=this._accept(8,!0);if(!r)return this._backTo(t),!1;if(!n||this._accept(4))return e.appendChild(new Tm(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){let n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Tm(Number(r),n)),!0)}if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new Tm(Number(r),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new Tm(Number(r),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let n=this._until(4);if(n)return e.appendChild(new Tm(Number(r),void 0,t,n)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new Tm(Number(r),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14&&(e.appendChild(new bm(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}};function Am(e,t,n){return(typeof n.insertText==`string`?n.insertText===``:n.insertText.snippet===``)?{edits:n.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new il(e,{range:t,text:typeof n.insertText==`string`?km.escape(n.insertText)+`$0`:n.insertText.snippet,insertAsSnippet:!0})),...n.additionalEdit?.edits??[]]}}function jm(e){function t(e,t){return`mimeType`in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}let n=new Map;for(let r of e)for(let i of r.yieldTo??[])for(let a of e)if(a!==r&&t(i,a)){let e=n.get(r);e||(e=[],n.set(r,e)),e.push(a)}if(!n.size)return Array.from(e);let r=new Set,i=[];function a(e){if(!e.length)return[];let t=e[0];if(i.includes(t))return console.warn(`Yield to cycle detected`,t),e;if(r.has(t))return a(e.slice(1));let o=[],s=n.get(t);return s&&(i.push(t),o=a(s),i.pop()),r.add(t),[...o,t,...a(e.slice(1))]}return a(Array.from(e))}function Mm(e,t){return t&&(e.stack||e.stacktrace)?S(33,`{0}: {1}`,Pm(e),Nm(e.stack)||Nm(e.stacktrace)):Pm(e)}function Nm(e){return Array.isArray(e)?e.join(`
|
|
3
|
-
`):e}function Pm(e){return e.code===`ERR_UNC_HOST_NOT_ALLOWED`?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof e.code==`string`&&typeof e.errno==`number`&&typeof e.syscall==`string`?S(34,`A system error occurred ({0})`,e.message):e.message||S(35,`An unknown error occurred. Please consult the log for more details.`)}function Fm(e=null,t=!1){if(!e)return S(36,`An unknown error occurred. Please consult the log for more details.`);if(Array.isArray(e)){let n=_u(e),r=Fm(n[0],t);return n.length>1?S(37,`{0} ({1} errors in total)`,r,n.length):r}if(Gn(e))return e;if(e.detail){let n=e.detail;if(n.error)return Mm(n.error,t);if(n.exception)return Mm(n.exception,t)}return e.stack?Mm(e,t):e.message?e.message:S(38,`An unknown error occurred. Please consult the log for more details.`)}var Im=class extends K{constructor(e){super(),this._onChange=this._register(new P),this.onChange=this._onChange.event,this._checked=!!e.checked,this._title=e.title??e.ariaLabel,this.domNode=N(`button.monaco-switch`),this.domNode.type=`button`,this.domNode.setAttribute(`role`,`switch`),q(this.domNode,N(`.monaco-switch-thumb`)),this._register(ft().setupDelayedHover(this.domNode,()=>({content:this._title,style:1}))),this.setAriaLabel(e.ariaLabel,e.title),this.disabled=!!e.disabled,this._applyState(),this._register(L(this.domNode,jl.CLICK,e=>{As.stop(e,!0),this.domNode.disabled||(this._checked=!this._checked,this._applyState(),this._onChange.fire(this._checked))}))}get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,this._applyState())}get disabled(){return this.domNode.disabled}set disabled(e){this.domNode.disabled=e}setAriaLabel(e,t=e){this.domNode.setAttribute(`aria-label`,e),this._title=t}_applyState(){this.domNode.setAttribute(`aria-checked`,String(this._checked)),this.domNode.classList.toggle(`checked`,this._checked)}},Lm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Rm=function(e,t){return function(n,r){t(n,r,e)}},zm=class extends K{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute(`aria-disabled`,`false`),this.el.tabIndex=0,this.el.style.pointerEvents=`auto`,this.el.style.opacity=`1`,this.el.style.cursor=`pointer`,this._enabled=!1):(this.el.setAttribute(`aria-disabled`,`true`),this.el.tabIndex=-1,this.el.style.pointerEvents=`none`,this.el.style.opacity=`0.4`,this.el.style.cursor=`default`,this._enabled=!0),this._enabled=e}constructor(e,t,n={},r,i){super(),this._link=t,this._hoverService=r,this._enabled=!0,this.el=q(e,N(`a.monaco-link`,{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=n.hoverDelegate??rc(`mouse`),this.setTooltip(t.title),this.el.setAttribute(`role`,`button`);let a=this._register(new _f(this.el,`click`)),o=this._register(new _f(this.el,`keydown`)),s=gu.chain(o.event,e=>e.map(e=>new hr(e)).filter(e=>e.keyCode===3||e.keyCode===10)),c=this._register(new _f(this.el,xa.Tap)).event;this._register(un.addTarget(this.el));let l=gu.any(a.event,s,c);this._register(l(e=>{this.enabled&&(As.stop(e,!0),n?.opener?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};zm=Lm([Rm(3,lu),Rm(4,$t)],zm);var Bm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vm=function(e,t){return function(n,r){t(n,r,e)}},Hm,Um=`acceptSelectedCodeAction`,Wm=`previewSelectedCodeAction`,Gm=new Set([Um,Wm,`toggleSectionCodeAction`]),Km=`actionList.remove`,qm=class{get templateId(){return`header`}renderTemplate(e){e.classList.add(`group-header`);let t=document.createElement(`span`);return e.append(t),{container:e,text:t}}renderElement(e,t,n){n.text.textContent=e.group?.title??e.label??``}disposeTemplate(e){}},Jm=class{get templateId(){return`separator`}renderTemplate(e){e.classList.add(`separator`);let t=document.createElement(`span`);return e.append(t),{container:e,text:t}}renderElement(e,t,n){n.container.classList.toggle(`has-label`,!!e.label),n.text.textContent=e.label??``}disposeTemplate(e){}};function Ym(e){return!!e.submenuActions?.length&&!e.hover?.content||!!e.hover?.expandable}function Xm(e){return Ym(e)&&e.hover?.showIndicator!==!1}var Zm=class{get templateId(){return`action`}constructor(e,t,n,r,i,a,o,s,c,l,u,d){this._supportsPreview=e,this._onRemoveItem=t,this._onShowSubmenu=n,this._reservesSubmenuSpace=r,this._groupTitleByIndex=i,this._linkHandler=a,this._hideDefaultKeybindingTooltip=o,this._stopToolbarPointerPropagation=s,this._registerStandaloneToggle=c,this._registerToolbar=l,this._keybindingService=u,this._openerService=d}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement(`div`);t.className=`icon`,e.append(t);let n=document.createElement(`span`);n.className=`title`,e.append(n);let r=document.createElement(`span`);r.className=`action-item-badge`,r.ariaHidden=`true`,e.append(r);let i=document.createElement(`span`);i.className=`description`,e.append(i);let a=document.createElement(`span`);a.className=`group-title`,e.append(a);let o=document.createElement(`span`);o.className=`detail`,e.append(o);let s=new Lf(e,ys),c=document.createElement(`div`);c.className=`action-list-item-toolbar`,e.append(c);let l=document.createElement(`div`);l.className=`action-list-submenu-indicator`,e.append(l);let u=document.createElement(`div`);return u.className=`action-list-item-inline-toggle`,e.append(u),{container:e,icon:t,text:n,detail:o,badge:r,description:i,groupTitle:a,keybinding:s,toolbar:c,submenuIndicator:l,inlineToggleContainer:u,elementDisposables:new I}}renderElement(e,t,n){if(n.elementDisposables.clear(),e.iconClasses?.length?(n.icon.className=[`icon`,...e.iconClasses].join(` `),n.icon.style.color=``):e.group?.icon?(n.icon.className=H.asClassName(e.group.icon),n.icon.style.color=e.group.icon.color?yn(e.group.icon.color.id):``):(n.icon.className=H.asClassName(A.lightBulb),n.icon.style.color=`var(--vscode-editorLightBulb-foreground)`),!e.item&&!e.standaloneToggle||!e.label)return;if(Mn(!e.hideIcon,n.icon),e.isSectionToggle){let t=e.group?.icon===A.chevronDown;n.container.setAttribute(`aria-expanded`,String(t))}else n.container.removeAttribute(`aria-expanded`);n.previousClassNames?.length&&n.container.classList.remove(...n.previousClassNames);let r=e.className?.split(/\s+/).filter(e=>e.length>0)??[];if(n.container.classList.toggle(`action-list-custom`,r.length>0),r.length&&n.container.classList.add(...r),n.previousClassNames=r,n.text.textContent=rh(e.label),e.badge?(n.badge.textContent=e.badge,n.badge.style.display=``):(n.badge.textContent=``,n.badge.style.display=`none`),e.keybinding)n.description.textContent=e.keybinding.getLabel(),n.description.style.display=`inline`,n.description.style.letterSpacing=`0.5px`;else if(e.description){if(Df(n.description),typeof e.description==`string`)n.description.textContent=rh(e.description);else{let t=Cl(e.description,{actionHandler:t=>{let n=Qn.parse(t);this._linkHandler?this._linkHandler(n,e):this._openerService.open(n,{allowCommands:!0})}});n.elementDisposables.add(t),n.description.appendChild(t.element)}n.description.style.display=`inline`}else n.description.textContent=``,n.description.style.display=`none`;let i=this._groupTitleByIndex.get(t);i?(n.groupTitle.textContent=i,n.groupTitle.style.display=``):(n.groupTitle.textContent=``,n.groupTitle.style.display=`none`),e.detail?(n.detail.textContent=rh(e.detail),n.detail.style.display=``):(n.detail.textContent=``,n.detail.style.display=`none`),n.container.classList.toggle(`has-detail`,!!e.detail),Df(n.inlineToggleContainer);let a=e.standaloneToggle??e.inlineToggle;if(a){let t=document.createElement(`span`);t.className=`action-list-item-inline-toggle-label`,t.textContent=rh(a.label),e.standaloneToggle||n.inlineToggleContainer.append(t),n.inlineToggleContainer.style.display=``,n.container.classList.toggle(`has-inline-toggle`,!!e.inlineToggle),n.container.classList.toggle(`has-standalone-toggle`,!!e.standaloneToggle);let r=n.elementDisposables.add(new Im({ariaLabel:a.title??a.label,checked:a.checked,disabled:a.disabled}));n.inlineToggleContainer.append(r.domNode),e.standaloneToggle&&n.elementDisposables.add(this._registerStandaloneToggle(e,r)),n.elementDisposables.add(r.onChange(()=>a.onChange(r.checked))),n.elementDisposables.add(L(n.inlineToggleContainer,jl.CLICK,e=>e.stopPropagation()))}else n.inlineToggleContainer.style.display=`none`,n.container.classList.remove(`has-inline-toggle`),n.container.classList.remove(`has-standalone-toggle`);let o=this._keybindingService.lookupKeybinding(Um)?.getLabel(),s=this._keybindingService.lookupKeybinding(Wm)?.getLabel();n.container.classList.toggle(`option-disabled`,!!e.disabled),e.hover===void 0?e.tooltip?n.container.title=e.tooltip:e.disabled?n.container.title=e.label:e.standaloneToggle||this._hideDefaultKeybindingTooltip?n.container.title=``:o&&s?this._supportsPreview&&e.canPreview?n.container.title=S(1731,`{0} to Apply, {1} to Preview`,o,s):n.container.title=S(1732,`{0} to Apply`,o):n.container.title=``:n.container.title=``,Df(n.toolbar);let c=[...e.toolbarActions??[]];if(e.onRemove&&c.push(Uo({id:Km,label:S(1733,`Remove`),class:H.asClassName(A.close),run:async()=>{await e.onRemove(),this._onRemoveItem?.(e)}})),n.container.classList.toggle(`has-toolbar`,c.length>0),c.length>0){let t=new Hr(n.toolbar);n.elementDisposables.add(t),this._stopToolbarPointerPropagation?(n.elementDisposables.add(Du(n.toolbar,e=>{e.preventDefault(),e.stopPropagation()})),n.elementDisposables.add(L(n.toolbar,jl.CLICK,e=>e.stopPropagation())),n.elementDisposables.add(L(n.toolbar,xa.Tap,e=>e.stopPropagation()))):n.elementDisposables.add(Du(n.toolbar,e=>e.preventDefault())),t.push(c,{icon:!0,label:!1}),n.elementDisposables.add(this._registerToolbar(e,t))}Xm(e)?(n.submenuIndicator.className=`action-list-submenu-indicator has-submenu `+H.asClassName(A.chevronRight),n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=``,n.elementDisposables.add(L(n.submenuIndicator,jl.CLICK,t=>{t.stopPropagation(),this._onShowSubmenu?.(e)}))):this._reservesSubmenuSpace()?(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=`hidden`):(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=`none`),Ym(e)?(n.container.setAttribute(`aria-haspopup`,e.hover?.expandable?`dialog`:`menu`),n.container.setAttribute(`aria-expanded`,`false`)):(n.container.removeAttribute(`aria-haspopup`),e.isSectionToggle||n.container.removeAttribute(`aria-expanded`))}disposeTemplate(e){e.keybinding.dispose(),e.elementDisposables.dispose()}};Zm=Bm([Vm(10,Ta),Vm(11,$t)],Zm);var Qm=class extends UIEvent{constructor(){super(`acceptSelectedAction`)}},$m=class extends UIEvent{constructor(){super(`previewSelectedAction`)}};function eh(e){if(e.kind===`action`)return e.label}var th=Hm=class extends K{constructor(e,t,n,r,i,a,o,s,c){if(super(),this._supportsPreview=t,this._delegate=r,this._options=a,this._keybindingService=o,this._openerService=s,this._instantiationService=c,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new No),this._submenuDisposables=this._register(new I),this._submenuHoverActionElements=[],this._itemMoveAnimation=this._register(new fc),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 fc),this._groupTitleByIndex=new Map,this._standaloneToggles=new Map,this._itemToolbars=new Map,this._onDidRequestLayout=this._register(new P),this.onDidRequestLayout=this._onDidRequestLayout.event,this._visibleMenuItems=n,this._initialFocusItemId=this._options?.initialFocusItemId,this._filterText=this._options?.showFilter?this._options.initialFilterValue??``:``,this.domNode=document.createElement(`div`),this.domNode.classList.add(`actionList`),this._options?.inlineDescription&&this.domNode.classList.add(`inline-description`),this._options?.className){let e=this._options.className.split(/\s+/).filter(e=>e.length>0);e.length>0&&this.domNode.classList.add(...e)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement(`div`),this._submenuContainer.className=`action-list-submenu-panel action-widget`,this._submenuContainer.style.display=`none`,this._options?.persistentHover&&(this._submenuContainer.style.boxSizing=`border-box`),this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(L(this._submenuContainer,`keydown`,e=>{if((e.key===`Enter`||e.key===` `)&&this._currentSubmenuElement?.hover?.tabThroughPanel){let t=Xi(e.target)?e.target:void 0;if(t&&this._currentSubmenuElement.hover.getTabbableElements?.().includes(t)){e.stopPropagation();return}}if(e.key!==`ArrowLeft`&&e.key!==`Escape`)return;As.stop(e,!0);let t=e.key===`Escape`&&this._currentSubmenuWidget!==void 0;this._hideSubmenu(),t?this.hide():(this._setKeyboardNavigation(!0),this._list.domFocus())})),this._register(L(this._submenuContainer,`mouseenter`,()=>{this._cancelSubmenuHide(),this._usesSubmenuPointerIntent()&&(this._cancelSubmenuShow(),this._resetSubmenuPointer())})),this._register(L(this._submenuContainer,`mouseleave`,()=>{this._scheduleSubmenuHide()})),this._register(L(this.domNode,jl.MOUSE_LEAVE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._usesSubmenuPointerIntent()&&this._register(L(this.domNode,jl.MOUSE_MOVE,e=>{Xi(e.target)&&this._expandedTrigger?.contains(e.target)&&this._updateSubmenuPointer(e)})),this._register(Yo(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let e of this._options.collapsedByDefault)this._collapsedSections.add(e);let l={getHeight:e=>this._getItemHeight(e),getTemplateId:e=>e.kind},u=()=>{let e=this._options?.reserveSubmenuSpace??!0;return e===`always`||e&&this._allMenuItems.some(Xm)};this._list=this._register(new Wo(e,this.domNode,l,[new Zm(this._supportsPreview,e=>this._removeItem(e),e=>this._showSubmenuForItem(e),u,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._options?.stopToolbarPointerPropagation??!1,(e,t)=>(this._standaloneToggles.set(e,t),Yo(()=>{this._standaloneToggles.get(e)===t&&this._standaloneToggles.delete(e)})),(e,t)=>(this._itemToolbars.set(e,t),this._updateToolbarFocusability(),Yo(()=>{this._itemToolbars.get(e)===t&&this._itemToolbars.delete(e)})),this._keybindingService,this._openerService),new qm,new Jm],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter&&!this._options?.onType,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:eh},accessibilityProvider:{getAriaLabel:e=>{if(e.kind===`action`){let t=e.label?rh(e?.label):``;if(e.badge&&(t=t+`, `+rh(e.badge)),e.detail&&(t=t+`, `+rh(e.detail)),e.ariaDescription)t=t+`, `+rh(e.ariaDescription);else if(e.description){let n=typeof e.description==`string`?e.description:e.description.value;t=t+`, `+rh(n)}if(e.hover?.content&&!e.ariaDescription&&!e.description){let n=e.hover.content,r=typeof n==`string`?n:Rr(n)?n.value:Xi(n)?n.textContent??void 0:void 0;r&&(!e.detail||rh(e.detail)!==rh(r))&&(t=t+`, `+rh(r))}e.group?.title&&(t=t+`, `+e.group.title);let n=e.standaloneToggle??e.inlineToggle;return n&&(t=e.standaloneToggle?n.checked?S(1734,`{0}, on`,n.label):S(1735,`{0}, off`,n.label):t+`, `+(n.checked?S(1736,`{0}, on`,n.label):S(1737,`{0}, off`,n.label))),e.disabled&&(t=S(1738,`{0}, Disabled Reason: {1}`,t,e.disabled)),e.submenuActions?.length&&(t=S(1739,`{0}, use right arrow to access options`,t)),t}return null},getWidgetAriaLabel:()=>S(1740,`Action Widget`),getSetSize:()=>this._visibleMenuItems.filter(e=>e.kind===`action`).length,getPosInSet:(e,t)=>Math.max(this._visibleMenuItems.slice(0,t+1).filter(e=>e.kind===`action`).length,1),getRole:e=>{switch(e.kind){case`action`:return`option`;case`separator`:return`separator`;default:return`separator`}},getWidgetRole:()=>`listbox`,...i}})),this._list.style(Ar),this._register(this._list.onKeyDown(()=>this._setKeyboardNavigation(!0))),this._register(L(this._list.getHTMLElement(),jl.MOUSE_MOVE,e=>{(e.movementX!==0||e.movementY!==0)&&this._setKeyboardNavigation(!1)})),this._register(this._list.onMouseClick(e=>this.onListClick(e))),this._register(this._list.onMouseOver(e=>{this._ignoreInitialHover||this.onListHover(e)}));let d=this._register(new fc);if(d.value=this._list.onMouseMove(e=>{(e.browserEvent.movementX!==0||e.browserEvent.movementY!==0)&&(d.clear(),this._ignoreInitialHover=!1,this.onListHover(e))}),this._register(this._list.onMouseDown(()=>{d.clear(),this._ignoreInitialHover=!1,this._setKeyboardNavigation(!1)})),this._register(this._list.onDidChangeFocus(()=>{this._updateToolbarFocusability(),this.onFocus()})),this._register(this._list.onDidChangeSelection(e=>this.onListSelection(e))),this._register(this._list.onDidScroll(()=>{this._isMeasuringWidth||this._layoutSubmenu?.()})),this._allMenuItems=[...n],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement(`div`),this._filterContainer.className=`action-list-filter`;let e=q(this._filterContainer,N(`.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??S(1741,`Search...`),this._filterInput.value=this._filterText,this._filterInput.setAttribute(`aria-label`,S(1742,`Filter items`)),e.appendChild(this._filterInput),this._register(L(this._filterInput,jl.KEY_DOWN,e=>{if(this._setKeyboardNavigation(!0),e.isComposing||!this._filterInput?.closest(`.action-list-submenu-panel`))return;let t=this._keybindingService.softDispatch(new hr(e),this._filterInput);(t.kind===2&&t.commandId!==null&&Gm.has(t.commandId)||e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)&&e.stopPropagation()})),this._register(L(this._filterInput,jl.MOUSE_DOWN,()=>this._setKeyboardNavigation(!1))),this._options.tabThroughItemActions&&this._register(L(this._filterInput,`keydown`,e=>this._handleTabThroughPanelKeyDown(e),!0)),this._options.filterAsCombobox){let e=this._list.getHTMLElement();e.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`,e.id),this._register(this._list.onDidChangeFocus(()=>this._updateFilterActiveDescendant())),this._register(L(this._filterInput,`focus`,()=>this._updateFilterActiveDescendant())),this._register(L(this._filterInput,`blur`,()=>this._updateFilterActiveDescendant())),this._register(Jo(this._filterInput,`keydown`,e=>{if(this._imeSessionInProgress||e.browserEvent.isComposing||e.keyCode===114||e.keyCode===15||e.keyCode===17||e.keyCode===14||e.keyCode===13){e.stopPropagation();return}let t=e.keyCode===16||e.keyCode===18;(t||e.keyCode===3)&&(e.ctrlKey||e.metaKey||e.altKey||e.shiftKey?t&&e.stopPropagation():(As.stop(e,!0),e.keyCode===16?this.focusPrevious():e.keyCode===18?this.focusNext():this.acceptSelected()))}))}let t=this._options?.filterActions??[];if(t.length>0){let n=q(e,N(`.action-list-filter-actions`));this._register(new Hr(n)).push(t,{icon:!0,label:!1})}let n=()=>{let e=this._filterInput.value;this._imeSessionInProgress||e===this._filterText&&!this._filterCts.value?.token.isCancellationRequested||(this._filterText=e,this._applyOrUpdateFilter())};this._register(L(this._filterInput,`compositionstart`,()=>{this._imeSessionInProgress=!0,this._filterCts.value?.cancel()})),this._register(L(this._filterInput,`compositionend`,()=>{this._imeSessionInProgress=!1,n()})),this._register(L(this._filterInput,`input`,n))}if(this._options?.secondaryHeading){let t=q(e,N(`.action-list-filter-label`));t.textContent=this._options.secondaryHeading}}if(this._options?.footerText&&(this._footerContainer=document.createElement(`div`),this._footerContainer.className=`action-list-footer`,this._footerContainer.textContent=this._options.footerText),this._options?.headerText){if(this._headerContainer=document.createElement(`div`),this._headerContainer.className=`action-list-header`,this._options.headerIcon){let e=q(this._headerContainer,N(`span.action-list-header-icon`));e.classList.add(...H.asClassNameArray(this._options.headerIcon)),e.setAttribute(`aria-hidden`,`true`)}let e=q(this._headerContainer,N(`span.action-list-header-text`));if(e.textContent=this._options.headerText,this._register(L(this._headerContainer,jl.MOUSE_ENTER,()=>{this._options?.persistentHover?(this._cancelSubmenuShow(),this._resetSubmenuPointer()):this._hideSubmenu()})),this._options.headerLink){let{label:t,uri:n}=this._options.headerLink;e.textContent+=` `,this._register(this._instantiationService.createInstance(zm,e,{label:t,href:n.toString(!0)},{}))}if(this._options.headerDismiss){let e=this._options.headerDismiss,t=q(this._headerContainer,N(`span.action-list-header-dismiss`));t.appendChild(N(H.asCSSSelector(A.close))),t.tabIndex=0,t.setAttribute(`role`,`button`),t.setAttribute(`aria-label`,S(1743,`Dismiss`));let n=()=>{e(),this.focus(),this._headerContainer?.remove(),this._headerContainer=void 0,this._onDidRequestLayout.fire()};this._register(Ul(t,()=>n())),this._register(L(t,jl.KEY_DOWN,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}}this._applyFilter(),this._list.length&&this._focusCheckedOrFirst(),this._register(L(this.domNode,`keydown`,e=>{if(e.key===`ArrowRight`&&!e.isComposing){let t=this._list.getFocus();if(t.length>0){let n=this._list.element(t[0]);if(n?.submenuActions?.length||n?.hover?.expandable){As.stop(e,!0);let r=this._getRowElement(t[0]);r&&(this._showSubmenuForElement(n,r),n.hover?.tabThroughPanel?this._focusFirstTabThroughPanelControl(n,r):this._currentSubmenuWidget?this._currentSubmenuWidget.focus():this._submenuContainer.focus())}}}})),this._register(L(this.domNode,`keydown`,e=>this._handleTabThroughPanelKeyDown(e),!0)),(this._filterInput||this._options?.onType)&&this._register(L(this.domNode,`keydown`,e=>{let t=e.target;(this._options?.onType||this._options?.filterAsCombobox)&&Xi(t)&&(Pr(t)||t.closest(`button, a, [contenteditable="true"], .action-list-submenu-panel`))||this._filterInput&&Di(this._filterInput)||e.isComposing||e.key.length!==1||e.key===` `||e.ctrlKey||e.metaKey||e.altKey||(e.preventDefault(),e.stopPropagation(),this._filterInput?(this._filterInput.focus(),this._filterInput.value=e.key,this._filterText=e.key,this._applyOrUpdateFilter()):this._options?.onType?.(e.key))}))}_toggleSection(e){let t=this._collapsedSections.has(e);if(t)this._collapsedSections.delete(e);else{this._collapsedSections.add(e);let t=this.getFocusedElement();if(t?.section===e&&!t.isSectionToggle){let t=this._visibleMenuItems.findIndex(t=>t.section===e&&t.isSectionToggle);t>=0&&this._list.setFocus([t])}}this._options?.onDidToggleSection?.(e,this._collapsedSections.has(e)),this._applyFilter(),t&&this._revealFirstItemOfSection(e)}_revealFirstItemOfSection(e){for(let t=0;t<this._list.length;t++){let n=this._list.element(t);if(n.section===e&&!n.isSectionToggle){this._list.reveal(t);return}}}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let e=this._filterText;this._filterCts.value?.cancel();let t=new No;this._filterCts.value=t,this._delegate.onFilter(e,t.token).then(e=>{t.token.isCancellationRequested||(this._allMenuItems=[...e],this._applyFilter(!0))}).catch(()=>{}).finally(()=>{this._filterCts.value===t&&!t.token.isCancellationRequested&&this._filterCts.clear()})}_applyFilter(e=!1,t=!0,n){this._itemMoveAnimation.clear();let r=e?``:this._filterText.toLowerCase(),i=!e&&r.length>0,a=[],o=this._list.getFocus(),s;if(o.length>0&&(s=this._list.element(o[0])),i){let e,t=[],n=!1,i=()=>{e&&n&&a.push(e),a.push(...t),e=void 0,t=[],n=!1},o=e=>{let t=(e.label??``).toLowerCase(),n=typeof e.description==`string`?e.description:e.description?.value??``;return t.includes(r)||n.toLowerCase().includes(r)};for(let r of this._allMenuItems)if(r.kind!==`header`){if(r.kind===`separator`)i(),e=r.label?r:void 0;else if(r.showAlways)t.push(r);else if(!r.isSectionToggle){if(r.filterItems){let e=o(r)?r.filterItems:r.filterItems.filter(o);e.length>0&&(n=!0,t.push(...e))}else o(r)&&(n=!0,t.push(r))}}i()}else for(let e of this._allMenuItems)if(e.kind===`header`)a.push(e);else if(e.kind===`separator`){if(e.section&&this._collapsedSections.has(e.section))continue;a.push(e)}else if(e.isSectionToggle&&e.section){let t=this._collapsedSections.has(e.section);a.push({...e,group:{...e.group,icon:t?A.chevronRight:A.chevronDown}})}else e.section&&this._collapsedSections.has(e.section)||a.push(e);let c=[],l=!1;for(let e=0;e<a.length;e++)c[e]=l,a[e].kind===`action`&&(l=!0);let u=[],d=!1;for(let e=a.length-1;e>=0;e--)a[e].kind===`action`?d=!0:a[e].kind===`separator`&&(u[e]=d,d=!1);for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.kind!==`separator`)continue;let n=u[e],r=!t.label&&!c[e];(!n||r)&&a.splice(e,1)}this._options?.showGroupTitleOnFirstItem&&this._recomputeGroupTitles(a);let f=this._filterInput&&Di(this._filterInput),p=er(this._list.getHTMLElement());if(this._visibleMenuItems=a,this._list.splice(0,this._list.length,a),t&&this._onDidRequestLayout.fire(),f)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut&&(s||n)){let e=n??s?.item?.id;if(e){for(let t=0;t<this._list.length;t++)if(this._list.element(t).item?.id===e){this._list.setFocus([t]),this._list.reveal(t);break}p&&(this._focusCheckedOrFirst(),this._list.domFocus())}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}get closeAnimation(){return this._options?.closeAnimation}focusCondition(e){return!e.disabled&&e.kind===`action`}_setKeyboardNavigation(e){if(this._keyboardNavigation===e)return;this._keyboardNavigation=e;let t=this._list.getHTMLElement();t.classList.toggle(`keyboard-navigation`,e===!0),t.classList.toggle(`mouse-navigation`,e===!1)}_updateFilterActiveDescendant(){if(!this._filterInput)return;let[e]=this._list.getFocus();Di(this._filterInput)&&e!==void 0?this._filterInput.setAttribute(`aria-activedescendant`,this._list.getElementID(e)):this._filterInput.removeAttribute(`aria-activedescendant`)}focus(){this._setKeyboardNavigation(void 0),this._filterInput&&this._options?.focusFilterOnOpen?(this._filterInput.focus(),this._focusCheckedOrFirst()):(this._list.domFocus(),this._focusCheckedOrFirst(),this._showTabThroughPanelForFocusedItem())}clearFocus(){this._list.setFocus([])}getFocusedElement(){let e=this._list.getFocus();if(e.length>0)return this._list.element(e[0])}_updateToolbarFocusability(){if(!this._options?.tabThroughItemActions)return;let[e]=this._list.getFocus(),t=e!==void 0&&e<this._list.length?this._list.element(e):void 0;for(let[e,n]of this._itemToolbars)n.setFocusable(e===t)}_focusCheckedOrFirst(){let e=this._suppressHover;this._suppressHover=!0;try{let e=this._initialFocusItemId;if(this._initialFocusItemId=void 0,e)for(let t=0;t<this._list.length;t++){let n=this._list.element(t);if(this.focusCondition(n)&&n.item?.id===e){this._list.setFocus([t]),this._list.reveal(t);return}}let[t]=this._list.getFocus();if(t!==void 0){let e=this._list.element(t);if(e&&this.focusCondition(e)){this._list.reveal(t);return}}for(let e=0;e<this._list.length;e++){let t=this._list.element(e);if(this.focusCondition(t)&&t.item?.checked){this._list.setFocus([e]),this._list.reveal(e);return}}this._list.focusFirst(void 0,this.focusCondition);let n=this._list.getFocus();n.length>0&&this._list.reveal(n[0])}finally{this._suppressHover=e,this._options?.filterAsCombobox&&this._updateFilterActiveDescendant()}}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){return this._filterInput&&this._filterText?(this._filterInput.value=``,this._filterText=``,this._applyOrUpdateFilter(),!0):!1}get hasDynamicHeight(){return this._options?.showFilter?!0:this._allMenuItems.some(e=>e.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(e){return this._itemHeightWith(e,this._options)}_itemHeightWith(e,t){switch(e.kind){case`header`:return this._headerLineHeight;case`separator`:return e.label?this._actionLineHeight:this._separatorLineHeight;default:return e.inlineToggle?t?.inlineToggleItemHeight??70:e.detail?t?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){return this.computeHeightForItems(this._allMenuItems,void 0,this._options)}computeHeightForItems(e,t,n){let r=0;for(let i of e)t&&i.section&&!i.isSectionToggle&&t.has(i.section)||(r+=this._itemHeightWith(i,n));return r}computeListHeight(){let e=this._list.length,t=0;for(let n=0;n<e;n++){let e=this._list.element(n);t+=this._getItemHeight(e)}return t}layout(e,t){this._hasLaidOut=!0,this._list.layout(e,t),this.domNode.style.height=`${e}px`;let n=this.domNode.parentElement;n&&this._filterContainer?.parentElement===n&&n.insertBefore(this._filterContainer,this.domNode),this._layoutSubmenu?.()}computeMaxWidth(e){let t=this._list.length,n=Math.max(e,this._options?.minWidth??0),r=this._options?.maxWidth??1/0,i=Math.max(r,n),a=e=>Math.min(Math.max(e,n),i),o=this._allMenuItems.length;if(o>=50)return a(380);if(o>t){let e=[];for(let n=0;n<t;n++)e.push(this._list.element(n));let n=this._list.renderHeight,r=this._list.scrollTop,i=this._list.getFocus(),o=this._isMeasuringWidth;this._isMeasuringWidth=!0;try{let e=[...this._allMenuItems];this._list.splice(0,t,e);let n=0;for(let t of e)n+=this._getItemHeight(t);this._list.layout(n);let r=this._measureItemWidths(e);return a(Math.max(...r))}finally{try{this._list.splice(0,this._list.length,e),this._list.layout(n),this._list.scrollTop=r;let t=this._suppressHover;this._suppressHover=!0;try{this._list.setFocus(i)}finally{this._suppressHover=t}}finally{this._isMeasuringWidth=o}}}let s=[];for(let e=0;e<t;e++)s.push(this._list.element(e));let c=this._measureItemWidths(s);return a(Math.max(...c))}focusPrevious(){if(this._setKeyboardNavigation(!0),this._focusFilterResult(`previous`))return;if(this._filterInput&&Di(this._filterInput)){this._list.domFocus();let e=this._list.getFocus();if(e.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let t=this._list.getFocus();t.length>0&&t[0]>=e[0]?this._filterInput.focus():t.length>0&&this._list.reveal(t[0])}else{this._list.focusLast(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]>e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}focusNext(){if(this._setKeyboardNavigation(!0),this._focusFilterResult(`next`))return;if(this._filterInput&&Di(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}else{this._list.focusFirst(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]<e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}_focusFilterResult(e){if(!this._options?.filterAsCombobox||!this._filterInput||!Di(this._filterInput))return!1;e===`previous`?this._list.focusPrevious(1,!0,void 0,this.focusCondition):this._list.focusNext(1,!0,void 0,this.focusCondition);let[t]=this._list.getFocus();return t!==void 0&&this._list.reveal(t),!0}collapseFocusedSection(){let e=this._getFocusedSection();e&&!this._collapsedSections.has(e)&&this._toggleSection(e)}expandFocusedSection(){let e=this._getFocusedSection();e&&this._collapsedSections.has(e)&&this._toggleSection(e)}toggleFocusedSection(){let e=this._list.getFocus();if(e.length===0)return!1;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section?(this._toggleSection(t.section),!0):!1}_getFocusedSection(){let e=this._list.getFocus();if(e.length===0)return;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section,t.section}acceptSelected(e){let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!this.focusCondition(r))return;let i=e?new $m:new Qm;this._list.setSelection([n],i)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];if(t.standaloneToggle){this._list.setSelection([]);let e=this._standaloneToggles.get(t);e&&!e.disabled&&(e.checked=!e.checked,t.standaloneToggle.onChange(e.checked));return}if(t.isSectionToggle&&t.section){this._list.setSelection([]);let e=t.section;queueMicrotask(()=>{this._toggleSection(e)});return}let n=zf(e.browserEvent)||e.browserEvent?.type===xa.Tap;if(n){let t=e.browserEvent.target;if(Xi(t)&&(t.closest(`.action-list-item-toolbar`)||t.closest(`.action-list-submenu-indicator`)||t.closest(`.action-list-item-inline-toggle`))){this._list.setSelection([]);return}}if(t.openSubmenuOnClick&&t.submenuActions?.length&&(n||e.browserEvent instanceof Qm))this._list.setSelection([]),this._showSubmenuForItem(t),n||this._currentSubmenuWidget?.focus();else if(t.item&&this.focusCondition(t)){let n=e.browserEvent instanceof $m;this._delegate.onSelect(t.item,n&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);this._delegate.onFocus?.(n.item),this._suppressHover||(this._options?.persistentHover&&(this._cancelSubmenuShow(),this._resetSubmenuPointer(),this._list.reveal(t)),this._showHoverForElement(n,t))}_removeItem(e){let t=this._allMenuItems.indexOf(e);t>=0&&(this._allMenuItems.splice(t,1),this._applyFilter())}_recomputeGroupTitles(e){this._groupTitleByIndex.clear();let t=new Set;for(let n=0;n<e.length;n++){let r=e[n];r.kind===`action`&&r.group?.title&&!t.has(r.group.title)&&(t.add(r.group.title),this._groupTitleByIndex.set(n,r.group.title))}}_measureItemWidths(e){let t=[];for(let n=0;n<e.length;n++){let r=this._getRowElement(n);r&&(r.style.width=`auto`,t.push({element:r,item:e[n]}))}try{return t.map(({element:e,item:t})=>e.getBoundingClientRect().width+(t.detail?0:this._computeToolbarWidth(t)))}finally{for(let{element:e}of t)e.style.width=``}}_computeToolbarWidth(e){let t=e.toolbarActions?.length??0;return e.onRemove&&t++,t===0?0:t*22+6+10}_getRowElement(e){return e<0?null:this.domNode.ownerDocument.getElementById(this._list.getElementID(e))}_showTabThroughPanelForFocusedItem(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);if(!n.hover?.tabThroughPanel)return;let r=this._getRowElement(t);r&&this._showSubmenuForElement(n,r)}_getTabThroughPanelControls(e,t){return e.hover?.tabThroughPanel&&this._currentSubmenuElement!==e&&this._showSubmenuForElement(e,t),{toolbar:this._itemToolbars.get(e),panelControls:[...e.hover?.getTabbableElements?.()??[],...this._submenuHoverActionElements]}}_focusFirstTabThroughPanelControl(e,t){let n=this._getTabThroughPanelControls(e,t);n.toolbar?.length()?n.toolbar.focus(0):(n.panelControls[0]??this._list.getHTMLElement()).focus()}_handleTabThroughPanelKeyDown(e){if(e.isComposing)return;let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!r.hover?.tabThroughPanel&&!this._options?.tabThroughItemActions)return;let i=this._getRowElement(n),a=hf();if(!i||!Xi(a))return;let o=this._getTabThroughPanelControls(r,i),s=o.toolbar?.isFocused()??!1,c=this._submenuContainer.contains(a);if((e.key===`ArrowUp`||e.key===`ArrowDown`)&&(s||c)){As.stop(e,!0),this._list.domFocus(),e.key===`ArrowUp`?this.focusPrevious():this.focusNext();return}if(e.key!==`Tab`||e.ctrlKey||e.metaKey||e.altKey)return;let l;if(e.shiftKey){if(c){let t=o.panelControls.indexOf(a);if(t>0)l=o.panelControls[t-1];else if(o.toolbar?.length()){As.stop(e,!0),o.toolbar.focus(o.toolbar.length()-1);return}else l=this._list.getHTMLElement()}else if(o.toolbar?.isFocused()){let t=o.toolbar.viewItems.findIndex((e,t)=>o.toolbar?.isFocused(t));if(t>0){As.stop(e,!0),o.toolbar.focus(t-1);return}l=this._options?.filterAsCombobox?this._filterInput:this._list.getHTMLElement()}}else if(a===this._list.getHTMLElement()||a===this._filterInput){if(o.toolbar?.length()){As.stop(e,!0),o.toolbar.focus(0);return}l=o.panelControls[0]}else if(o.toolbar?.isFocused()){let t=o.toolbar.viewItems.findIndex((e,t)=>o.toolbar?.isFocused(t));if(t+1<o.toolbar.length()){As.stop(e,!0),o.toolbar.focus(t+1);return}l=o.panelControls[0]}else{let e=o.panelControls.indexOf(a);e>=0&&(l=o.panelControls[e+1]??this._list.getHTMLElement())}l&&(As.stop(e,!0),l.focus())}_showHoverForElement(e,t){if(this._currentSubmenuElement===e)return;let n=!!e.hover?.content,r=!!e.submenuActions?.length;if(n||r){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}else this._options?.persistentHover||this._hideSubmenu()}_showSubmenuForItem(e){let t=this._list.indexOf(e);if(t>=0){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}}_showSubmenuForElement(e,t){if(!this._hoverEnabled||this._currentSubmenuElement===e)return;this._currentSubmenuElement=e,this._clearSubmenuContainer(),t.setAttribute(`aria-expanded`,`true`),this._expandedTrigger=t,this._submenuPanelClassName=e.hover?.panelClassName,this._submenuPanelClassName&&this._submenuContainer.classList.add(this._submenuPanelClassName);let n=e.hover?.preserveVerticalPosition,r=!!e.submenuActions?.length,i=n?N(`.action-list-submenu-content`):this._submenuContainer,a=n?N(`.action-list-submenu-viewport`,void 0,i):void 0,o=a&&!r?this._submenuDisposables.add(new la(a,{horizontal:2,vertical:1,consumeMouseWheelIfScrollbarIsNeeded:!0,useShadows:!1})):void 0;o&&a?(this._submenuContainer.appendChild(o.getDomNode()),this._submenuDisposables.add(L(a,jl.SCROLL,()=>o.scanDomNode())),this._submenuDisposables.add(L(this._submenuContainer,jl.KEY_DOWN,e=>{let t=new hr(e);(t.equals(12)||t.equals(11))&&(As.stop(e,!0),o.setScrollPosition({scrollTop:o.getScrollPosition().scrollTop+(t.equals(12)?1:-1)*a.clientHeight}))}))):a&&this._submenuContainer.appendChild(a);let s,c=typeof e.hover?.content==`function`?e.hover.content():e.hover?.content;if(c){if(Xi(c))s=c,e.hover?.disposable&&this._register(e.hover.disposable);else{let t=typeof c==`string`?new ji(c):c,n=this._options?.linkHandler,r=Cl(t,{actionHandler:t=>{let r=Qn.parse(t);n?n(r,e):this._openerService.open(r,{allowCommands:!0})}});this._submenuDisposables.add(r),s=r.element}s.classList.add(`action-list-submenu-hover-header`),s.classList.toggle(`content-owns-padding`,e.hover?.contentOwnsPadding===!0),e.submenuActions?.length&&s.classList.add(`has-submenu`),i.appendChild(s)}if(e.hover?.actions?.length){let t=N(`.hover-row.status-bar`),n=q(t,N(`.actions`));for(let t of e.hover.actions){let e=this._keybindingService.lookupKeybinding(t.commandId),r=this._submenuDisposables.add(go.render(n,{label:t.label,commandId:t.commandId,run:e=>t.run(e),iconClass:t.iconClass},e?.getLabel()??null));this._submenuHoverActionElements.push(r.actionContainer)}this._submenuContainer.appendChild(t)}this._submenuContainer.style.display=``,this._submenuContainer.style.position=`absolute`,e.hover?.expandable?(this._submenuContainer.setAttribute(`role`,`dialog`),e.label&&this._submenuContainer.setAttribute(`aria-label`,e.label)):this._submenuContainer.removeAttribute(`role`);let l=cl(this.domNode),u=0,d=s?s.offsetWidth:0,f;if(r){let t=this._createSubmenuItems(e.submenuActions),n=this._submenuDisposables.add(this._instantiationService.createInstance(Hm,`submenu`,!1,t,{onHide:()=>{},onSelect:e=>{e.run();let t=this._currentSubmenuElement?.item;this._hideSubmenu(),t&&this._delegate.onSelect(t),this.hide()}},void 0,e.submenuOptions));f=n,n.headerContainer&&i.appendChild(n.headerContainer),n.filterContainer&&i.appendChild(n.filterContainer),i.appendChild(n.domNode),n.footerContainer&&i.appendChild(n.footerContainer),this._currentSubmenuWidget=n,n.clearFocus(),u=n.computeListHeight(),n.layout(u);let r=n.computeMaxWidth(0);d=Math.max(d,r,n.footerContainer?.offsetWidth??0),n.layout(u,d),n.domNode.style.width=`${d}px`,e.submenuOptions&&(this._submenuContainer.style.boxSizing=`border-box`,this._submenuContainer.style.width=`${d+10}px`),this._submenuDisposables.add(n.onDidRequestLayout(()=>{u=n.computeListHeight(),n.layout(u,d),this._layoutSubmenu?.()})),this._submenuDisposables.add(L(i,`keydown`,e=>{e.key===`Escape`?(As.stop(e,!0),this._hideSubmenu(),this.hide()):e.key===`ArrowLeft`?(As.stop(e,!0),this._hideSubmenu(),this._setKeyboardNavigation(!0),this._list.domFocus()):e.key===`Enter`||e.key===` `?(As.stop(e,!0),n.acceptSelected()):e.key===`ArrowDown`?(As.stop(e,!0),n.focusNext()):e.key===`ArrowUp`&&(As.stop(e,!0),n.focusPrevious())}))}let p,m,h=()=>{let e=this._currentSubmenuElement;if(!e||this._layoutSubmenu!==h)return;let t=this._list.indexOf(e),r=t>=0?this._getRowElement(t):null,s=this._options?.persistentHover;if(!r&&(!s||!this._allMenuItems.includes(e))){this._hideSubmenu();return}this._expandedTrigger!==r&&(this._expandedTrigger?.hasAttribute(`aria-expanded`)&&this._expandedTrigger.setAttribute(`aria-expanded`,`false`),this._expandedTrigger=r??void 0),r?.setAttribute(`aria-expanded`,`true`);let c=this.domNode.getBoundingClientRect(),g=s||e.hover?.alignToParent,_=g?this.domNode.parentElement?.closest(`.action-widget`)?.getBoundingClientRect()??c:c,v=r?.getBoundingClientRect()??_,y=g||n?cn(this.domNode):1;s&&(this._submenuContainer.style.width=`${_.width/y}px`);let b=this._submenuContainer.getBoundingClientRect(),ee=g?b.width:d+10,x=l.innerWidth-(g?_.right:v.right),te=_.left,ne=g?0:4;if(!g){let e=l.innerWidth-8;ee>e&&(ee=Math.max(e,0)),this._submenuContainer.style.boxSizing=`border-box`,this._submenuContainer.style.width=`${ee}px`}let re=x>=ee||x>=te;s&&this._submenuSide&&(this._submenuSide===`right`?x:te)>=ee&&(re=this._submenuSide===`right`),s&&(this._submenuSide=re?`right`:`left`);let ie=re?_.right-c.left+ne:_.left-c.left-ee-ne,ae=c.left+ie;ae<4?ie+=4-ae:ae+ee>l.innerWidth-4&&(ie-=ae+ee-(l.innerWidth-4)),this._submenuContainer.style.left=`${ie/y}px`;let oe=b.height;n&&(p??=oe/y);let se=p===void 0?oe:p*y,ce=m===void 0?r&&e.hover?.alignToAnchorTop?v.top-c.top:r?v.top-c.top+(v.height-se)/2:b.top-c.top:m*y;if(n&&e.hover?.alignToAnchorTop&&a&&f){let e=b.height-a.getBoundingClientRect().height+((f.headerContainer?.offsetHeight??0)+(f.filterContainer?.offsetHeight??0)+(f.footerContainer?.offsetHeight??0)+u)*y;ce=Math.min(ce,l.innerHeight-c.top-e-8)}let le=c.top+ce+se;if(le>l.innerHeight&&!(n&&e.hover?.alignToAnchorTop)&&(ce-=le-l.innerHeight+8),c.top+ce<0&&(ce=-c.top),n&&(m??=ce/y),a&&o){let e=(b.height-o.getDomNode().getBoundingClientRect().height)/y,t=Math.max(0,(l.innerHeight-c.top-ce-8)/y-e);a.style.height=`${Math.min(i.getBoundingClientRect().height/y,t)}px`,o.scanDomNode()}else if(a&&f){let e=(b.height-a.getBoundingClientRect().height)/y,t=Math.max(0,(l.innerHeight-c.top-ce-8)/y-e),n=(f.headerContainer?.offsetHeight??0)+(f.filterContainer?.offsetHeight??0)+(f.footerContainer?.offsetHeight??0),r=u===0?0:Math.max(this._actionLineHeight,Math.min(u,t-n));f.layout(r,d),a.style.height=`${n+r}px`}this._submenuContainer.style.top=`${ce/y}px`};if(this._layoutSubmenu=h,h(),(this._options?.persistentHover||e.hover?.alignToParent||e.hover?.tabThroughPanel||n)&&this._currentSubmenuElement===e){if(!f){let e=this._submenuDisposables.add(new fc),t=this._submenuDisposables.add(new ld(`ActionListWidget.hoverPanel`,()=>{e.value||=eo(l,()=>{e.clear(),h()})},l));this._submenuDisposables.add(t.observe(n?i:this._submenuContainer,{box:`border-box`}))}(this._options?.persistentHover||n)&&this._submenuDisposables.add(L(l,jl.RESIZE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer(),h()}))}}_createSubmenuItems(e){let t=[],n=e.filter(e=>e instanceof yo).filter(e=>e.actions.length>0);for(let e=0;e<n.length;e++){let r=n[e];r.label&&t.push({kind:`header`,group:{title:r.label},label:r.label});for(let e of r.actions){let n=e,r=n.icon??H.fromId(e.checked?A.check.id:A.blank.id),i=n.hoverContent,a=i?new ji().appendText(`${e.label}\n`).appendMarkdown(i):void 0;t.push({item:e,kind:`action`,label:e.label,description:e.tooltip&&e.tooltip!==e.label?e.tooltip:void 0,group:{title:``,icon:r},hideIcon:!1,hover:a?{content:a}:void 0,tooltip:e.tooltip||e.label,onRemove:n.onRemove,submenuActions:e instanceof yo?[new yo(e.id,``,e.actions)]:void 0})}e<n.length-1&&t.push({kind:`separator`,label:``})}for(let n of e)if(!(n instanceof yo)){let e=n,r=e.icon??H.fromId(n.checked?A.check.id:A.blank.id),i=e.hoverContent,a=i?new ji().appendText(`${n.label}\n`).appendMarkdown(i):void 0;t.push({item:n,kind:`action`,label:n.label,description:n.tooltip&&n.tooltip!==n.label?n.tooltip:void 0,group:{title:``,icon:r},hideIcon:!1,hover:a?{content:a}:void 0,tooltip:n.tooltip||n.label,onRemove:e.onRemove})}return t}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._currentSubmenuElement=void 0,this._submenuSide=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display=`none`}_clearSubmenuContainer(){this._layoutSubmenu=void 0,this._resetSubmenuPointer(),this._submenuContainer.contains(hf())&&this._list.domFocus(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._submenuHoverActionElements=[],this._submenuPanelClassName&&=(this._submenuContainer.classList.remove(this._submenuPanelClassName),void 0),this._submenuContainer.removeAttribute(`role`),this._submenuContainer.removeAttribute(`aria-label`),this._expandedTrigger?.hasAttribute(`aria-expanded`)&&this._expandedTrigger.setAttribute(`aria-expanded`,`false`),this._expandedTrigger=void 0,Df(this._submenuContainer),this._submenuContainer.style.width=``,this._submenuContainer.style.boxSizing=this._options?.persistentHover?`border-box`:``}_scheduleSubmenuHide(){this._cancelSubmenuHide(),this._options?.persistentHover||(this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300))}_cancelSubmenuHide(){this._submenuHideTimeout!==void 0&&(clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0)}_scheduleSubmenuShow(e,t){this._cancelSubmenuShow();let n=this._options?.submenuHoverDelay??500;if(this._usesSubmenuPointerIntent()){n=0;let e=this._submenuPointerOrigin;if(e&&t.clientX!==e.x&&this._currentSubmenuElement&&new Hs(e.x,e.y,this._submenuContainer).contains(t.clientX,t.clientY)){let e=Date.now();this._submenuPointerGraceDeadline??=e+200,n=Math.max(0,this._submenuPointerGraceDeadline-e)}}let r=()=>{this._submenuShowTimeout=void 0;let n=this._list.indexOf(e),r=n>=0?this._getRowElement(n):null;r&&(this._showSubmenuForElement(e,r),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(t))};n===0?r():this._submenuShowTimeout=setTimeout(r,n)}_updateSubmenuPointer(e){this._submenuPointerOrigin={x:e.clientX,y:e.clientY},this._submenuPointerGraceDeadline=void 0}_resetSubmenuPointer(){this._submenuPointerOrigin=void 0,this._submenuPointerGraceDeadline=void 0}_usesSubmenuPointerIntent(){return this._options?.persistentHover===!0||this._options?.submenuPointerIntent===!0}_cancelSubmenuShow(){this._submenuShowTimeout!==void 0&&(clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0)}async onListHover(e){this._setKeyboardNavigation(!1);let t=e.element;if(t&&t.item&&this.focusCondition(t)){let n=typeof e.index==`number`?[e.index]:[],r=hf();if(this._options?.tabThroughItemActions&&this._list.getFocus()[0]!==e.index&&Xi(r)&&this.domNode.contains(r)&&r.closest(`.action-list-item-toolbar`)&&this._list.domFocus(),Xi(e.browserEvent.target)&&e.browserEvent.target.closest(`.action-list-item-toolbar`)!==null){t.submenuActions?.length||this._cancelSubmenuShow(),this._list.setFocus(this._options?.tabThroughItemActions?n:[]);return}let i=!!(t.submenuActions?.length||t.hover?.content),a=this._suppressHover;(i||this._usesSubmenuPointerIntent())&&(this._suppressHover=!0);try{this._list.setFocus(n)}finally{this._suppressHover=a}if(i){this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(e.browserEvent)):(this._usesSubmenuPointerIntent()||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent));return}if(this._currentSubmenuElement===t?this._cancelSubmenuHide():(this._cancelSubmenuShow(),this._options?.submenuPointerIntent?this._scheduleSubmenuHide():this._options?.persistentHover||this._hideSubmenu()),this._delegate.onHover&&!t.disabled&&t.kind===`action`&&this._currentSubmenuElement!==t){let n=await this._delegate.onHover(t.item,this.cts.token),r=n?n.canPreview:void 0;r!==t.canPreview&&(t.canPreview=r,typeof e.index==`number`&&(this._list.splice(e.index,1,[t]),this._list.setFocus([e.index])))}}else t&&t.hover?.content&&typeof e.index==`number`&&(this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._options?.persistentHover||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent)))}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};th=Hm=Bm([Vm(6,Ta),Vm(7,$t),Vm(8,W)],th);var nh=class extends K{get domNode(){return this._widget.domNode}get filterContainer(){return this._widget.filterContainer}get footerContainer(){return this._widget.footerContainer}get headerContainer(){return this._widget.headerContainer}get filterInput(){return this._widget.filterInput}get closeAnimation(){return this._widget.closeAnimation}get widgetClassName(){return this._widgetClassName}get anchorPosition(){if(this._preferredAnchorPosition!==void 0)return this._preferredAnchorPosition;if(this._showAbove!==void 0)return+!!this._showAbove}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._contextViewService=s,this._layoutService=c,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=o,this._preferredAnchorPosition=a?.anchorPosition,this._useFullHeight=a?.useFullHeight??!1,this._widgetClassName=a?.widgetClassName,this._widget=this._register(l.createInstance(th,e,t,n,r,i,a)),this._register(this._widget.onDidRequestLayout(()=>{this._hasLaidOut&&(this.layout(this._lastMinWidth),this._contextViewService.layout())}))}focus(){this._widget.focus()}hide(e,t=!0){this._widget.hide(e),t&&this._contextViewService.hideContextView()}clearFilter(){return this._widget.clearFilter()}focusPrevious(){this._widget.focusPrevious()}focusNext(){this._widget.focusNext()}collapseFocusedSection(){this._widget.collapseFocusedSection()}expandFocusedSection(){this._widget.expandFocusedSection()}toggleFocusedSection(){return this._widget.toggleFocusedSection()}acceptSelected(e){this._widget.acceptSelected(e)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let e=this.domNode.parentElement?.closest(`.action-widget`);if(!e)return 0;let t=cl(e).getComputedStyle(e),n=e=>Number.parseFloat(e)||0;return n(t.paddingTop)+n(t.paddingBottom)+n(t.borderTopWidth)+n(t.borderBottomWidth)}computeHeight(){let e=this._fixedContentHeight??this._widget.computeListHeight(),t=this._widget.filterContainer?36:0,n=this._widget.footerContainer?32:0,r=this._widget.headerContainer&&!this._widget.headerContainer.hidden?this._widget.headerContainer.offsetHeight||36:0,i=t+n+r,a=cl(this.domNode),o;if(this.hasDynamicHeight()||this._preferredAnchorPosition!==void 0){let e=a.innerHeight,t=sf(this._anchor),n=t.top-a.pageYOffset,r=e-n-t.height-30,s=n;if(this._showAbove===void 0){let e=this._fixedContentHeight??this._widget.computeFullHeight();this._showAbove=this._preferredAnchorPosition===void 0?i+e>r&&s>r:this._preferredAnchorPosition===1}o=Math.max(0,(this._showAbove?s:r)-this.computeActionWidgetVerticalChromeHeight())}else{let e=this._layoutService.getContainer(a).clientHeight,t=this.domNode.getBoundingClientRect().top;o=t>0?e-t-10:e*.7}let s=this._useFullHeight?a.innerHeight:Math.floor(a.innerHeight*.6),c=this._widget.lineHeight;if(this._preferredAnchorPosition!==void 0){let t=Math.min(o,s),n=Math.min(e+i,Math.max(0,t));return Math.max(0,n-i)}let l=Math.min(Math.max(o,c*3+i),s);return Math.min(e+i,l)-i}layout(e,t){this._hasLaidOut=!0,this._lastMinWidth=e,t!==void 0&&(this._fixedContentHeight=t);let n=this.computeHeight();this._widget.layout(n);let r=this._widget.computeMaxWidth(e);return this._cachedMaxWidth=r,this._widget.layout(n,this._cachedMaxWidth),this._cachedMaxWidth}};nh=Bm([Vm(7,Dd),Vm(8,Vt),Vm(9,W)],nh);function rh(e){return e.replace(/\r\n|\r|\n/g,` `)}var ih=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ah=function(e,t){return function(n,r){t(n,r,e)}};k(`actionBar.toggledBackground`,Qi,S(1744,`Background color for toggled action items in action bar.`));var oh=`--action-widget-close-start-opacity`,sh=`--action-widget-close-start-transform`,ch={Visible:new M(`codeActionMenuVisible`,!1,S(1745,`Whether the action widget list is visible`)),FilterFocused:new M(`codeActionMenuFilterFocused`,!1,S(1746,`Whether the action widget filter input is focused`))},lh=nu(`actionWidgetService`),uh=class extends K{get isVisible(){return ch.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new fc),this._closeAnimation=this._register(new fc)}show(e,t,n,r,i,a,o,s,c){let l=ch.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(nh,e,t,n,r,s,c,i);this._contextViewService.showContextView({getAnchor:()=>i,render:e=>(l.set(!0),this._renderWidget(e,u,o??[],c)),onHide:e=>{l.reset(),this._onWidgetClosed(e)},get anchorPosition(){return u.anchorPosition},focus:()=>u.focus()},a,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}collapseSection(){this._list?.value?.collapseFocusedSection()}expandSection(){this._list?.value?.expandFocusedSection()}toggleSection(){return this._list?.value?.toggleFocusedSection()??!1}clearFilter(){return this._list?.value?.clearFilter()??!1}hide(e){let t=this._list.value,n=this._widgetElement;if(!t||this._closingList===t)return;let r=t.closeAnimation;if(!n||!r||r.duration<=0||!this._hasRequiredAncestorClasses(n,r.requiredAncestorClasses)){this._closingList=t,t.hide(e);return}this._closingList=t;let i=cl(n).getComputedStyle(n);n.style.setProperty(oh,i.opacity),n.style.setProperty(sh,i.transform),n.classList.add(r.className),t.hide(e,!1),this._closeAnimation.value=Ka(()=>{this._list.value===t&&this._contextViewService.hideContextView(e)},r.duration)}clear(){this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement?.style.removeProperty(oh),this._widgetElement?.style.removeProperty(sh),this._widgetElement=void 0,this._list.clear()}_renderWidget(e,t,n,r){let i=document.createElement(`div`);i.classList.add(`action-widget`);let a=t.widgetClassName?.split(/\s+/).filter(Boolean);if(a?.length&&i.classList.add(...a),e.appendChild(i),this._widgetElement=i,this._list.value=t,this._list.value)this._list.value.headerContainer&&i.appendChild(this._list.value.headerContainer),this._list.value.filterContainer&&i.appendChild(this._list.value.filterContainer),i.appendChild(this._list.value.domNode),this._list.value.footerContainer&&i.appendChild(this._list.value.footerContainer);else throw Error(`List has no value`);let o=new I;r?.filterAsCombobox&&o.add(Jo(i,`keydown`,e=>{e.keyCode===9&&!e.browserEvent.isComposing&&(As.stop(e,!0),this.hide(!0))}));let s=this._list.value.headerContainer;s&&o.add(Du(s,e=>e.preventDefault()));let c=0;o.add(Du(i,()=>{c=Date.now()+1e3}));let l=document.createElement(`div`),u=e.appendChild(l);u.classList.add(`context-view-block`),o.add(Du(u,e=>e.stopPropagation()));let d=0;if(n.length){let e=this._createActionBar(`.action-widget-action-bar`,n);e&&(i.appendChild(e.getContainer().parentElement),o.add(e),d=e.getContainer().offsetWidth)}let f=this._list.value?.layout(d);i.style.width=`${f}px`;let p=ch.FilterFocused.bindTo(this._contextKeyService);if(o.add({dispose:()=>p.reset()}),this._list.value?.filterInput){let e=this._list.value.filterInput;o.add(L(e,`focus`,()=>p.set(!0))),o.add(L(e,`blur`,()=>p.set(!1)))}let m=o.add(fr(e)),h=o.add(new fc);return o.add(m.onDidFocus(()=>h.clear())),o.add(m.onDidBlur(()=>{let t=()=>{let n=c-Date.now();if(n>0){h.value=Ka(t,n);return}let r=hf();r&&(e.contains(r)||r.closest(`.action-widget-hover`)||r.closest(`.action-list-submenu-panel`))||this.hide(!0)};h.value=Ka(t,75)})),o}_createActionBar(e,t){if(!t.length)return;let n=N(e),r=new Hr(n);return r.push(t,{icon:!1,label:!0}),r}_hasRequiredAncestorClasses(e,t){if(!t?.length)return!0;for(let n=e;n;n=n.parentElement)if(t.every(e=>n.classList.contains(e)))return!0;return!1}_onWidgetClosed(e){this._closingList===this._list.value?this.clear():(this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement=void 0,this._list.value?.hide(e))}};uh=ih([ah(0,Dd),ah(1,Ra),ah(2,W)],uh),_o(lh,uh,1);var dh=1100;ra(class extends ml{constructor(){super({id:`hideCodeActionWidget`,title:R(1747,`Hide action widget`),precondition:ch.Visible,keybinding:{weight:dh,primary:9,secondary:[1033]}})}run(e){e.get(lh).hide(!0)}}),ra(class extends ml{constructor(){super({id:`clearFilterCodeActionWidget`,title:R(1748,`Clear action widget filter`),precondition:T.and(ch.Visible,ch.FilterFocused),keybinding:{weight:1101,primary:9}})}run(e){let t=e.get(lh);t instanceof uh&&(t.clearFilter()||t.hide(!0))}}),ra(class extends ml{constructor(){super({id:`selectPrevCodeAction`,title:R(1749,`Select previous action`),precondition:ch.Visible,keybinding:{weight:dh,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){let t=e.get(lh);t instanceof uh&&t.focusPrevious()}}),ra(class extends ml{constructor(){super({id:`selectNextCodeAction`,title:R(1750,`Select next action`),precondition:ch.Visible,keybinding:{weight:dh,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){let t=e.get(lh);t instanceof uh&&t.focusNext()}}),ra(class extends ml{constructor(){super({id:`collapseSectionCodeAction`,title:R(1751,`Collapse section`),precondition:T.and(ch.Visible,ch.FilterFocused.negate()),keybinding:{weight:dh,primary:15}})}run(e){let t=e.get(lh);t instanceof uh&&t.collapseSection()}}),ra(class extends ml{constructor(){super({id:`expandSectionCodeAction`,title:R(1752,`Expand section`),precondition:T.and(ch.Visible,ch.FilterFocused.negate()),keybinding:{weight:dh,primary:17}})}run(e){let t=e.get(lh);t instanceof uh&&t.expandSection()}}),ra(class extends ml{constructor(){super({id:`toggleSectionCodeAction`,title:R(1753,`Toggle section`),precondition:T.and(ch.Visible,ch.FilterFocused.negate()),keybinding:{weight:dh,primary:10}})}run(e){let t=e.get(lh);t instanceof uh&&(t.toggleSection()||t.acceptSelected())}}),ra(class extends ml{constructor(){super({id:Um,title:R(1754,`Accept selected action`),precondition:ch.Visible,keybinding:{weight:dh,primary:3,secondary:[2137]}})}run(e){let t=e.get(lh);t instanceof uh&&t.acceptSelected()}}),ra(class extends ml{constructor(){super({id:Wm,title:R(1755,`Preview selected action`),precondition:ch.Visible,keybinding:{weight:dh,primary:2051}})}run(e){let t=e.get(lh);t instanceof uh&&t.acceptSelected(!0)}});var fh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ph=function(e,t){return function(n,r){t(n,r,e)}},mh,hh=class extends K{static{mh=this}static{this.baseId=`editor.widget.postEditWidget`}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=i,this.edits=a,this.onSelectNewEdit=o,this.additionalActions=s,this._keybindingService=l,this._actionWidgetService=u,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(c),this.visibleContext.set(!0),this._register(Yo(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Yo((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(e=>{this.dispose()})),this._register(gu.runAndSubscribe(l.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=N(`.post-edit-widget`),this.button=this._register(new Qa(this.domNode,{supportIcons:!0})),this.button.label=`$(insert)`,this._register(L(this.domNode,jl.CLICK,()=>this.showSelector()))}getId(){return mh.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let e=ya(this.button.element),t={x:e.left+e.width,y:e.top+e.height};this._actionWidgetService.show(`postEditWidget`,!1,this.edits.allEdits.map((e,t)=>({kind:`action`,item:e,label:e.title,disabled:!1,canPreview:!1,group:{title:``,icon:H.fromId(t===this.edits.activeEditIndex?A.check.id:A.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:e=>{this._actionWidgetService.hide(!1);let t=this.edits.allEdits.findIndex(t=>t===e);if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}},t,this.editor.getDomNode()??void 0,this.additionalActions)}};hh=mh=fh([ph(8,Ra),ph(9,Ta),ph(10,lh)],hh);var gh=class extends K{constructor(e,t,n,r,i,a,o,s){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=r,this._getAdditionalActions=i,this._instantiationService=a,this._bulkEditService=o,this._notificationService=s,this._currentWidget=this._register(new fc),this._register(gu.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,n,r,i){if(!e.length||!this._editor.hasModel())return;let a=this._editor.getModel(),o=t.allEdits.at(t.activeEditIndex);if(!o)return;let s=async a=>{let o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:a,allEdits:t.allEdits},n,r,i))},c=(r,i)=>{Bi(r)||(this._notificationService.error(i),n&&this.show(e[0],t,s))},l=new Ad(this._editor,3,void 0,i),u;try{u=await ro(r(o,l.token),l.token)}catch(e){return c(e,S(991,`Error resolving edit '{0}':
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/freemarker2-Bw62YruA.js","assets/editor.api-Rfucz3mk.js","assets/rolldown-runtime-COiEfhsA.js","assets/preload-helper-BLdHbfdN.js","assets/editor-DjpsE8to.css","assets/handlebars-84NJRWd6.js","assets/html-86U_8x8W.js","assets/javascript-MI6i-TIC.js","assets/typescript-Bjj6HU8L.js","assets/liquid-Dcyd1pkL.js","assets/mdx-DR7vQeQJ.js","assets/python-CiSQgsVi.js","assets/razor-WdSU-o-W.js","assets/typescript-Dy13l_qr.js","assets/xml-AovvXo6A.js","assets/yaml-EESuZNdc.js","assets/zoomable-image-D0X1OvmT.js","assets/zoomable-image-D6TeXYQ9.js","assets/CenterFocusIcon-KMjH0sFO.js","assets/tooltip-CU6Gh-yj.js","assets/utils-Cih_T9uV.js","assets/dist-DNx_j6Py.js","assets/button-BnzxfmO3.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{A as t,At as n,G as r,H as i,I as a,J as o,K as s,L as c,N as l,R as u,S as d,St as f,U as p,W as m,_ as h,_t as g,a as _,at as v,b as y,bt as b,c as ee,ct as te,dt as x,et as ne,f as re,g as ie,gt as ae,h as oe,i as se,j as ce,k as le,lt as ue,m as de,mt as fe,n as pe,ot as me,p as he,pt as ge,q as _e,rt as ve,t as ye,ut as be,v as xe,y as Se,yt as Ce,z as we}from"./use-editor-shortcut-BoixVvhO.js";import{I as Te,L as Ee,N as De,P as Oe,T as ke,m as Ae,on as je,t as Me,v as Ne}from"./XIcon-sNE7wlGT.js";import{a as Pe,t as Fe}from"./button-BnzxfmO3.js";import{l as Ie,n as Le,o as Re,r as ze,t as Be,u as Ve}from"./utils-Cih_T9uV.js";import{a as He,l as Ue,r as We,u as Ge}from"./preview-dialog-CPV2cjGd.js";import{n as Ke,r as qe}from"./TextWrapIcon-BRhMbXe9.js";import{t as Je}from"./ChevronsDownUpIcon-BNVFd2te.js";import{Wt as Ye}from"./dist-Jliw2AH0.js";import{G as Xe,U as Ze,W as Qe,d as $e,h as et,o as tt}from"./dist-TdUDcI9m.js";import{$ as nt,$a as rt,$c as it,$d as at,$i as ot,$l as st,$n as ct,$o as lt,$r as ut,$s as dt,$t as ft,$u as pt,A as mt,Aa as ht,Ac as gt,Ad as S,Ai as _t,Al as vt,An as yt,Ao as bt,Ar as xt,As as St,At as Ct,Au as wt,B as Tt,Ba as Et,Bc as C,Bd as Dt,Bi as Ot,Bl as kt,Bn as At,Bo as jt,Br as Mt,Bs as Nt,Bt as Pt,Bu as w,C as Ft,Ca as It,Cc as Lt,Cd as Rt,Ci as zt,Cl as Bt,Cn as Vt,Co as Ht,Cr as Ut,Cs as Wt,Ct as Gt,Cu as Kt,D as qt,Da as Jt,Dc as Yt,Dd as Xt,Di as Zt,Dl as Qt,Dn as $t,Do as en,Dr as tn,Ds as nn,Dt as rn,Du as an,E as on,Ea as sn,Ec as cn,Ed as ln,Ei as un,El as dn,En as fn,Eo as pn,Er as mn,Es as hn,Et as gn,Eu as _n,F as vn,Fa as yn,Fc as bn,Fd as xn,Fi as Sn,Fl as Cn,Fn as wn,Fo as Tn,Fr as En,Fs as Dn,Ft as On,Fu as kn,G as An,Ga as jn,Gc as Mn,Gd as Nn,Gi as Pn,Gl as Fn,Gn as In,Go as Ln,Gr as Rn,Gs as zn,Gt as Bn,Gu as Vn,H as Hn,Ha as Un,Hc as Wn,Hd as Gn,Hi as Kn,Hl as qn,Hn as Jn,Ho as Yn,Hr as Xn,Hs as T,Ht as Zn,Hu as Qn,Ia as $n,Ic as er,Id as tr,Ii as nr,Il as rr,In as ir,Io as ar,Ir as or,Is as sr,It as cr,Iu as lr,J as ur,Ja as dr,Jc as fr,Jd as pr,Ji as mr,Jl as hr,Jn as gr,Jo as _r,Jr as vr,Js as yr,Jt as br,Ju as E,K as xr,Ka as Sr,Kc as Cr,Kd as wr,Ki as Tr,Kl as Er,Kn as Dr,Ko as Or,Kr as D,Ks as kr,Kt as Ar,Ku as jr,L as Mr,La as Nr,Lc as Pr,Ld as Fr,Li as Ir,Ll as Lr,Ln as Rr,Lo as zr,Lr as Br,Ls as Vr,Lt as Hr,Lu as Ur,M as Wr,Ma as Gr,Mc as Kr,Md as qr,Mi as Jr,Ml as Yr,Mn as Xr,Mo as Zr,Mr as Qr,Ms as $r,Mt as ei,Mu as ti,N as ni,Na as ri,Nc as ii,Nd as ai,Ni as oi,Nl as si,Nn as ci,No as li,Nr as ui,Ns as O,Nt as di,Nu as fi,O as pi,Oa as mi,Oc as hi,Od as gi,Oi as _i,Ol as vi,On as yi,Oo as bi,Or as xi,Os as Si,Ot as Ci,Ou as wi,P as Ti,Pa as Ei,Pc as Di,Pd as Oi,Pi as ki,Pl as Ai,Pn as ji,Po as Mi,Pr as Ni,Ps as Pi,Pt as Fi,Pu as Ii,Q as Li,Qa as Ri,Qc as zi,Qd as Bi,Qi as Vi,Ql as Hi,Qn as Ui,Qo as Wi,Qr as Gi,Qs as Ki,Qt as qi,Qu as Ji,R as Yi,Ra as k,Rc as Xi,Rd as Zi,Ri as Qi,Rl as $i,Rn as ea,Ro as ta,Rr as na,Rs as ra,Rt as ia,Ru as A,S as aa,Sa as oa,Sc as sa,Sd as ca,Si as la,Sl as ua,Sn as da,So as fa,Sr as pa,Ss as ma,St as ha,Su as ga,T as _a,Ta as va,Tc as ya,Td as ba,Ti as xa,Tl as Sa,Tn as Ca,To as wa,Tr as Ta,Ts as Ea,Tt as Da,Tu as Oa,U as ka,Ua as Aa,Uc as ja,Ud as Ma,Ui as Na,Ul as Pa,Un as Fa,Uo as Ia,Ur as La,Us as Ra,Ut as za,Uu as Ba,V as Va,Va as Ha,Vc as Ua,Vd as Wa,Vi as Ga,Vl as Ka,Vn as qa,Vo as Ja,Vr as Ya,Vs as Xa,Vt as Za,Vu as j,W as Qa,Wa as $a,Wc as eo,Wd as to,Wi as no,Wl as ro,Wn as io,Wo as ao,Wr as oo,Ws as M,Wt as so,Wu as co,X as lo,Xa as uo,Xc as fo,Xd as po,Xi as mo,Xl as ho,Xn as go,Xo as _o,Xr as vo,Xs as yo,Xt as bo,Xu as xo,Y as So,Ya as Co,Yc as wo,Yd as To,Yi as Eo,Yl as Do,Yn as Oo,Yo as ko,Yr as Ao,Ys as jo,Yt as Mo,Yu as No,Z as Po,Za as Fo,Zc as Io,Zd as Lo,Zi as Ro,Zl as zo,Zn as Bo,Zo as Vo,Zr as Ho,Zs as Uo,Zt as Wo,Zu as Go,_ as Ko,_a as qo,_c as Jo,_d as Yo,_f as Xo,_i as Zo,_l as Qo,_n as $o,_o as es,_r as ts,_s as ns,_t as rs,_u as is,a as as,aa as os,ac as N,ad as P,af as ss,ai as cs,al as ls,an as us,ao as ds,ar as fs,as as ps,at as ms,au as hs,b as gs,ba as _s,bc as vs,bd as ys,bi as bs,bl as xs,bn as Ss,bo as Cs,br as ws,bs as Ts,bt as Es,bu as Ds,c as Os,ca as ks,cc as As,cd as js,cf as Ms,ci as Ns,cl as Ps,cn as Fs,co as Is,cr as F,cs as Ls,ct as Rs,cu as zs,d as Bs,da as Vs,dc as Hs,dd as I,df as Us,di as Ws,dl as Gs,dn as Ks,do as qs,dr as Js,ds as Ys,dt as Xs,du as Zs,ea as Qs,ec as $s,ef as ec,ei as tc,el as nc,en as rc,eo as ic,er as ac,es as oc,et as sc,eu as cc,f as lc,fa as uc,fc as dc,fd as fc,ff as pc,fi as mc,fl as hc,fn as gc,fo as _c,fr as vc,fs as yc,ft as bc,fu as xc,g as Sc,ga as Cc,gc as wc,gd as Tc,gf as Ec,gi as Dc,gl as Oc,gn as kc,go as Ac,gr as jc,gs as Mc,gt as Nc,gu as Pc,h as Fc,ha as Ic,hc as L,hd as Lc,hf as Rc,hi as zc,hl as Bc,hn as Vc,ho as Hc,hr as Uc,hs as Wc,ht as Gc,hu as Kc,i as qc,ia as Jc,ic as Yc,id as Xc,if as Zc,ii as Qc,il as $c,in as el,io as tl,ir as nl,is as rl,it as il,iu as al,j as ol,ja as sl,jc as cl,jd as R,ji as ll,jl as ul,jn as dl,jo as fl,jr as pl,js as ml,jt as hl,ju as gl,k as _l,ka as vl,kc as yl,kd as bl,ki as xl,kl as Sl,kn as Cl,ko as wl,kr as Tl,ks as El,kt as Dl,ku as Ol,l as kl,la as Al,lc as jl,ld as Ml,lf as Nl,li as Pl,ll as Fl,ln as Il,lo as z,lr as Ll,ls as Rl,lt as zl,lu as Bl,m as Vl,ma as Hl,mc as Ul,md as Wl,mf as Gl,mi as Kl,ml as ql,mn as Jl,mo as Yl,mr as Xl,ms as Zl,mt as Ql,mu as $l,n as eu,na as tu,nc as nu,nd as ru,nf as iu,ni as au,nl as ou,nn as su,no as cu,nr as lu,ns as uu,nt as du,nu as fu,o as pu,oa as mu,oc as hu,od as gu,of as _u,oi as vu,ol as yu,on as bu,oo as xu,or as Su,os as B,ot as Cu,ou as wu,p as Tu,pa as Eu,pc as Du,pd as Ou,pf as ku,pi as Au,pl as V,pn as ju,po as Mu,pr as Nu,ps as Pu,pt as Fu,pu as Iu,q as Lu,qa as Ru,qc as zu,qd as Bu,qi as Vu,ql as Hu,qn as Uu,qo as Wu,qr as Gu,qs as H,qt as Ku,qu,r as Ju,ra as Yu,rc as Xu,rd as Zu,rf as Qu,ri as $u,rl as ed,rn as td,ro as nd,rr as rd,rs as id,rt as ad,ru as od,s as sd,sa as cd,sc as ld,sd as ud,sf as dd,si as fd,sl as pd,sn as md,so as hd,sr as gd,ss as U,st as _d,su as vd,t as yd,ta as bd,tc as W,td as xd,tf as Sd,ti as Cd,tl as wd,tn as Td,to as Ed,tr as Dd,ts as G,tt as Od,tu as kd,u as Ad,ua as jd,uc as Md,ud as K,uf as Nd,ui as Pd,ul as Fd,un as Id,uo as Ld,ur as Rd,us as zd,ut as Bd,uu as Vd,v as Hd,va as Ud,vc as q,vd as Wd,vf as Gd,vi as Kd,vl as qd,vn as Jd,vo as Yd,vr as Xd,vs as Zd,vt as Qd,vu as $d,w as ef,wa as tf,wc as nf,wd as rf,wi as af,wl as of,wn as sf,wo as cf,wr as lf,ws as uf,wt as df,wu as ff,x as pf,xa as mf,xc as hf,xd as gf,xi as _f,xl as vf,xn as yf,xo as bf,xr as xf,xs as Sf,xt as Cf,xu as wf,y as Tf,ya as Ef,yc as Df,yd as Of,yi as kf,yl as Af,yn as jf,yo as Mf,yr as Nf,ys as Pf,yt as Ff,yu as If,z as Lf,za as Rf,zc as zf,zd as Bf,zi as Vf,zl as Hf,zn as Uf,zo as Wf,zr as Gf,zs as Kf,zt as qf,zu as J}from"./editor.api-Rfucz3mk.js";import{t as Y}from"./preload-helper-BLdHbfdN.js";import{i as Jf,t as Yf}from"./langs-DssLtjmH.js";import{t as Xf}from"./engine-oniguruma-BMl9YtsA.js";import{c as Zf,l as Qf}from"./tooltip-CU6Gh-yj.js";var $f=[[`path`,{d:`M17.4776 9.01106C17.485 9.01102 17.4925 9.01101 17.5 9.01101C19.9853 9.01101 22 11.0294 22 13.5193C22 15.8398 20.25 17.7508 18 18M17.4776 9.01106C17.4924 8.84606 17.5 8.67896 17.5 8.51009C17.5 5.46695 15.0376 3 12 3C9.12324 3 6.76233 5.21267 6.52042 8.03192M17.4776 9.01106C17.3753 10.1476 16.9286 11.1846 16.2428 12.0165M6.52042 8.03192C3.98398 8.27373 2 10.4139 2 13.0183C2 15.4417 3.71776 17.4632 6 17.9273M6.52042 8.03192C6.67826 8.01687 6.83823 8.00917 7 8.00917C8.12582 8.00917 9.16474 8.38194 10.0005 9.01101`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M12 21L12 13M12 21C11.2998 21 9.99153 19.0057 9.5 18.5M12 21C12.7002 21 14.0085 19.0057 14.5 18.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],ep=[[`path`,{d:`M4 12.0005L4 14.5446C4 17.7896 4 19.4122 4.88607 20.5111C5.06508 20.7331 5.26731 20.9354 5.48933 21.1144C6.58831 22.0005 8.21082 22.0005 11.4558 22.0005C12.1614 22.0005 12.5141 22.0005 12.8372 21.8865C12.9044 21.8627 12.9702 21.8355 13.0345 21.8047C13.3436 21.6569 13.593 21.4075 14.0919 20.9086L18.8284 16.172C19.4065 15.594 19.6955 15.3049 19.8478 14.9374C20 14.5699 20 14.1611 20 13.3436V10.0005C20 6.22922 20 4.34361 18.8284 3.17203C17.7693 2.11287 16.1265 2.01125 13.0345 2.0015M13 21.5005V21.0005C13 18.172 13 16.7578 13.8787 15.8791C14.7574 15.0005 16.1716 15.0005 19 15.0005H19.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M12 5.99954H4M8 1.99954V9.99954`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],tp=[[`path`,{d:`M13.6656 6.49446H16C18.8284 6.49446 20.2426 6.49446 21.1213 7.37314C22 8.25182 22 9.66603 22 12.4945V14.5C22 17.3284 22 18.7426 21.1213 19.6213C20.2426 20.5 18.8284 20.5 16 20.5H8C5.17157 20.5 3.75736 20.5 2.87868 19.6213C2 18.7426 2 17.3284 2 14.5V8.99183C2 6.65409 2 5.48521 2.61604 4.67881C2.7778 4.46706 2.96706 4.2778 3.17881 4.11604C3.98521 3.5 5.15409 3.5 7.49183 3.5C8.16633 3.5 8.50358 3.5 8.81392 3.60442C8.8976 3.63257 8.97932 3.66623 9.05854 3.70518C9.35239 3.84965 9.59179 4.08719 10.0706 4.56227L10.8483 5.33389C11.4254 5.9066 11.714 6.19295 12.08 6.3437C12.446 6.49446 12.8525 6.49446 13.6656 6.49446Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M7 10.5H17C18.8692 10.5 19.8038 10.5 20.5 10.9019C20.9561 11.1652 21.3348 11.5439 21.5981 12C22 12.6962 22 13.6308 22 15.5C22 17.3692 22 18.3038 21.5981 19C21.3348 19.4561 20.9561 19.8348 20.5 20.0981C19.8038 20.5 18.8692 20.5 17 20.5H7C5.13077 20.5 4.19615 20.5 3.5 20.0981C3.04394 19.8348 2.66523 19.4561 2.40192 19C2 18.3038 2 17.3692 2 15.5C2 13.6308 2 12.6962 2.40192 12C2.66523 11.5439 3.04394 11.1652 3.5 10.9019C4.19615 10.5 5.13077 10.5 7 10.5Z`,stroke:`currentColor`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],np=[[`path`,{d:`M12 8H21`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M12 12H17`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M12 20H17`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`2`}],[`path`,{d:`M12 16H21`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`3`}],[`path`,{d:`M3 4V11C3 12.8692 3 13.8038 3.40192 14.5C3.66523 14.9561 4.04394 15.3348 4.5 15.5981C5.19615 16 6.13077 16 8 16`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`4`}],[`path`,{d:`M8 8H7C6.07003 8 5.60504 8 5.22354 7.89778C4.18827 7.62038 3.37962 6.81173 3.10222 5.77646C3 5.39496 3 4.92997 3 4`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`5`}]],rp=[[`path`,{d:`M2 11.4C2 10.2417 2.24173 10 3.4 10H20.6C21.7583 10 22 10.2417 22 11.4V12.6C22 13.7583 21.7583 14 20.6 14H3.4C2.24173 14 2 13.7583 2 12.6V11.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M2 3.4C2 2.24173 2.24173 2 3.4 2H20.6C21.7583 2 22 2.24173 22 3.4V4.6C22 5.75827 21.7583 6 20.6 6H3.4C2.24173 6 2 5.75827 2 4.6V3.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M2 19.4C2 18.2417 2.24173 18 3.4 18H20.6C21.7583 18 22 18.2417 22 19.4V20.6C22 21.7583 21.7583 22 20.6 22H3.4C2.24173 22 2 21.7583 2 20.6V19.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`2`}]],ip=[[`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M9.38886 15.1629C9.89331 15.5 10.5955 15.5 12 15.5C13.4045 15.5 14.1067 15.5 14.6111 15.1629C14.8295 15.017 15.017 14.8295 15.1629 14.6111C15.5 14.1067 15.5 13.4045 15.5 12C15.5 10.5955 15.5 9.89331 15.1629 9.38886C15.017 9.17048 14.8295 8.98298 14.6111 8.83706C14.1067 8.5 13.4045 8.5 12 8.5C10.5955 8.5 9.89331 8.5 9.38886 8.83706C9.17048 8.98298 8.98298 9.17048 8.83706 9.38886C8.5 9.89331 8.5 10.5955 8.5 12C8.5 13.4045 8.5 14.1067 8.83706 14.6111C8.98298 14.8295 9.17048 15.017 9.38886 15.1629Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],ap=[[`path`,{d:`M8 2H9.01472C10.241 2 10.8541 2 11.4054 2.22836C11.9567 2.45672 12.3903 2.89027 13.2574 3.75736L21.1262 11.6263C21.6841 12.1867 21.9982 12.9449 22 13.7357L22 13.75L22 13.7643C21.9982 14.5551 21.6841 15.3133 21.1262 15.8737L15.8737 21.1262C15.3133 21.6841 14.5551 21.9982 13.7643 22L13.75 22L13.7357 22C12.9449 21.9982 12.1867 21.6841 11.6263 21.1262L3.75736 13.2574C2.89027 12.3903 2.45672 11.9567 2.22836 11.4054C2 10.8541 2 10.241 2 9.01472V8C2 5.17157 2 3.75736 2.87868 2.87868C3.75736 2 5.17157 2 8 2Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M7.5 7.25V7.5M8 7.5C8 7.77614 7.77614 8 7.5 8C7.22386 8 7 7.77614 7 7.5C7 7.22386 7.22386 7 7.5 7C7.77614 7 8 7.22386 8 7.5Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],op=[[`path`,{d:`M3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C8.79275 3 5.97733 4.67765 4.38341 7.20327M3.29339 3.00076L3.46556 5.05452C3.58958 6.53384 3.65159 7.27349 4.13359 7.68914C4.61559 8.10479 5.32673 8.03185 6.74899 7.88595L8.79339 7.67625`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}]],sp=[[`path`,{d:`M21.544 11.045C21.848 11.4713 22 11.6845 22 12C22 12.3155 21.848 12.5287 21.544 12.955C20.1779 14.8706 16.6892 19 12 19C7.31078 19 3.8221 14.8706 2.45604 12.955C2.15201 12.5287 2 12.3155 2 12C2 11.6845 2.15201 11.4713 2.45604 11.045C3.8221 9.12944 7.31078 5 12 5C16.6892 5 20.1779 9.12944 21.544 11.045Z`,stroke:`currentColor`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12Z`,stroke:`currentColor`,strokeWidth:`1.5`,key:`1`}]],X=e(Ve(),1),Z=Ie();function cp(e){let t=lp(e.document,e.view);return t===null?null:(0,Z.jsx)(`p`,{className:`text-muted-foreground grid size-full place-items-center p-6 text-center text-sm`,children:t})}function lp(e,t){return e===void 0?t===`explorer`?`Open a file from the explorer to start editing.`:`Select a change to see its diff.`:e.status===`large`?`This file is ${up(e.size)}, too large to open in the editor (limit ${up(e.limit)}).`:e.status===`binary`?`The file is not displayed in the text editor because it is either binary or uses an unsupported text encoding.`:e.status===`error`?e.message:null}function up(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function dp(){let e=Oe(e=>e.errors);return e.length===0?null:(0,Z.jsxs)(`div`,{role:`alert`,className:`bg-popover text-popover-foreground absolute right-3 bottom-9 z-20 flex w-96 max-w-[calc(100%-1.5rem)] items-start gap-2 rounded-md border p-3 text-[13px] shadow-lg`,children:[(0,Z.jsx)(Pe,{icon:f,className:`text-destructive mt-0.5 size-4 shrink-0`}),(0,Z.jsx)(`p`,{className:`min-w-0 flex-1 break-words whitespace-pre-wrap`,children:e.at(-1)}),(0,Z.jsx)(`button`,{type:`button`,title:`Dismiss`,"aria-label":`Dismiss`,className:`hover:bg-accent grid size-5 shrink-0 cursor-pointer place-items-center rounded-sm`,onClick:Ae,children:(0,Z.jsx)(Pe,{icon:Me,className:`size-3.5`})})]})}function fp(e,t){let n=localStorage.getItem(`editorWindow ${e} ${t}`);return n===null?{tabs:[],active:null,expanded:[],settings:{view:`explorer`,sidebar:!0,width:300,tree:!0,sort:`path`,messages:{},graphHeight:240,inline:!1,whitespace:!0,collapse:!1,smartCommit:!0,preview:!1}}:JSON.parse(n)}function pp(e,t,n){localStorage.setItem(`editorWindow ${e} ${t}`,JSON.stringify(n))}function mp(e){let n=t();return(0,Z.jsxs)(Z.Fragment,{children:[!e.entry.folder&&Ye(e.entry.path)===`markdown`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(_,{onSelect:()=>e.onPreview(e.entry.path),children:`Open Preview`}),(0,Z.jsx)(ee,{})]}),(0,Z.jsx)(_,{onSelect:()=>{e.onPending(()=>e.onCreate(e.entry.folder?e.entry.path:vp(e.entry.path),!1))},children:`New File…`}),(0,Z.jsx)(_,{onSelect:()=>{e.onPending(()=>e.onCreate(e.entry.folder?e.entry.path:vp(e.entry.path),!0))},children:`New Folder…`}),(0,Z.jsx)(ee,{}),(0,Z.jsx)(_,{onSelect:()=>void n.copy(e.entry.path===``?e.root:`${e.root}/${e.entry.path}`),children:`Copy Path`}),e.entry.path!==``&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(_,{onSelect:()=>void n.copy(e.entry.path),children:`Copy Relative Path`}),!e.entry.folder&&(0,Z.jsx)(_,{onSelect:()=>void ce(e.machine,e.projectId,e.entry.path).catch(ke),children:`Download`}),(0,Z.jsx)(ee,{}),(0,Z.jsx)(_,{onSelect:()=>{e.onPending(()=>e.onEdit({kind:`rename`,path:e.entry.path,folder:e.entry.folder}))},children:`Rename…`}),(0,Z.jsx)(_,{variant:`destructive`,onSelect:()=>{e.onPending(()=>e.onDelete(e.entry))},children:`Delete`})]})]})}function hp(e){let t=(0,X.useRef)(!1),n=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let t=e.initial.lastIndexOf(`.`);n.current?.focus(),n.current?.setSelectionRange(0,t>0?t:e.initial.length)},[e.initial]),(0,Z.jsx)(`input`,{ref:n,"aria-label":`Name`,defaultValue:e.initial,className:`border-primary bg-background text-foreground h-5 min-w-0 flex-1 border px-1 text-[13px] outline-none`,onKeyDown:n=>{n.key===`Enter`&&(t.current=!0,e.onCommit(n.currentTarget.value)),n.key===`Escape`&&(t.current=!0,e.onCancel())},onBlur:n=>{t.current||(t.current=!0,e.onCommit(n.currentTarget.value))}})}function gp(e){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)({path:``,folder:!0}),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(null),g=(0,X.useRef)(null);(0,X.useEffect)(()=>{let t=!0;return je(e.machine,`files.entries`,{projectId:e.projectId}).then(e=>{t&&(n(e),i(null))},e=>{t&&i(ze(e))}),()=>{t=!1}},[e.machine,e.projectId,a]);let _=(0,X.useMemo)(()=>_p(t?.files??[],t?.folders??[]),[t]),v=s??e.active,b=s??(e.active===null?``:vp(e.active));function ee(t,n){let r=t===``?[]:t.split(`/`);e.onExpanded([...new Set([...e.expanded,...r.map((e,t)=>r.slice(0,t+1).join(`/`))])]),f({kind:`create`,parent:t,folder:n})}async function te(t){if(d===null)return;f(null);let n=t.trim();if(n!==``)try{if(d.kind===`create`){let t=d.parent===``?n:`${d.parent}/${n}`;await je(e.machine,`files.create`,{projectId:e.projectId,path:t,folder:d.folder}),d.folder&&e.onExpanded(e=>[...e,t]),d.folder||e.onOpen(t)}if(d.kind===`rename`&&n!==yp(d.path)){let t=vp(d.path),r=t===``?n:`${t}/${n}`;await je(e.machine,`files.rename`,{projectId:e.projectId,path:d.path,to:r}),e.onRenamed(d.path,r)}o(e=>e+1)}catch(e){ke(e)}}async function x(t){try{await je(e.machine,`files.delete`,{projectId:e.projectId,path:t.path}),e.onDeleted(t.path),o(e=>e+1)}catch(e){ke(e)}}function ne(e,t,n){return(0,Z.jsxs)(`div`,{className:`flex h-[22px] items-center gap-1.5 pr-2`,style:{paddingLeft:8+e*12},children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-4 shrink-0`}),t&&(0,Z.jsx)(Pe,{icon:tp,className:`text-muted-foreground size-4 shrink-0`}),!t&&(0,Z.jsx)(Ge,{path:n}),(0,Z.jsx)(hp,{initial:n,onCommit:e=>void te(e),onCancel:()=>f(null)})]},`input`)}function ae(t,n,r,i){return d?.kind===`rename`&&d.path===t?ne(n,r,yp(t)):(0,Z.jsxs)(`button`,{type:`button`,"data-path":t,"data-folder":r,className:Be(`text-sidebar-foreground hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] w-full cursor-pointer items-center gap-1.5 pr-2 text-left text-[13px] outline-none focus-visible:ring-1 focus-visible:ring-inset`,t===v&&`bg-sidebar-row-active`),style:{paddingLeft:8+n*12},onClick:()=>{r?(c(t),e.onExpanded(i?e.expanded.filter(e=>e!==t):[...e.expanded,t])):(c(null),e.onOpen(t))},children:[Array.from({length:n},(e,t)=>(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`border-sidebar-border pointer-events-none absolute inset-y-0 border-l opacity-0 transition-opacity group-hover/tree:opacity-100`,style:{left:16+t*12}},t)),r&&(0,Z.jsx)(Pe,{icon:qe,"aria-hidden":!0,className:Be(`text-muted-foreground size-4 shrink-0 transition-transform`,i&&`rotate-90`)}),!r&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-4 shrink-0`}),r&&(0,Z.jsx)(Pe,{icon:i?be:tp,className:`text-muted-foreground size-4 shrink-0`}),!r&&(0,Z.jsx)(Ge,{path:t}),(0,Z.jsx)(`span`,{className:`truncate`,children:yp(t)})]},t)}function ce(t,n,r){return[d?.kind===`create`&&d.parent===n&&ne(r,d.folder,``),...[...t.folders].sort((e,t)=>e[0].localeCompare(t[0])).map(t=>{let i=n===``?t[0]:`${n}/${t[0]}`,a=e.expanded.includes(i);return(0,Z.jsxs)(`div`,{children:[ae(i,r,!0,a),a&&ce(t[1],i,r+1)]},`dir:${i}`)}),...[...t.files].sort((e,t)=>e.localeCompare(t)).map(e=>ae(e,r,!1,!1))]}return(0,Z.jsxs)(`div`,{className:`bg-sidebar flex h-full min-h-0 flex-col`,children:[(0,Z.jsxs)(`div`,{className:`text-sidebar-foreground border-sidebar-border flex h-9 shrink-0 items-center gap-0.5 border-b px-1.5`,children:[e.header,(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`New File…`,"aria-label":`New File`,onClick:()=>ee(b,!1),children:(0,Z.jsx)(Pe,{icon:ep,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`New Folder…`,"aria-label":`New Folder`,onClick:()=>ee(b,!0),children:(0,Z.jsx)(Pe,{icon:ue,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Refresh Explorer`,"aria-label":`Refresh Explorer`,onClick:()=>o(a+1),children:(0,Z.jsx)(Pe,{icon:Ke,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Collapse Folders in Explorer`,"aria-label":`Collapse Folders in Explorer`,onClick:()=>e.onExpanded([]),children:(0,Z.jsx)(Pe,{icon:Je,className:`size-4`})})]}),(0,Z.jsxs)(pe,{children:[(0,Z.jsx)(re,{asChild:!0,children:(0,Z.jsxs)(`div`,{className:`group/tree min-h-0 flex-1 overflow-y-auto pb-6`,onContextMenu:e=>{let t=e.target instanceof Element?e.target.closest(`[data-path]`):null;u(t===null?{path:``,folder:!0}:{path:t.dataset.path??``,folder:t.dataset.folder===`true`})},children:[r!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:r}),r===null&&t===null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:`Loading…`}),r===null&&t!==null&&ce(_,``,0)]})}),(0,Z.jsx)(se,{className:`min-w-48`,onCloseAutoFocus:e=>{g.current!==null&&(e.preventDefault(),g.current(),g.current=null)},children:(0,Z.jsx)(mp,{machine:e.machine,projectId:e.projectId,root:e.root,entry:l,onPending:e=>{g.current=e},onPreview:e.onPreview,onCreate:ee,onEdit:f,onDelete:m})})]}),(0,Z.jsx)(he,{open:p!==null,onOpenChange:e=>{e||m(null)},children:(0,Z.jsxs)(ie,{children:[(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(y,{children:`Delete '${p===null?``:yp(p.path)}'?`}),(0,Z.jsx)(h,{children:p?.folder===!0?`This folder and everything in it will be permanently deleted.`:`This file will be permanently deleted.`})]}),(0,Z.jsxs)(xe,{children:[(0,Z.jsx)(oe,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`destructive`,onClick:()=>{p!==null&&x(p)},children:`Delete`})]})]})})]})}function _p(e,t){let n={folders:new Map,files:[]};function r(e){let t=n;for(let n of e){let e=t.folders.get(n)??{folders:new Map,files:[]};t.folders.set(n,e),t=e}return t}for(let e of t)r(e.split(`/`));for(let t of e)r(t.split(`/`).slice(0,-1)).files.push(t);return n}function vp(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function yp(e){return e.slice(e.lastIndexOf(`/`)+1)}function bp(e){return(0,Z.jsx)(`div`,{role:`tablist`,className:`flex h-full min-w-0 flex-1 [scrollbar-width:thin] overflow-x-auto`,children:e.tabs.map(t=>{let n=t.id===e.active,r=e.dirty.includes(t.id);return(0,Z.jsxs)(`div`,{role:`tab`,tabIndex:0,"aria-selected":n,title:t.path,className:Be(`group/tab border-sidebar-border relative flex shrink-0 cursor-pointer items-center gap-1.5 border-r pr-1.5 pl-3 text-[13px] outline-none select-none`,n&&`bg-background text-foreground`,!n&&`text-muted-foreground hover:bg-background/50`),onClick:()=>e.onSelect(t.id),onAuxClick:n=>{n.button===1&&e.onClose(t.id)},onKeyDown:n=>{n.key===`Enter`&&e.onSelect(t.id)},children:[n&&(0,Z.jsx)(`span`,{className:`bg-primary absolute inset-x-0 top-0 h-px`}),(0,Z.jsx)(Ge,{path:t.path}),(0,Z.jsx)(`span`,{className:`max-w-48 truncate`,children:t.label}),e.tabs.some(e=>e!==t&&e.label===t.label)&&(0,Z.jsx)(`span`,{className:`text-muted-foreground max-w-40 truncate text-xs`,children:vp(t.path)}),(0,Z.jsxs)(`button`,{type:`button`,title:`Close`,"aria-label":`Close ${t.label}`,className:Be(`group/close hover:bg-accent flex size-5 cursor-pointer items-center justify-center rounded opacity-0 group-hover/tab:opacity-100 focus-visible:opacity-100`,(n||r)&&`opacity-100`),onClick:n=>{n.stopPropagation(),e.onClose(t.id)},children:[r&&(0,Z.jsx)(`span`,{className:`bg-foreground size-2 rounded-full group-hover/close:hidden`}),(0,Z.jsx)(Pe,{icon:Me,className:Be(`size-3.5`,r&&`hidden group-hover/close:block`)})]})]},t.id)})})}var xp=class e{_ruleStack;constructor(e){this._ruleStack=e}get ruleStack(){return this._ruleStack}clone(){return new e(this._ruleStack)}equals(t){return!(!t||!(t instanceof e)||t!==this||t._ruleStack!==this._ruleStack)}};function Sp(e){if(Array.isArray(e)&&(e=e[0]),e)return e=(e.charCodeAt(0)===35?e.slice(1):e).toLowerCase(),(e.length===3||e.length===4)&&(e=e.split(``).map(e=>e+e).join(``)),e}var Cp=/[\s,]+/;function wp(e){let t=`rules`in e?e.rules:void 0;if(!t){t=[];let n=e.settings||e.tokenColors;for(let{scope:e,settings:{foreground:r,background:i,fontStyle:a}={}}of n){if(!r&&!i&&!a)continue;let n=Array.isArray(e)?e:e?[e]:[],o=kp(a),s=Sp(r),c=Sp(i);t.push(...n.map(e=>({token:e,foreground:s,background:c,fontStyle:o})))}}let n=Object.fromEntries(Object.entries(e.colors||{}).map(([e,t])=>[e,`#${Sp(t)}`]));return{base:e.type===`light`?`vs`:`vs-dark`,inherit:!1,colors:n,rules:t}}function Tp(e,t,n={}){let r=new Map,i=e.getLoadedThemes();for(let n of i){let i=wp(e.getTheme(n));r.set(n,i),t.editor.defineTheme(n,i)}let a=[],o=new Map,s=t.editor.setTheme.bind(t.editor);t.editor.setTheme=t=>{let n=e.setTheme(t),i=r.get(t);a.length=n.colorMap.length;for(let e=0;e<n.colorMap.length;e++)a[e]=n.colorMap[e];o.clear(),i?.rules.forEach(e=>{let t=Sp(e.foreground);if(!t)return;let n=Ap(t,kp(e.fontStyle));o.has(n)||o.set(n,e.token)}),s(t)};let c=t.editor.create;t.editor.create=(e,n,r)=>(n?.theme&&t.editor.setTheme(n.theme),c(e,n,r)),t.editor.setTheme(i[0]);function l(e,t){let n=Ap(e,Ep(t));return o.get(n)}let{tokenizeMaxLineLength:u=2e4,tokenizeTimeLimit:d=500}=n,f=new Set(t.languages.getLanguages().map(e=>e.id));for(let n of e.getLoadedLanguages())f.has(n)&&t.languages.setTokensProvider(n,{getInitialState(){return new xp(Xe)},tokenize(t,r){if(t.length>=u)return{endState:r,tokens:[{startIndex:0,scopes:``}]};let i=e.getLanguage(n).tokenizeLine2(t,r.ruleStack,d);i.stoppedEarly&&console.warn(`Time limit reached when tokenizing line: ${t.substring(0,100)}`);let o=i.tokens.length/2,s=[];for(let e=0;e<o;e++){let t=i.tokens[2*e],n=i.tokens[2*e+1],r=Ze.getForeground(n),o=Sp(a[r]||``),c=Ze.getFontStyle(n),u=o&&l(o,c)||``;s.push({startIndex:t,scopes:u})}return{endState:new xp(i.ruleStack),tokens:s}}})}function Ep(e){if(e<=Qe.None)return``;let t=[];return e&Qe.Italic&&t.push(`italic`),e&Qe.Bold&&t.push(`bold`),e&Qe.Underline&&t.push(`underline`),e&Qe.Strikethrough&&t.push(`strikethrough`),t.join(` `)}var Dp=[`italic`,`bold`,`underline`,`strikethrough`],Op={"line-through":`strikethrough`};function kp(e){if(!e)return``;let t=new Set(e.split(Cp).map(e=>e.trim().toLowerCase()).map(e=>Op[e]||e).filter(Boolean));return Dp.filter(e=>t.has(e)).join(` `)}function Ap(e,t){return t?`${e}|${t}`:e}var jp={},Mp={},Np=class e{static getOrCreate(t){return Mp[t]||(Mp[t]=new e(t)),Mp[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,jp[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function Q(e){let t=e.id;jp[t]=e,qc.register(e);let n=Np.getOrCreate(t);qc.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),qc.onLanguageEncountered(t,async()=>{let e=await n.load();qc.setLanguageConfiguration(t,e.conf)})}Q({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>Y(()=>import(`./abap-08VXUWAP.js`),[])}),Q({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>Y(()=>import(`./apex-BWPQTe0t.js`),[])}),Q({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>Y(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),Q({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>Y(()=>import(`./bat-i0X4ZdIN.js`),[])}),Q({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>Y(()=>import(`./bicep-B5-_aFwp.js`),[])}),Q({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>Y(()=>import(`./cameligo-DMUM7wLl.js`),[])}),Q({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>Y(()=>import(`./clojure-Cm7r79vr.js`),[])}),Q({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>Y(()=>import(`./coffee-Ba7i2nA0.js`),[])}),Q({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])}),Q({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])}),Q({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>Y(()=>import(`./csharp-BKxtCVv1.js`),[])}),Q({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>Y(()=>import(`./csp-bTuwJoIa.js`),[])}),Q({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>Y(()=>import(`./css-DIMkf-bt.js`),[])}),Q({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>Y(()=>import(`./cypher-CVaqCwHa.js`),[])}),Q({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>Y(()=>import(`./dart-onAF5SnQ.js`),[])}),Q({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>Y(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),Q({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>Y(()=>import(`./ecl-94qehhXe.js`),[])}),Q({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>Y(()=>import(`./elixir-6RTg0lbw.js`),[])}),Q({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>Y(()=>import(`./flow9-C5_-GSwl.js`),[])}),Q({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>Y(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),Q({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAngleInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagBracketInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAngleInterpolationBracket),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagBracketInterpolationBracket),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAutoInterpolationDollar),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>Y(()=>import(`./freemarker2-Bw62YruA.js`).then(e=>e.TagAutoInterpolationBracket),__vite__mapDeps([0,1,2,3,4]))}),Q({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>Y(()=>import(`./go-C-y9NEjX.js`),[])}),Q({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>Y(()=>import(`./graphql-fmXr3nnJ.js`),[])}),Q({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>Y(()=>import(`./handlebars-84NJRWd6.js`),__vite__mapDeps([5,1,2,3,4]))}),Q({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>Y(()=>import(`./hcl-CpzslTdj.js`),[])}),Q({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>Y(()=>import(`./html-86U_8x8W.js`),__vite__mapDeps([6,1,2,3,4]))}),Q({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>Y(()=>import(`./ini-sBoK_t0W.js`),[])}),Q({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>Y(()=>import(`./java-BEtHBSE6.js`),[])}),Q({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))}),Q({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>Y(()=>import(`./julia-Bri6UV-V.js`),[])}),Q({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>Y(()=>import(`./kotlin-BOotOW0E.js`),[])}),Q({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>Y(()=>import(`./less-B9JPFI3C.js`),[])}),Q({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>Y(()=>import(`./lexon-CfSJPG6W.js`),[])}),Q({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>Y(()=>import(`./lua-CsQS60Ue.js`),[])}),Q({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>Y(()=>import(`./liquid-Dcyd1pkL.js`),__vite__mapDeps([9,1,2,3,4]))}),Q({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>Y(()=>import(`./m3-D-oSqn_W.js`),[])}),Q({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>Y(()=>import(`./markdown-Cimd5fb3.js`),[])}),Q({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>Y(()=>import(`./mdx-DR7vQeQJ.js`),__vite__mapDeps([10,1,2,3,4]))}),Q({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>Y(()=>import(`./mips-CIPQ_RoX.js`),[])}),Q({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>Y(()=>import(`./msdax-DauUninz.js`),[])}),Q({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>Y(()=>import(`./mysql-SOo6toE5.js`),[])}),Q({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>Y(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),Q({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>Y(()=>import(`./pascal-DrH0SRf2.js`),[])}),Q({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>Y(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),Q({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>Y(()=>import(`./perl-oz_6vUea.js`),[])}),Q({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>Y(()=>import(`./pgsql-DTj74zXo.js`),[])}),Q({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>Y(()=>import(`./php-nr791fC2.js`),[])}),Q({id:`pla`,extensions:[`.pla`],loader:()=>Y(()=>import(`./pla-CopQ2nXW.js`),[])}),Q({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>Y(()=>import(`./postiats-43DmfD33.js`),[])}),Q({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>Y(()=>import(`./powerquery-D3hlyOfw.js`),[])}),Q({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>Y(()=>import(`./powershell-DmHpPYUd.js`),[])}),Q({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>Y(()=>import(`./protobuf-C531GsRP.js`),[])}),Q({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>Y(()=>import(`./pug-Z5eAx3Zn.js`),[])}),Q({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>Y(()=>import(`./python-CiSQgsVi.js`),__vite__mapDeps([11,1,2,3,4]))}),Q({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>Y(()=>import(`./qsharp-DkqhCAOL.js`),[])}),Q({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>Y(()=>import(`./r-BwWrilGY.js`),[])}),Q({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>Y(()=>import(`./razor-WdSU-o-W.js`),__vite__mapDeps([12,1,2,3,4]))}),Q({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>Y(()=>import(`./redis-ClamHrr6.js`),[])}),Q({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>Y(()=>import(`./redshift-DT7zqm-g.js`),[])}),Q({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>Y(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),Q({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>Y(()=>import(`./ruby-DezsRK8O.js`),[])}),Q({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>Y(()=>import(`./rust-DdL9SqIa.js`),[])}),Q({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>Y(()=>import(`./sb-CcwsVR0C.js`),[])}),Q({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>Y(()=>import(`./scala-DHpiXF5c.js`),[])}),Q({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>Y(()=>import(`./scheme-BeGwcela.js`),[])}),Q({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>Y(()=>import(`./scss-gp-XZpBa.js`),[])}),Q({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>Y(()=>import(`./shell-CC2rA5mh.js`),[])}),Q({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>Y(()=>import(`./solidity-BEEn4gHE.js`),[])}),Q({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>Y(()=>import(`./sophia-CRfGWb83.js`),[])}),Q({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>Y(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),Q({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>Y(()=>import(`./sql-NEE52Syq.js`),[])}),Q({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>Y(()=>import(`./st-DbInun42.js`),[])}),Q({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>Y(()=>import(`./swift-Bxkupp3x.js`),[])}),Q({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>Y(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),Q({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>Y(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),Q({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>Y(()=>import(`./tcl-DISqw1ZD.js`),[])}),Q({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>Y(()=>import(`./twig-De2hgUGE.js`),[])}),Q({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>Y(()=>import(`./typescript-Dy13l_qr.js`),__vite__mapDeps([13,8,1,2,3,4]))}),Q({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>Y(()=>import(`./typespec-B8J7ngcE.js`),[])}),Q({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>Y(()=>import(`./vb-DV3o63ZY.js`),[])}),Q({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>Y(()=>import(`./wgsl-DpFanUEy.js`),[])}),Q({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)`,aliases:[`XML`,`xml`],mimetypes:[`text/xml`,`application/xml`,`application/xaml+xml`,`application/xml-dtd`],loader:()=>Y(()=>import(`./xml-AovvXo6A.js`),__vite__mapDeps([14,1,2,3,4]))}),Q({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>Y(()=>import(`./yaml-EESuZNdc.js`),__vite__mapDeps([15,1,2,3,4]))});var Pp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fp=function(e,t){return function(n,r){t(n,r,e)}},Ip,Lp=new M(`selectionAnchorSet`,!1),Rp=class{static{Ip=this}static{this.ID=`editor.contrib.selectionAnchorController`}static get(e){return e.getContribution(Ip.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Lp.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(J.fromPositions(e,e),{description:`selection-anchor`,stickiness:1,hoverMessage:new ji().appendText(S(849,`Selection Anchor`)),className:`selection-anchor`})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Co(S(850,`Anchor set at {0}:{1}`,e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){let t=this.editor.getPosition();this.editor.setSelection(J.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Rp=Ip=Pp([Fp(1,Ra)],Rp);var zp=class extends G{constructor(){super({id:`editor.action.setSelectionAnchor`,label:R(851,`Set Selection Anchor`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:jr(2089,2080),weight:100}})}async run(e,t){Rp.get(t)?.setSelectionAnchor()}},Bp=class extends G{constructor(){super({id:`editor.action.goToSelectionAnchor`,label:R(852,`Go to Selection Anchor`),precondition:Lp})}async run(e,t){Rp.get(t)?.goToSelectionAnchor()}},Vp=class extends G{constructor(){super({id:`editor.action.selectFromAnchorToCursor`,label:R(853,`Select from Anchor to Cursor`),precondition:Lp,kbOpts:{kbExpr:D.editorTextFocus,primary:jr(2089,2089),weight:100}})}async run(e,t){Rp.get(t)?.selectFromAnchorToCursor()}},Hp=class extends G{constructor(){super({id:`editor.action.cancelSelectionAnchor`,label:R(854,`Cancel Selection Anchor`),precondition:Lp,kbOpts:{kbExpr:D.editorTextFocus,primary:9,weight:100}})}async run(e,t){Rp.get(t)?.cancelSelectionAnchor()}};Ls(Rp.ID,Rp,4),B(zp),B(Bp),B(Vp),B(Hp);var Up=k(`editorOverviewRuler.bracketMatchForeground`,`#A0A0A0`,S(855,`Overview ruler marker color for matching brackets.`)),Wp=class extends G{constructor(){super({id:`editor.action.jumpToBracket`,label:R(857,`Go to Bracket`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:3165,weight:100}})}run(e,t){Jp.get(t)?.jumpToBracket()}},Gp=class extends G{constructor(){super({id:`editor.action.selectToBracket`,label:R(858,`Select to Bracket`),precondition:void 0,metadata:{description:R(859,`Select the text inside and including the brackets or curly braces`),args:[{name:`args`,schema:{type:`object`,properties:{selectBrackets:{type:`boolean`,default:!0}}}}]}})}run(e,t,n){let r=!0;n&&n.selectBrackets===!1&&(r=!1),Jp.get(t)?.selectToBracket(r)}},Kp=class extends G{constructor(){super({id:`editor.action.removeBrackets`,label:R(860,`Remove Brackets`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){Jp.get(t)?.removeBrackets(this.id)}},qp=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},Jp=class e extends K{static{this.ID=`editor.contrib.bracketMatchingController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Lr(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{this._matchBrackets!==`never`&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{let n=t.getStartPosition(),r=e.bracketPairs.matchBracket(n),i=null;if(r)r[0].containsPosition(n)&&!r[1].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{let t=e.bracketPairs.findEnclosingBrackets(n);if(t)i=t[1].getStartPosition();else{let t=e.bracketPairs.findNextBracket(n);t&&t.range&&(i=t.range.getStartPosition())}}return i?new J(i.lineNumber,i.column,i.lineNumber,i.column):new J(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{let i=r.getStartPosition(),a=t.bracketPairs.matchBracket(i);if(!a&&(a=t.bracketPairs.findEnclosingBrackets(i),!a)){let e=t.bracketPairs.findNextBracket(i);e&&e.range&&(a=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let o=null,s=null;if(a){a.sort(w.compareRangesUsingStarts);let[t,n]=a;if(o=e?t.getStartPosition():t.getEndPosition(),s=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(i)){let e=o;o=s,s=e}}o&&s&&n.push(new J(o.lineNumber,o.column,s.lineNumber,s.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=F.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`,overviewRuler:{color:oo(Up),position:ta.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=F.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(j.compare);let s=[],c=0,l=0,u=i.length;for(let t=0,r=a.length;t<r;t++){let r=a[t];for(;l<u&&i[l].position.isBefore(r);)l++;if(l<u&&i[l].position.equals(r))s[c++]=i[l];else{let t=n.bracketPairs.matchBracket(r,20),i=e._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!t&&this._matchBrackets===`always`&&(t=n.bracketPairs.findEnclosingBrackets(r,20),i=e._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),s[c++]=new qp(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};Ls(Jp.ID,Jp,1),B(Gp),B(Wp),B(Kp),Dn.appendMenuItem(O.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:S(856,`Go to &&Bracket`)},order:2}),La((e,t)=>{let n=e.getColor(Gf);n&&t.addRule(`.monaco-editor .bracket-match-inline { color: ${n} !important; }`)}),B(class extends G{constructor(){super({id:`editor.action.transposeLetters`,label:R(863,`Transpose Letters`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],i=t.getSelections();for(let e of i){if(!e.isEmpty())continue;let t=e.startLineNumber,i=e.startColumn,a=n.getLineMaxColumn(t);if(t===1&&(i===1||i===2&&a===2))continue;let o=i===a?e.getPosition():$u.rightPosition(n,e.getPosition().lineNumber,e.getPosition().column),s=$u.leftPosition(n,o),c=$u.leftPosition(n,s),l=n.getValueInRange(w.fromPositions(c,s)),u=n.getValueInRange(w.fromPositions(s,o)),d=w.fromPositions(c,o);r.push(new Qc(d,u+l))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}});var Yp=class e{static{this.sep=`.`}static{this.None=new e(`@@none@@`)}static{this.Empty=new e(``)}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(t){return this.equals(t)||this.value===``||t.value.startsWith(this.value+e.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...t){return new e((this.value?[this.value,...t]:t).join(e.sep))}},Xp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zp=function(e,t){return function(n,r){t(n,r,e)}},Qp=F.register({description:`inline-progress-widget`,stickiness:1,showIfCollapsed:!0,after:{content:`\xA0`,inlineClassName:`inline-editor-progress-decoration`,inlineClassNameAffectsLetterSpacing:!0,widthInEm:1}}),$p=class e extends K{static{this.baseId=`editor.widget.inlineProgressWidget`}constructor(e,t,n,r,i){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=N(`.inline-progress-widget`),this.domNode.role=`button`,this.domNode.title=e;let t=N(`span.icon`);this.domNode.append(t),t.classList.add(...H.asClassNameArray(A.loading),`codicon-modifier-spin`);let n=()=>{let e=this.editor.getOption(75);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(61)||e.hasChanged(75))&&n()})),this._register(L(this.domNode,jl.CLICK,e=>{this.delegate.cancel()}))}getId(){return e.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},em=class extends K{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new fc),this._currentWidget=this._register(new fc),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,n,r,i){let a=this._operationIdPool++;this._currentOperation=a,this.clear(),this._showPromise.value=Ka(()=>{let n=w.fromPositions(e);this._currentDecorations.set([{range:n,options:Qp}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance($p,this.id,this._editor,n,t,r))},i??this._showDelay);try{return await n}finally{this._currentOperation===a&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};em=Xp([Zp(2,W)],em);var tm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nm=function(e,t){return function(n,r){t(n,r,e)}},rm,im=class{static{rm=this}static{this.ID=`editor.contrib.messageController`}static{this.MESSAGE_VISIBLE=new M(`messageVisible`,!1,S(1353,`Whether the editor is currently showing an inline message`))}static get(e){return e.getContribution(rm.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new fc,this._messageListeners=new I,this._mouseOverMessage=!1,this._editor=e,this._visible=rm.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){if(Co(Rr(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),Rr(e)){let n=this._messageListeners.add(Cl(e,{actionHandler:(e,t)=>{this.closeMessage(),fn(this._openerService,e,t.isTrusted)}}));this._messageWidget.value=new om(this._editor,t,n.element)}else this._messageWidget.value=new om(this._editor,t,e);this._messageListeners.add(gu.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&bn(hf(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(L(this._messageWidget.value.getDomNode(),jl.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(L(this._messageWidget.value.getDomNode(),jl.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let n;this._messageListeners.add(this._editor.onMouseMove(e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new w(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(om.fadeOut(this._messageWidget.value))}};im=rm=tm([nm(1,Ra),nm(2,$t)],im);var am=id.bindToContribution(im.get);U(new am({id:`leaveEditorMessage`,precondition:im.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));var om=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener(`animationend`,t)},n=setTimeout(t,110);return e.getDomNode().addEventListener(`animationend`,t),e.getDomNode().classList.add(`fadeOut`),{dispose:t}}constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement(`div`),this._domNode.classList.add(`monaco-editor-overlaymessage`),this._domNode.style.marginLeft=`-6px`;let i=document.createElement(`div`);i.classList.add(`anchor`,`top`),this._domNode.appendChild(i);let a=document.createElement(`div`);typeof r==`string`?(a.classList.add(`message`),a.textContent=r):(r.classList.add(`message`),a.appendChild(r)),this._domNode.appendChild(a);let o=document.createElement(`div`);o.classList.add(`anchor`,`below`),this._domNode.appendChild(o),this._editor.addContentWidget(this),this._domNode.classList.add(`fadeIn`)}dispose(){this._editor.removeContentWidget(this)}getId(){return`messageoverlay`}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle(`below`,e===2)}};Ls(im.ID,im,4);var sm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cm=function(e,t){return function(n,r){t(n,r,e)}},lm=class{constructor(e){this.copyMimeTypes=[],this.kind=e,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(e,t,n,r,i){let a=await this.getEdit(n,i);if(a)return{edits:[{insertText:a.insertText,title:a.title,kind:a.kind,handledMimeType:a.handledMimeType,yieldTo:a.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,n,r){let i=await this.getEdit(n,r);if(i)return{edits:[{insertText:i.insertText,title:i.title,kind:i.kind,handledMimeType:i.handledMimeType,yieldTo:i.yieldTo}],dispose(){}}}},um=class e extends lm{static{this.id=`text`}constructor(){super(Yp.Empty.append(`text`,`plain`)),this.id=e.id,this.dropMimeTypes=[ko.text],this.pasteMimeTypes=[ko.text]}async getEdit(e,t){let n=e.get(ko.text);if(!n||e.has(ko.uriList))return;let r=await n.asString();return{handledMimeType:ko.text,title:S(980,`Insert Plain Text`),insertText:r,kind:this.kind}}},dm=class extends lm{constructor(){super(Yp.Empty.append(`uri`,`path`,`absolute`)),this.dropMimeTypes=[ko.uriList],this.pasteMimeTypes=[ko.uriList]}async getEdit(e,t){let n=await mm(e);if(!n.length||t.isCancellationRequested)return;let r=0,i=n.map(({uri:e,originalText:t})=>e.scheme===ul.file?e.fsPath:(r++,t)).join(` `),a;return a=r>0?n.length>1?S(981,`Insert Uris`):S(982,`Insert Uri`):n.length>1?S(983,`Insert Paths`):S(984,`Insert Path`),{handledMimeType:ko.uriList,insertText:i,title:a,kind:this.kind}}},fm=class extends lm{constructor(e){super(Yp.Empty.append(`uri`,`path`,`relative`)),this._workspaceContextService=e,this.dropMimeTypes=[ko.uriList],this.pasteMimeTypes=[ko.uriList]}async getEdit(e,t){let n=await mm(e);if(!n.length||t.isCancellationRequested)return;let r=_u(n.map(({uri:e})=>{let t=this._workspaceContextService.getWorkspaceFolder(e);return t?hn(t.uri,e):void 0}));if(r.length)return{handledMimeType:ko.uriList,insertText:r.join(` `),title:n.length>1?S(985,`Insert Relative Paths`):S(986,`Insert Relative Path`),kind:this.kind}}};fm=sm([cm(0,Cu)],fm);var pm=class{constructor(){this.kind=new Yp(`html`),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=[`text/html`],this._yieldTo=[{mimeType:ko.text}]}async provideDocumentPasteEdits(e,t,n,r,i){if(r.triggerKind!==ga.PasteAs&&!r.only?.contains(this.kind))return;let a=await n.get(`text/html`)?.asString();if(a&&!i.isCancellationRequested)return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:S(987,`Insert HTML`),kind:this.kind}]}}};async function mm(e){let t=e.get(ko.uriList);if(!t)return[];let n=await t.asString(),r=[];for(let e of Kl.parse(n))try{r.push({uri:Qn.parse(e),originalText:e})}catch{}return r}var hm={scheme:`*`,hasAccessToAllModels:!0},gm=class extends K{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(hm,new um)),this._register(e.documentDropEditProvider.register(hm,new dm)),this._register(e.documentDropEditProvider.register(hm,new fm(t)))}};gm=sm([cm(0,z),cm(1,Cu)],gm);var _m=class extends K{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(hm,new um)),this._register(e.documentPasteEditProvider.register(hm,new dm)),this._register(e.documentPasteEditProvider.register(hm,new fm(t))),this._register(e.documentPasteEditProvider.register(hm,new pm))}};_m=sm([cm(0,z),cm(1,Cu)],_m);var vm=class e{constructor(){this.value=``,this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let t=this.pos,n=0,r=this.value.charCodeAt(t),i;if(i=e._table[r],typeof i==`number`)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(r)){i=8;do n+=1,r=this.value.charCodeAt(t+n);while(e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}if(e.isVariableCharacter(r)){i=9;do r=this.value.charCodeAt(t+ ++n);while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}i=10;do n+=1,r=this.value.charCodeAt(t+n);while(!isNaN(r)&&e._table[r]===void 0&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}},ym=class{constructor(){this._children=[]}appendChild(e){return e instanceof bm&&this._children[this._children.length-1]instanceof bm?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.slice(0);i.splice(r,1,...t),n._children=i,(function e(t,n){for(let r of t)r.parent=n,e(r.children,r)})(t,n)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Om)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),``)}len(){return 0}},bm=class e extends ym{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}},xm=class extends ym{},Sm=class e extends xm{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:+(e.index>t.index)}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Cm?this._children[0]:void 0}clone(){let t=new e(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}},Cm=class e extends ym{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof bm&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let t=new e;return this.options.forEach(t.appendChild,t),t}},wm=class e extends ym{constructor(){super(...arguments),this.regexp=RegExp(``)}resolve(e){let t=this,n=!1,r=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(e=>e instanceof Tm&&!!e.elseValue)&&(r=this._replace([])),r}_replace(e){let t=``;for(let n of this._children)if(n instanceof Tm){let r=e[n.index]||``;r=n.resolve(r),t+=r}else t+=n.toString();return t}toString(){return``}clone(){let t=new e;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?`i`:``)+(this.regexp.global?`g`:``)),t._children=this.children.map(e=>e.clone()),t}},Tm=class e extends ym{constructor(e,t,n,r){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=r}resolve(e){return this.shorthandName===`upcase`?e?e.toLocaleUpperCase():``:this.shorthandName===`downcase`?e?e.toLocaleLowerCase():``:this.shorthandName===`capitalize`?e?e[0].toLocaleUpperCase()+e.substr(1):``:this.shorthandName===`pascalcase`?e?this._toPascalCase(e):``:this.shorthandName===`camelcase`?e?this._toCamelCase(e):``:this.shorthandName===`kebabcase`?e?this._toKebabCase(e):``:this.shorthandName===`snakecase`?e?this._toSnakeCase(e):``:e&&typeof this.ifValue==`string`?this.ifValue:!e&&typeof this.elseValue==`string`?this.elseValue:e||``}_toKebabCase(e){if(!e.match(/[\p{L}0-9]+/gu))return e;if(!e.match(/[\p{L}0-9]/u))return e.trim().toLowerCase().replace(/^_+|_+$/g,``).replace(/[\s_]+/g,`-`);let t=e.trim().replace(/^_+|_+$/g,``),n=t.match(/\p{Lu}{2,}(?=\p{Lu}\p{Ll}+[0-9]*|[\s_-]|$)|\p{Lu}?\p{Ll}+[0-9]*|\p{Lu}(?=\p{Lu}\p{Ll})|\p{Lu}(?=[\s_-]|$)|[0-9]+/gu);return n?n.map(e=>e.toLowerCase()).join(`-`):t.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.toLowerCase()).join(`-`)}_toPascalCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toCamelCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map((e,t)=>t===0?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toSnakeCase(e){return e.replace(/(\p{Ll})(\p{Lu})/gu,`$1_$2`).replace(/[\s\-]+/g,`_`).toLowerCase()}clone(){return new e(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Em=class e extends xm{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||``)),t!==void 0&&(this._children=[new bm(t)],!0)}clone(){let t=new e(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}};function Dm(e,t){let n=[...e];for(;n.length>0;){let e=n.shift();if(!t(e))break;n.unshift(...e.children)}}var Om=class e extends ym{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(n){return n instanceof Sm&&(e.push(n),t=!t||t.index<n.index?n:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){let{all:e}=this.placeholderInfo;return e}offset(e){let t=0,n=!1;return this.walk(r=>r===e?(n=!0,!1):(t+=r.len(),!0)),n?t:-1}fullLen(e){let t=0;return Dm([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:n}=e;for(;n;)n instanceof Sm&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Em&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let t=new e;return t._children=this.children.map(e=>e.clone()),t}walk(e){Dm(this.children,e)}},km=class{constructor(){this._scanner=new vm,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,`\\$&`)}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,n){let r=new Om;return this.parseFragment(e,r),this.ensureFinalTabstop(r,n??!1,t??!1),r}parseFragment(e,t){let n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let r=new Map,i=[];t.walk(e=>(e instanceof Sm&&(e.isFinalTabstop?r.set(0,void 0):!r.has(e.index)&&e.children.length>0?r.set(e.index,e.children):i.push(e)),!0));let a=(e,n)=>{let i=r.get(e.index);if(!i)return;let o=new Sm(e.index);o.transform=e.transform;for(let e of i){let t=e.clone();o.appendChild(t),t instanceof Sm&&r.has(t.index)&&!n.has(t.index)&&(n.add(t.index),a(t,n),n.delete(t.index))}t.replace(e,[o])},o=new Set;for(let e of i)a(e,o);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find(e=>e.index===0)||e.appendChild(new Sm(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){let t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){let e=this._scanner.next();if(e.type!==0&&e.type!==4&&e.type!==5)return!1}this._token=this._scanner.next()}let n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,`$1`);return this._token=this._scanner.next(),n}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new bm(t)),!0):!1}_parseTabstopOrVariableName(e){let t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Sm(Number(t)):new Em(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);let r=new Sm(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new bm("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(r.index>0&&this._accept(7)){let t=new Cm;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(r.appendChild(t),this._accept(4)))return e.appendChild(r),!0}return this._backTo(n),!1}}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseChoiceElement(e){let t=this._token,n=[];for(;this._token.type!==2&&this._token.type!==7;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return n.length===0?(this._backTo(t),!1):(e.appendChild(new bm(n.join(``))),!0)}_parseComplexVariable(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);let r=new Em(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new bm("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseTransform(e){let t=new wm,n=``,r=``;for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,n+=e;else if(this._token.type!==14)n+=this._accept(void 0,!0);else return!1}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new bm(e));else if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);)if(this._token.type!==14)r+=this._accept(void 0,!0);else return!1;try{t.regexp=new RegExp(n,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);let r=this._accept(8,!0);if(!r)return this._backTo(t),!1;if(!n||this._accept(4))return e.appendChild(new Tm(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){let n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Tm(Number(r),n)),!0)}if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new Tm(Number(r),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new Tm(Number(r),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let n=this._until(4);if(n)return e.appendChild(new Tm(Number(r),void 0,t,n)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new Tm(Number(r),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14&&(e.appendChild(new bm(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}};function Am(e,t,n){return(typeof n.insertText==`string`?n.insertText===``:n.insertText.snippet===``)?{edits:n.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new il(e,{range:t,text:typeof n.insertText==`string`?km.escape(n.insertText)+`$0`:n.insertText.snippet,insertAsSnippet:!0})),...n.additionalEdit?.edits??[]]}}function jm(e){function t(e,t){return`mimeType`in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}let n=new Map;for(let r of e)for(let i of r.yieldTo??[])for(let a of e)if(a!==r&&t(i,a)){let e=n.get(r);e||(e=[],n.set(r,e)),e.push(a)}if(!n.size)return Array.from(e);let r=new Set,i=[];function a(e){if(!e.length)return[];let t=e[0];if(i.includes(t))return console.warn(`Yield to cycle detected`,t),e;if(r.has(t))return a(e.slice(1));let o=[],s=n.get(t);return s&&(i.push(t),o=a(s),i.pop()),r.add(t),[...o,t,...a(e.slice(1))]}return a(Array.from(e))}function Mm(e,t){return t&&(e.stack||e.stacktrace)?S(33,`{0}: {1}`,Pm(e),Nm(e.stack)||Nm(e.stacktrace)):Pm(e)}function Nm(e){return Array.isArray(e)?e.join(`
|
|
3
|
+
`):e}function Pm(e){return e.code===`ERR_UNC_HOST_NOT_ALLOWED`?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof e.code==`string`&&typeof e.errno==`number`&&typeof e.syscall==`string`?S(34,`A system error occurred ({0})`,e.message):e.message||S(35,`An unknown error occurred. Please consult the log for more details.`)}function Fm(e=null,t=!1){if(!e)return S(36,`An unknown error occurred. Please consult the log for more details.`);if(Array.isArray(e)){let n=_u(e),r=Fm(n[0],t);return n.length>1?S(37,`{0} ({1} errors in total)`,r,n.length):r}if(Gn(e))return e;if(e.detail){let n=e.detail;if(n.error)return Mm(n.error,t);if(n.exception)return Mm(n.exception,t)}return e.stack?Mm(e,t):e.message?e.message:S(38,`An unknown error occurred. Please consult the log for more details.`)}var Im=class extends K{constructor(e){super(),this._onChange=this._register(new P),this.onChange=this._onChange.event,this._checked=!!e.checked,this._title=e.title??e.ariaLabel,this.domNode=N(`button.monaco-switch`),this.domNode.type=`button`,this.domNode.setAttribute(`role`,`switch`),q(this.domNode,N(`.monaco-switch-thumb`)),this._register(ft().setupDelayedHover(this.domNode,()=>({content:this._title,style:1}))),this.setAriaLabel(e.ariaLabel,e.title),this.disabled=!!e.disabled,this._applyState(),this._register(L(this.domNode,jl.CLICK,e=>{As.stop(e,!0),this.domNode.disabled||(this._checked=!this._checked,this._applyState(),this._onChange.fire(this._checked))}))}get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,this._applyState())}get disabled(){return this.domNode.disabled}set disabled(e){this.domNode.disabled=e}setAriaLabel(e,t=e){this.domNode.setAttribute(`aria-label`,e),this._title=t}_applyState(){this.domNode.setAttribute(`aria-checked`,String(this._checked)),this.domNode.classList.toggle(`checked`,this._checked)}},Lm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Rm=function(e,t){return function(n,r){t(n,r,e)}},zm=class extends K{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute(`aria-disabled`,`false`),this.el.tabIndex=0,this.el.style.pointerEvents=`auto`,this.el.style.opacity=`1`,this.el.style.cursor=`pointer`,this._enabled=!1):(this.el.setAttribute(`aria-disabled`,`true`),this.el.tabIndex=-1,this.el.style.pointerEvents=`none`,this.el.style.opacity=`0.4`,this.el.style.cursor=`default`,this._enabled=!0),this._enabled=e}constructor(e,t,n={},r,i){super(),this._link=t,this._hoverService=r,this._enabled=!0,this.el=q(e,N(`a.monaco-link`,{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=n.hoverDelegate??rc(`mouse`),this.setTooltip(t.title),this.el.setAttribute(`role`,`button`);let a=this._register(new _f(this.el,`click`)),o=this._register(new _f(this.el,`keydown`)),s=gu.chain(o.event,e=>e.map(e=>new hr(e)).filter(e=>e.keyCode===3||e.keyCode===10)),c=this._register(new _f(this.el,xa.Tap)).event;this._register(un.addTarget(this.el));let l=gu.any(a.event,s,c);this._register(l(e=>{this.enabled&&(As.stop(e,!0),n?.opener?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};zm=Lm([Rm(3,lu),Rm(4,$t)],zm);var Bm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vm=function(e,t){return function(n,r){t(n,r,e)}},Hm,Um=`acceptSelectedCodeAction`,Wm=`previewSelectedCodeAction`,Gm=new Set([Um,Wm,`toggleSectionCodeAction`]),Km=`actionList.remove`,qm=class{get templateId(){return`header`}renderTemplate(e){e.classList.add(`group-header`);let t=document.createElement(`span`);return e.append(t),{container:e,text:t}}renderElement(e,t,n){n.text.textContent=e.group?.title??e.label??``}disposeTemplate(e){}},Jm=class{get templateId(){return`separator`}renderTemplate(e){e.classList.add(`separator`);let t=document.createElement(`span`);return e.append(t),{container:e,text:t}}renderElement(e,t,n){n.container.classList.toggle(`has-label`,!!e.label),n.text.textContent=e.label??``}disposeTemplate(e){}};function Ym(e){return!!e.submenuActions?.length&&!e.hover?.content||!!e.hover?.expandable}function Xm(e){return Ym(e)&&e.hover?.showIndicator!==!1}var Zm=class{get templateId(){return`action`}constructor(e,t,n,r,i,a,o,s,c,l,u,d){this._supportsPreview=e,this._onRemoveItem=t,this._onShowSubmenu=n,this._reservesSubmenuSpace=r,this._groupTitleByIndex=i,this._linkHandler=a,this._hideDefaultKeybindingTooltip=o,this._stopToolbarPointerPropagation=s,this._registerStandaloneToggle=c,this._registerToolbar=l,this._keybindingService=u,this._openerService=d}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement(`div`);t.className=`icon`,e.append(t);let n=document.createElement(`span`);n.className=`title`,e.append(n);let r=document.createElement(`span`);r.className=`action-item-badge`,r.ariaHidden=`true`,e.append(r);let i=document.createElement(`span`);i.className=`description`,e.append(i);let a=document.createElement(`span`);a.className=`group-title`,e.append(a);let o=document.createElement(`span`);o.className=`detail`,e.append(o);let s=new Lf(e,ys),c=document.createElement(`div`);c.className=`action-list-item-toolbar`,e.append(c);let l=document.createElement(`div`);l.className=`action-list-submenu-indicator`,e.append(l);let u=document.createElement(`div`);return u.className=`action-list-item-inline-toggle`,e.append(u),{container:e,icon:t,text:n,detail:o,badge:r,description:i,groupTitle:a,keybinding:s,toolbar:c,submenuIndicator:l,inlineToggleContainer:u,elementDisposables:new I}}renderElement(e,t,n){if(n.elementDisposables.clear(),e.iconClasses?.length?(n.icon.className=[`icon`,...e.iconClasses].join(` `),n.icon.style.color=``):e.group?.icon?(n.icon.className=H.asClassName(e.group.icon),n.icon.style.color=e.group.icon.color?yn(e.group.icon.color.id):``):(n.icon.className=H.asClassName(A.lightBulb),n.icon.style.color=`var(--vscode-editorLightBulb-foreground)`),!e.item&&!e.standaloneToggle||!e.label)return;if(Mn(!e.hideIcon,n.icon),e.isSectionToggle){let t=e.group?.icon===A.chevronDown;n.container.setAttribute(`aria-expanded`,String(t))}else n.container.removeAttribute(`aria-expanded`);n.previousClassNames?.length&&n.container.classList.remove(...n.previousClassNames);let r=e.className?.split(/\s+/).filter(e=>e.length>0)??[];if(n.container.classList.toggle(`action-list-custom`,r.length>0),r.length&&n.container.classList.add(...r),n.previousClassNames=r,n.text.textContent=rh(e.label),e.badge?(n.badge.textContent=e.badge,n.badge.style.display=``):(n.badge.textContent=``,n.badge.style.display=`none`),e.keybinding)n.description.textContent=e.keybinding.getLabel(),n.description.style.display=`inline`,n.description.style.letterSpacing=`0.5px`;else if(e.description){if(Df(n.description),typeof e.description==`string`)n.description.textContent=rh(e.description);else{let t=Cl(e.description,{actionHandler:t=>{let n=Qn.parse(t);this._linkHandler?this._linkHandler(n,e):this._openerService.open(n,{allowCommands:!0})}});n.elementDisposables.add(t),n.description.appendChild(t.element)}n.description.style.display=`inline`}else n.description.textContent=``,n.description.style.display=`none`;let i=this._groupTitleByIndex.get(t);i?(n.groupTitle.textContent=i,n.groupTitle.style.display=``):(n.groupTitle.textContent=``,n.groupTitle.style.display=`none`),e.detail?(n.detail.textContent=rh(e.detail),n.detail.style.display=``):(n.detail.textContent=``,n.detail.style.display=`none`),n.container.classList.toggle(`has-detail`,!!e.detail),Df(n.inlineToggleContainer);let a=e.standaloneToggle??e.inlineToggle;if(a){let t=document.createElement(`span`);t.className=`action-list-item-inline-toggle-label`,t.textContent=rh(a.label),e.standaloneToggle||n.inlineToggleContainer.append(t),n.inlineToggleContainer.style.display=``,n.container.classList.toggle(`has-inline-toggle`,!!e.inlineToggle),n.container.classList.toggle(`has-standalone-toggle`,!!e.standaloneToggle);let r=n.elementDisposables.add(new Im({ariaLabel:a.title??a.label,checked:a.checked,disabled:a.disabled}));n.inlineToggleContainer.append(r.domNode),e.standaloneToggle&&n.elementDisposables.add(this._registerStandaloneToggle(e,r)),n.elementDisposables.add(r.onChange(()=>a.onChange(r.checked))),n.elementDisposables.add(L(n.inlineToggleContainer,jl.CLICK,e=>e.stopPropagation()))}else n.inlineToggleContainer.style.display=`none`,n.container.classList.remove(`has-inline-toggle`),n.container.classList.remove(`has-standalone-toggle`);let o=this._keybindingService.lookupKeybinding(Um)?.getLabel(),s=this._keybindingService.lookupKeybinding(Wm)?.getLabel();n.container.classList.toggle(`option-disabled`,!!e.disabled),e.hover===void 0?e.tooltip?n.container.title=e.tooltip:e.disabled?n.container.title=e.label:e.standaloneToggle||this._hideDefaultKeybindingTooltip?n.container.title=``:o&&s?this._supportsPreview&&e.canPreview?n.container.title=S(1731,`{0} to Apply, {1} to Preview`,o,s):n.container.title=S(1732,`{0} to Apply`,o):n.container.title=``:n.container.title=``,Df(n.toolbar);let c=[...e.toolbarActions??[]];if(e.onRemove&&c.push(Uo({id:Km,label:S(1733,`Remove`),class:H.asClassName(A.close),run:async()=>{await e.onRemove(),this._onRemoveItem?.(e)}})),n.container.classList.toggle(`has-toolbar`,c.length>0),c.length>0){let t=new Hr(n.toolbar);n.elementDisposables.add(t),this._stopToolbarPointerPropagation?(n.elementDisposables.add(Du(n.toolbar,e=>{e.preventDefault(),e.stopPropagation()})),n.elementDisposables.add(L(n.toolbar,jl.CLICK,e=>e.stopPropagation())),n.elementDisposables.add(L(n.toolbar,xa.Tap,e=>e.stopPropagation()))):n.elementDisposables.add(Du(n.toolbar,e=>e.preventDefault())),t.push(c,{icon:!0,label:!1}),n.elementDisposables.add(this._registerToolbar(e,t))}Xm(e)?(n.submenuIndicator.className=`action-list-submenu-indicator has-submenu `+H.asClassName(A.chevronRight),n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=``,n.elementDisposables.add(L(n.submenuIndicator,jl.CLICK,t=>{t.stopPropagation(),this._onShowSubmenu?.(e)}))):this._reservesSubmenuSpace()?(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=`hidden`):(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=`none`),Ym(e)?(n.container.setAttribute(`aria-haspopup`,e.hover?.expandable?`dialog`:`menu`),n.container.setAttribute(`aria-expanded`,`false`)):(n.container.removeAttribute(`aria-haspopup`),e.isSectionToggle||n.container.removeAttribute(`aria-expanded`))}disposeTemplate(e){e.keybinding.dispose(),e.elementDisposables.dispose()}};Zm=Bm([Vm(10,Ta),Vm(11,$t)],Zm);var Qm=class extends UIEvent{constructor(){super(`acceptSelectedAction`)}},$m=class extends UIEvent{constructor(){super(`previewSelectedAction`)}};function eh(e){if(e.kind===`action`)return e.label}var th=Hm=class extends K{constructor(e,t,n,r,i,a,o,s,c){if(super(),this._supportsPreview=t,this._delegate=r,this._options=a,this._keybindingService=o,this._openerService=s,this._instantiationService=c,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new No),this._submenuDisposables=this._register(new I),this._submenuHoverActionElements=[],this._itemMoveAnimation=this._register(new fc),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 fc),this._groupTitleByIndex=new Map,this._standaloneToggles=new Map,this._itemToolbars=new Map,this._onDidRequestLayout=this._register(new P),this.onDidRequestLayout=this._onDidRequestLayout.event,this._visibleMenuItems=n,this._initialFocusItemId=this._options?.initialFocusItemId,this._filterText=this._options?.showFilter?this._options.initialFilterValue??``:``,this.domNode=document.createElement(`div`),this.domNode.classList.add(`actionList`),this._options?.inlineDescription&&this.domNode.classList.add(`inline-description`),this._options?.className){let e=this._options.className.split(/\s+/).filter(e=>e.length>0);e.length>0&&this.domNode.classList.add(...e)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement(`div`),this._submenuContainer.className=`action-list-submenu-panel action-widget`,this._submenuContainer.style.display=`none`,this._options?.persistentHover&&(this._submenuContainer.style.boxSizing=`border-box`),this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(L(this._submenuContainer,`keydown`,e=>{if((e.key===`Enter`||e.key===` `)&&this._currentSubmenuElement?.hover?.tabThroughPanel){let t=Xi(e.target)?e.target:void 0;if(t&&this._currentSubmenuElement.hover.getTabbableElements?.().includes(t)){e.stopPropagation();return}}if(e.key!==`ArrowLeft`&&e.key!==`Escape`)return;As.stop(e,!0);let t=e.key===`Escape`&&this._currentSubmenuWidget!==void 0;this._hideSubmenu(),t?this.hide():(this._setKeyboardNavigation(!0),this._list.domFocus())})),this._register(L(this._submenuContainer,`mouseenter`,()=>{this._cancelSubmenuHide(),this._usesSubmenuPointerIntent()&&(this._cancelSubmenuShow(),this._resetSubmenuPointer())})),this._register(L(this._submenuContainer,`mouseleave`,()=>{this._scheduleSubmenuHide()})),this._register(L(this.domNode,jl.MOUSE_LEAVE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._usesSubmenuPointerIntent()&&this._register(L(this.domNode,jl.MOUSE_MOVE,e=>{Xi(e.target)&&this._expandedTrigger?.contains(e.target)&&this._updateSubmenuPointer(e)})),this._register(Yo(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let e of this._options.collapsedByDefault)this._collapsedSections.add(e);let l={getHeight:e=>this._getItemHeight(e),getTemplateId:e=>e.kind},u=()=>{let e=this._options?.reserveSubmenuSpace??!0;return e===`always`||e&&this._allMenuItems.some(Xm)};this._list=this._register(new Wo(e,this.domNode,l,[new Zm(this._supportsPreview,e=>this._removeItem(e),e=>this._showSubmenuForItem(e),u,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._options?.stopToolbarPointerPropagation??!1,(e,t)=>(this._standaloneToggles.set(e,t),Yo(()=>{this._standaloneToggles.get(e)===t&&this._standaloneToggles.delete(e)})),(e,t)=>(this._itemToolbars.set(e,t),this._updateToolbarFocusability(),Yo(()=>{this._itemToolbars.get(e)===t&&this._itemToolbars.delete(e)})),this._keybindingService,this._openerService),new qm,new Jm],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter&&!this._options?.onType,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:eh},accessibilityProvider:{getAriaLabel:e=>{if(e.kind===`action`){let t=e.label?rh(e?.label):``;if(e.badge&&(t=t+`, `+rh(e.badge)),e.detail&&(t=t+`, `+rh(e.detail)),e.ariaDescription)t=t+`, `+rh(e.ariaDescription);else if(e.description){let n=typeof e.description==`string`?e.description:e.description.value;t=t+`, `+rh(n)}if(e.hover?.content&&!e.ariaDescription&&!e.description){let n=e.hover.content,r=typeof n==`string`?n:Rr(n)?n.value:Xi(n)?n.textContent??void 0:void 0;r&&(!e.detail||rh(e.detail)!==rh(r))&&(t=t+`, `+rh(r))}e.group?.title&&(t=t+`, `+e.group.title);let n=e.standaloneToggle??e.inlineToggle;return n&&(t=e.standaloneToggle?n.checked?S(1734,`{0}, on`,n.label):S(1735,`{0}, off`,n.label):t+`, `+(n.checked?S(1736,`{0}, on`,n.label):S(1737,`{0}, off`,n.label))),e.disabled&&(t=S(1738,`{0}, Disabled Reason: {1}`,t,e.disabled)),e.submenuActions?.length&&(t=S(1739,`{0}, use right arrow to access options`,t)),t}return null},getWidgetAriaLabel:()=>S(1740,`Action Widget`),getSetSize:()=>this._visibleMenuItems.filter(e=>e.kind===`action`).length,getPosInSet:(e,t)=>Math.max(this._visibleMenuItems.slice(0,t+1).filter(e=>e.kind===`action`).length,1),getRole:e=>{switch(e.kind){case`action`:return`option`;case`separator`:return`separator`;default:return`separator`}},getWidgetRole:()=>`listbox`,...i}})),this._list.style(Ar),this._register(this._list.onKeyDown(()=>this._setKeyboardNavigation(!0))),this._register(L(this._list.getHTMLElement(),jl.MOUSE_MOVE,e=>{(e.movementX!==0||e.movementY!==0)&&this._setKeyboardNavigation(!1)})),this._register(this._list.onMouseClick(e=>this.onListClick(e))),this._register(this._list.onMouseOver(e=>{this._ignoreInitialHover||this.onListHover(e)}));let d=this._register(new fc);if(d.value=this._list.onMouseMove(e=>{(e.browserEvent.movementX!==0||e.browserEvent.movementY!==0)&&(d.clear(),this._ignoreInitialHover=!1,this.onListHover(e))}),this._register(this._list.onMouseDown(()=>{d.clear(),this._ignoreInitialHover=!1,this._setKeyboardNavigation(!1)})),this._register(this._list.onDidChangeFocus(()=>{this._updateToolbarFocusability(),this.onFocus()})),this._register(this._list.onDidChangeSelection(e=>this.onListSelection(e))),this._register(this._list.onDidScroll(()=>{this._isMeasuringWidth||this._layoutSubmenu?.()})),this._allMenuItems=[...n],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement(`div`),this._filterContainer.className=`action-list-filter`;let e=q(this._filterContainer,N(`.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??S(1741,`Search...`),this._filterInput.value=this._filterText,this._filterInput.setAttribute(`aria-label`,S(1742,`Filter items`)),e.appendChild(this._filterInput),this._register(L(this._filterInput,jl.KEY_DOWN,e=>{if(this._setKeyboardNavigation(!0),e.isComposing||!this._filterInput?.closest(`.action-list-submenu-panel`))return;let t=this._keybindingService.softDispatch(new hr(e),this._filterInput);(t.kind===2&&t.commandId!==null&&Gm.has(t.commandId)||e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)&&e.stopPropagation()})),this._register(L(this._filterInput,jl.MOUSE_DOWN,()=>this._setKeyboardNavigation(!1))),this._options.tabThroughItemActions&&this._register(L(this._filterInput,`keydown`,e=>this._handleTabThroughPanelKeyDown(e),!0)),this._options.filterAsCombobox){let e=this._list.getHTMLElement();e.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`,e.id),this._register(this._list.onDidChangeFocus(()=>this._updateFilterActiveDescendant())),this._register(L(this._filterInput,`focus`,()=>this._updateFilterActiveDescendant())),this._register(L(this._filterInput,`blur`,()=>this._updateFilterActiveDescendant())),this._register(Jo(this._filterInput,`keydown`,e=>{if(this._imeSessionInProgress||e.browserEvent.isComposing||e.keyCode===114||e.keyCode===15||e.keyCode===17||e.keyCode===14||e.keyCode===13){e.stopPropagation();return}let t=e.keyCode===16||e.keyCode===18;(t||e.keyCode===3)&&(e.ctrlKey||e.metaKey||e.altKey||e.shiftKey?t&&e.stopPropagation():(As.stop(e,!0),e.keyCode===16?this.focusPrevious():e.keyCode===18?this.focusNext():this.acceptSelected()))}))}let t=this._options?.filterActions??[];if(t.length>0){let n=q(e,N(`.action-list-filter-actions`));this._register(new Hr(n)).push(t,{icon:!0,label:!1})}let n=()=>{let e=this._filterInput.value;this._imeSessionInProgress||e===this._filterText&&!this._filterCts.value?.token.isCancellationRequested||(this._filterText=e,this._applyOrUpdateFilter())};this._register(L(this._filterInput,`compositionstart`,()=>{this._imeSessionInProgress=!0,this._filterCts.value?.cancel()})),this._register(L(this._filterInput,`compositionend`,()=>{this._imeSessionInProgress=!1,n()})),this._register(L(this._filterInput,`input`,n))}if(this._options?.secondaryHeading){let t=q(e,N(`.action-list-filter-label`));t.textContent=this._options.secondaryHeading}}if(this._options?.footerText&&(this._footerContainer=document.createElement(`div`),this._footerContainer.className=`action-list-footer`,this._footerContainer.textContent=this._options.footerText),this._options?.headerText){if(this._headerContainer=document.createElement(`div`),this._headerContainer.className=`action-list-header`,this._options.headerIcon){let e=q(this._headerContainer,N(`span.action-list-header-icon`));e.classList.add(...H.asClassNameArray(this._options.headerIcon)),e.setAttribute(`aria-hidden`,`true`)}let e=q(this._headerContainer,N(`span.action-list-header-text`));if(e.textContent=this._options.headerText,this._register(L(this._headerContainer,jl.MOUSE_ENTER,()=>{this._options?.persistentHover?(this._cancelSubmenuShow(),this._resetSubmenuPointer()):this._hideSubmenu()})),this._options.headerLink){let{label:t,uri:n}=this._options.headerLink;e.textContent+=` `,this._register(this._instantiationService.createInstance(zm,e,{label:t,href:n.toString(!0)},{}))}if(this._options.headerDismiss){let e=this._options.headerDismiss,t=q(this._headerContainer,N(`span.action-list-header-dismiss`));t.appendChild(N(H.asCSSSelector(A.close))),t.tabIndex=0,t.setAttribute(`role`,`button`),t.setAttribute(`aria-label`,S(1743,`Dismiss`));let n=()=>{e(),this.focus(),this._headerContainer?.remove(),this._headerContainer=void 0,this._onDidRequestLayout.fire()};this._register(Ul(t,()=>n())),this._register(L(t,jl.KEY_DOWN,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}}this._applyFilter(),this._list.length&&this._focusCheckedOrFirst(),this._register(L(this.domNode,`keydown`,e=>{if(e.key===`ArrowRight`&&!e.isComposing){let t=this._list.getFocus();if(t.length>0){let n=this._list.element(t[0]);if(n?.submenuActions?.length||n?.hover?.expandable){As.stop(e,!0);let r=this._getRowElement(t[0]);r&&(this._showSubmenuForElement(n,r),n.hover?.tabThroughPanel?this._focusFirstTabThroughPanelControl(n,r):this._currentSubmenuWidget?this._currentSubmenuWidget.focus():this._submenuContainer.focus())}}}})),this._register(L(this.domNode,`keydown`,e=>this._handleTabThroughPanelKeyDown(e),!0)),(this._filterInput||this._options?.onType)&&this._register(L(this.domNode,`keydown`,e=>{let t=e.target;(this._options?.onType||this._options?.filterAsCombobox)&&Xi(t)&&(Pr(t)||t.closest(`button, a, [contenteditable="true"], .action-list-submenu-panel`))||this._filterInput&&Di(this._filterInput)||e.isComposing||e.key.length!==1||e.key===` `||e.ctrlKey||e.metaKey||e.altKey||(e.preventDefault(),e.stopPropagation(),this._filterInput?(this._filterInput.focus(),this._filterInput.value=e.key,this._filterText=e.key,this._applyOrUpdateFilter()):this._options?.onType?.(e.key))}))}_toggleSection(e){let t=this._collapsedSections.has(e);if(t)this._collapsedSections.delete(e);else{this._collapsedSections.add(e);let t=this.getFocusedElement();if(t?.section===e&&!t.isSectionToggle){let t=this._visibleMenuItems.findIndex(t=>t.section===e&&t.isSectionToggle);t>=0&&this._list.setFocus([t])}}this._options?.onDidToggleSection?.(e,this._collapsedSections.has(e)),this._applyFilter(),t&&this._revealFirstItemOfSection(e)}_revealFirstItemOfSection(e){for(let t=0;t<this._list.length;t++){let n=this._list.element(t);if(n.section===e&&!n.isSectionToggle){this._list.reveal(t);return}}}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let e=this._filterText;this._filterCts.value?.cancel();let t=new No;this._filterCts.value=t,this._delegate.onFilter(e,t.token).then(e=>{t.token.isCancellationRequested||(this._allMenuItems=[...e],this._applyFilter(!0))}).catch(()=>{}).finally(()=>{this._filterCts.value===t&&!t.token.isCancellationRequested&&this._filterCts.clear()})}_applyFilter(e=!1,t=!0,n){this._itemMoveAnimation.clear();let r=e?``:this._filterText.toLowerCase(),i=!e&&r.length>0,a=[],o=this._list.getFocus(),s;if(o.length>0&&(s=this._list.element(o[0])),i){let e,t=[],n=!1,i=()=>{e&&n&&a.push(e),a.push(...t),e=void 0,t=[],n=!1},o=e=>{let t=(e.label??``).toLowerCase(),n=typeof e.description==`string`?e.description:e.description?.value??``;return t.includes(r)||n.toLowerCase().includes(r)};for(let r of this._allMenuItems)if(r.kind!==`header`){if(r.kind===`separator`)i(),e=r.label?r:void 0;else if(r.showAlways)t.push(r);else if(!r.isSectionToggle){if(r.filterItems){let e=o(r)?r.filterItems:r.filterItems.filter(o);e.length>0&&(n=!0,t.push(...e))}else o(r)&&(n=!0,t.push(r))}}i()}else for(let e of this._allMenuItems)if(e.kind===`header`)a.push(e);else if(e.kind===`separator`){if(e.section&&this._collapsedSections.has(e.section))continue;a.push(e)}else if(e.isSectionToggle&&e.section){let t=this._collapsedSections.has(e.section);a.push({...e,group:{...e.group,icon:t?A.chevronRight:A.chevronDown}})}else e.section&&this._collapsedSections.has(e.section)||a.push(e);let c=[],l=!1;for(let e=0;e<a.length;e++)c[e]=l,a[e].kind===`action`&&(l=!0);let u=[],d=!1;for(let e=a.length-1;e>=0;e--)a[e].kind===`action`?d=!0:a[e].kind===`separator`&&(u[e]=d,d=!1);for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.kind!==`separator`)continue;let n=u[e],r=!t.label&&!c[e];(!n||r)&&a.splice(e,1)}this._options?.showGroupTitleOnFirstItem&&this._recomputeGroupTitles(a);let f=this._filterInput&&Di(this._filterInput),p=er(this._list.getHTMLElement());if(this._visibleMenuItems=a,this._list.splice(0,this._list.length,a),t&&this._onDidRequestLayout.fire(),f)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut&&(s||n)){let e=n??s?.item?.id;if(e){for(let t=0;t<this._list.length;t++)if(this._list.element(t).item?.id===e){this._list.setFocus([t]),this._list.reveal(t);break}p&&(this._focusCheckedOrFirst(),this._list.domFocus())}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}get closeAnimation(){return this._options?.closeAnimation}focusCondition(e){return!e.disabled&&e.kind===`action`}_setKeyboardNavigation(e){if(this._keyboardNavigation===e)return;this._keyboardNavigation=e;let t=this._list.getHTMLElement();t.classList.toggle(`keyboard-navigation`,e===!0),t.classList.toggle(`mouse-navigation`,e===!1)}_updateFilterActiveDescendant(){if(!this._filterInput)return;let[e]=this._list.getFocus();Di(this._filterInput)&&e!==void 0?this._filterInput.setAttribute(`aria-activedescendant`,this._list.getElementID(e)):this._filterInput.removeAttribute(`aria-activedescendant`)}focus(){this._setKeyboardNavigation(void 0),this._filterInput&&this._options?.focusFilterOnOpen?(this._filterInput.focus(),this._focusCheckedOrFirst()):(this._list.domFocus(),this._focusCheckedOrFirst(),this._showTabThroughPanelForFocusedItem())}clearFocus(){this._list.setFocus([])}getFocusedElement(){let e=this._list.getFocus();if(e.length>0)return this._list.element(e[0])}_updateToolbarFocusability(){if(!this._options?.tabThroughItemActions)return;let[e]=this._list.getFocus(),t=e!==void 0&&e<this._list.length?this._list.element(e):void 0;for(let[e,n]of this._itemToolbars)n.setFocusable(e===t)}_focusCheckedOrFirst(){let e=this._suppressHover;this._suppressHover=!0;try{let e=this._initialFocusItemId;if(this._initialFocusItemId=void 0,e)for(let t=0;t<this._list.length;t++){let n=this._list.element(t);if(this.focusCondition(n)&&n.item?.id===e){this._list.setFocus([t]),this._list.reveal(t);return}}let[t]=this._list.getFocus();if(t!==void 0){let e=this._list.element(t);if(e&&this.focusCondition(e)){this._list.reveal(t);return}}for(let e=0;e<this._list.length;e++){let t=this._list.element(e);if(this.focusCondition(t)&&t.item?.checked){this._list.setFocus([e]),this._list.reveal(e);return}}this._list.focusFirst(void 0,this.focusCondition);let n=this._list.getFocus();n.length>0&&this._list.reveal(n[0])}finally{this._suppressHover=e,this._options?.filterAsCombobox&&this._updateFilterActiveDescendant()}}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){return this._filterInput&&this._filterText?(this._filterInput.value=``,this._filterText=``,this._applyOrUpdateFilter(),!0):!1}get hasDynamicHeight(){return this._options?.showFilter?!0:this._allMenuItems.some(e=>e.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(e){return this._itemHeightWith(e,this._options)}_itemHeightWith(e,t){switch(e.kind){case`header`:return this._headerLineHeight;case`separator`:return e.label?this._actionLineHeight:this._separatorLineHeight;default:return e.inlineToggle?t?.inlineToggleItemHeight??70:e.detail?t?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){return this.computeHeightForItems(this._allMenuItems,void 0,this._options)}computeHeightForItems(e,t,n){let r=0;for(let i of e)t&&i.section&&!i.isSectionToggle&&t.has(i.section)||(r+=this._itemHeightWith(i,n));return r}computeListHeight(){let e=this._list.length,t=0;for(let n=0;n<e;n++){let e=this._list.element(n);t+=this._getItemHeight(e)}return t}layout(e,t){this._hasLaidOut=!0,this._list.layout(e,t),this.domNode.style.height=`${e}px`;let n=this.domNode.parentElement;n&&this._filterContainer?.parentElement===n&&n.insertBefore(this._filterContainer,this.domNode),this._layoutSubmenu?.()}computeMaxWidth(e){let t=this._list.length,n=Math.max(e,this._options?.minWidth??0),r=this._options?.maxWidth??1/0,i=Math.max(r,n),a=e=>Math.min(Math.max(e,n),i),o=this._allMenuItems.length;if(o>=50)return a(380);if(o>t){let e=[];for(let n=0;n<t;n++)e.push(this._list.element(n));let n=this._list.renderHeight,r=this._list.scrollTop,i=this._list.getFocus(),o=this._isMeasuringWidth;this._isMeasuringWidth=!0;try{let e=[...this._allMenuItems];this._list.splice(0,t,e);let n=0;for(let t of e)n+=this._getItemHeight(t);this._list.layout(n);let r=this._measureItemWidths(e);return a(Math.max(...r))}finally{try{this._list.splice(0,this._list.length,e),this._list.layout(n),this._list.scrollTop=r;let t=this._suppressHover;this._suppressHover=!0;try{this._list.setFocus(i)}finally{this._suppressHover=t}}finally{this._isMeasuringWidth=o}}}let s=[];for(let e=0;e<t;e++)s.push(this._list.element(e));let c=this._measureItemWidths(s);return a(Math.max(...c))}focusPrevious(){if(this._setKeyboardNavigation(!0),this._focusFilterResult(`previous`))return;if(this._filterInput&&Di(this._filterInput)){this._list.domFocus();let e=this._list.getFocus();if(e.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let t=this._list.getFocus();t.length>0&&t[0]>=e[0]?this._filterInput.focus():t.length>0&&this._list.reveal(t[0])}else{this._list.focusLast(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]>e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}focusNext(){if(this._setKeyboardNavigation(!0),this._focusFilterResult(`next`))return;if(this._filterInput&&Di(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}else{this._list.focusFirst(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]<e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}_focusFilterResult(e){if(!this._options?.filterAsCombobox||!this._filterInput||!Di(this._filterInput))return!1;e===`previous`?this._list.focusPrevious(1,!0,void 0,this.focusCondition):this._list.focusNext(1,!0,void 0,this.focusCondition);let[t]=this._list.getFocus();return t!==void 0&&this._list.reveal(t),!0}collapseFocusedSection(){let e=this._getFocusedSection();e&&!this._collapsedSections.has(e)&&this._toggleSection(e)}expandFocusedSection(){let e=this._getFocusedSection();e&&this._collapsedSections.has(e)&&this._toggleSection(e)}toggleFocusedSection(){let e=this._list.getFocus();if(e.length===0)return!1;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section?(this._toggleSection(t.section),!0):!1}_getFocusedSection(){let e=this._list.getFocus();if(e.length===0)return;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section,t.section}acceptSelected(e){let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!this.focusCondition(r))return;let i=e?new $m:new Qm;this._list.setSelection([n],i)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];if(t.standaloneToggle){this._list.setSelection([]);let e=this._standaloneToggles.get(t);e&&!e.disabled&&(e.checked=!e.checked,t.standaloneToggle.onChange(e.checked));return}if(t.isSectionToggle&&t.section){this._list.setSelection([]);let e=t.section;queueMicrotask(()=>{this._toggleSection(e)});return}let n=zf(e.browserEvent)||e.browserEvent?.type===xa.Tap;if(n){let t=e.browserEvent.target;if(Xi(t)&&(t.closest(`.action-list-item-toolbar`)||t.closest(`.action-list-submenu-indicator`)||t.closest(`.action-list-item-inline-toggle`))){this._list.setSelection([]);return}}if(t.openSubmenuOnClick&&t.submenuActions?.length&&(n||e.browserEvent instanceof Qm))this._list.setSelection([]),this._showSubmenuForItem(t),n||this._currentSubmenuWidget?.focus();else if(t.item&&this.focusCondition(t)){let n=e.browserEvent instanceof $m;this._delegate.onSelect(t.item,n&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);this._delegate.onFocus?.(n.item),this._suppressHover||(this._options?.persistentHover&&(this._cancelSubmenuShow(),this._resetSubmenuPointer(),this._list.reveal(t)),this._showHoverForElement(n,t))}_removeItem(e){let t=this._allMenuItems.indexOf(e);t>=0&&(this._allMenuItems.splice(t,1),this._applyFilter())}_recomputeGroupTitles(e){this._groupTitleByIndex.clear();let t=new Set;for(let n=0;n<e.length;n++){let r=e[n];r.kind===`action`&&r.group?.title&&!t.has(r.group.title)&&(t.add(r.group.title),this._groupTitleByIndex.set(n,r.group.title))}}_measureItemWidths(e){let t=[];for(let n=0;n<e.length;n++){let r=this._getRowElement(n);r&&(r.style.width=`auto`,t.push({element:r,item:e[n]}))}try{return t.map(({element:e,item:t})=>e.getBoundingClientRect().width+(t.detail?0:this._computeToolbarWidth(t)))}finally{for(let{element:e}of t)e.style.width=``}}_computeToolbarWidth(e){let t=e.toolbarActions?.length??0;return e.onRemove&&t++,t===0?0:t*22+6+10}_getRowElement(e){return e<0?null:this.domNode.ownerDocument.getElementById(this._list.getElementID(e))}_showTabThroughPanelForFocusedItem(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);if(!n.hover?.tabThroughPanel)return;let r=this._getRowElement(t);r&&this._showSubmenuForElement(n,r)}_getTabThroughPanelControls(e,t){return e.hover?.tabThroughPanel&&this._currentSubmenuElement!==e&&this._showSubmenuForElement(e,t),{toolbar:this._itemToolbars.get(e),panelControls:[...e.hover?.getTabbableElements?.()??[],...this._submenuHoverActionElements]}}_focusFirstTabThroughPanelControl(e,t){let n=this._getTabThroughPanelControls(e,t);n.toolbar?.length()?n.toolbar.focus(0):(n.panelControls[0]??this._list.getHTMLElement()).focus()}_handleTabThroughPanelKeyDown(e){if(e.isComposing)return;let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!r.hover?.tabThroughPanel&&!this._options?.tabThroughItemActions)return;let i=this._getRowElement(n),a=hf();if(!i||!Xi(a))return;let o=this._getTabThroughPanelControls(r,i),s=o.toolbar?.isFocused()??!1,c=this._submenuContainer.contains(a);if((e.key===`ArrowUp`||e.key===`ArrowDown`)&&(s||c)){As.stop(e,!0),this._list.domFocus(),e.key===`ArrowUp`?this.focusPrevious():this.focusNext();return}if(e.key!==`Tab`||e.ctrlKey||e.metaKey||e.altKey)return;let l;if(e.shiftKey){if(c){let t=o.panelControls.indexOf(a);if(t>0)l=o.panelControls[t-1];else if(o.toolbar?.length()){As.stop(e,!0),o.toolbar.focus(o.toolbar.length()-1);return}else l=this._list.getHTMLElement()}else if(o.toolbar?.isFocused()){let t=o.toolbar.viewItems.findIndex((e,t)=>o.toolbar?.isFocused(t));if(t>0){As.stop(e,!0),o.toolbar.focus(t-1);return}l=this._options?.filterAsCombobox?this._filterInput:this._list.getHTMLElement()}}else if(a===this._list.getHTMLElement()||a===this._filterInput){if(o.toolbar?.length()){As.stop(e,!0),o.toolbar.focus(0);return}l=o.panelControls[0]}else if(o.toolbar?.isFocused()){let t=o.toolbar.viewItems.findIndex((e,t)=>o.toolbar?.isFocused(t));if(t+1<o.toolbar.length()){As.stop(e,!0),o.toolbar.focus(t+1);return}l=o.panelControls[0]}else{let e=o.panelControls.indexOf(a);e>=0&&(l=o.panelControls[e+1]??this._list.getHTMLElement())}l&&(As.stop(e,!0),l.focus())}_showHoverForElement(e,t){if(this._currentSubmenuElement===e)return;let n=!!e.hover?.content,r=!!e.submenuActions?.length;if(n||r){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}else this._options?.persistentHover||this._hideSubmenu()}_showSubmenuForItem(e){let t=this._list.indexOf(e);if(t>=0){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}}_showSubmenuForElement(e,t){if(!this._hoverEnabled||this._currentSubmenuElement===e)return;this._currentSubmenuElement=e,this._clearSubmenuContainer(),t.setAttribute(`aria-expanded`,`true`),this._expandedTrigger=t,this._submenuPanelClassName=e.hover?.panelClassName,this._submenuPanelClassName&&this._submenuContainer.classList.add(this._submenuPanelClassName);let n=e.hover?.preserveVerticalPosition,r=!!e.submenuActions?.length,i=n?N(`.action-list-submenu-content`):this._submenuContainer,a=n?N(`.action-list-submenu-viewport`,void 0,i):void 0,o=a&&!r?this._submenuDisposables.add(new la(a,{horizontal:2,vertical:1,consumeMouseWheelIfScrollbarIsNeeded:!0,useShadows:!1})):void 0;o&&a?(this._submenuContainer.appendChild(o.getDomNode()),this._submenuDisposables.add(L(a,jl.SCROLL,()=>o.scanDomNode())),this._submenuDisposables.add(L(this._submenuContainer,jl.KEY_DOWN,e=>{let t=new hr(e);(t.equals(12)||t.equals(11))&&(As.stop(e,!0),o.setScrollPosition({scrollTop:o.getScrollPosition().scrollTop+(t.equals(12)?1:-1)*a.clientHeight}))}))):a&&this._submenuContainer.appendChild(a);let s,c=typeof e.hover?.content==`function`?e.hover.content():e.hover?.content;if(c){if(Xi(c))s=c,e.hover?.disposable&&this._register(e.hover.disposable);else{let t=typeof c==`string`?new ji(c):c,n=this._options?.linkHandler,r=Cl(t,{actionHandler:t=>{let r=Qn.parse(t);n?n(r,e):this._openerService.open(r,{allowCommands:!0})}});this._submenuDisposables.add(r),s=r.element}s.classList.add(`action-list-submenu-hover-header`),s.classList.toggle(`content-owns-padding`,e.hover?.contentOwnsPadding===!0),e.submenuActions?.length&&s.classList.add(`has-submenu`),i.appendChild(s)}if(e.hover?.actions?.length){let t=N(`.hover-row.status-bar`),n=q(t,N(`.actions`));for(let t of e.hover.actions){let e=this._keybindingService.lookupKeybinding(t.commandId),r=this._submenuDisposables.add(go.render(n,{label:t.label,commandId:t.commandId,run:e=>t.run(e),iconClass:t.iconClass},e?.getLabel()??null));this._submenuHoverActionElements.push(r.actionContainer)}this._submenuContainer.appendChild(t)}this._submenuContainer.style.display=``,this._submenuContainer.style.position=`absolute`,e.hover?.expandable?(this._submenuContainer.setAttribute(`role`,`dialog`),e.label&&this._submenuContainer.setAttribute(`aria-label`,e.label)):this._submenuContainer.removeAttribute(`role`);let l=cl(this.domNode),u=0,d=s?s.offsetWidth:0,f;if(r){let t=this._createSubmenuItems(e.submenuActions),n=this._submenuDisposables.add(this._instantiationService.createInstance(Hm,`submenu`,!1,t,{onHide:()=>{},onSelect:e=>{e.run();let t=this._currentSubmenuElement?.item;this._hideSubmenu(),t&&this._delegate.onSelect(t),this.hide()}},void 0,e.submenuOptions));f=n,n.headerContainer&&i.appendChild(n.headerContainer),n.filterContainer&&i.appendChild(n.filterContainer),i.appendChild(n.domNode),n.footerContainer&&i.appendChild(n.footerContainer),this._currentSubmenuWidget=n,n.clearFocus(),u=n.computeListHeight(),n.layout(u);let r=n.computeMaxWidth(0);d=Math.max(d,r,n.footerContainer?.offsetWidth??0),n.layout(u,d),n.domNode.style.width=`${d}px`,e.submenuOptions&&(this._submenuContainer.style.boxSizing=`border-box`,this._submenuContainer.style.width=`${d+10}px`),this._submenuDisposables.add(n.onDidRequestLayout(()=>{u=n.computeListHeight(),n.layout(u,d),this._layoutSubmenu?.()})),this._submenuDisposables.add(L(i,`keydown`,e=>{e.key===`Escape`?(As.stop(e,!0),this._hideSubmenu(),this.hide()):e.key===`ArrowLeft`?(As.stop(e,!0),this._hideSubmenu(),this._setKeyboardNavigation(!0),this._list.domFocus()):e.key===`Enter`||e.key===` `?(As.stop(e,!0),n.acceptSelected()):e.key===`ArrowDown`?(As.stop(e,!0),n.focusNext()):e.key===`ArrowUp`&&(As.stop(e,!0),n.focusPrevious())}))}let p,m,h=()=>{let e=this._currentSubmenuElement;if(!e||this._layoutSubmenu!==h)return;let t=this._list.indexOf(e),r=t>=0?this._getRowElement(t):null,s=this._options?.persistentHover;if(!r&&(!s||!this._allMenuItems.includes(e))){this._hideSubmenu();return}this._expandedTrigger!==r&&(this._expandedTrigger?.hasAttribute(`aria-expanded`)&&this._expandedTrigger.setAttribute(`aria-expanded`,`false`),this._expandedTrigger=r??void 0),r?.setAttribute(`aria-expanded`,`true`);let c=this.domNode.getBoundingClientRect(),g=s||e.hover?.alignToParent,_=g?this.domNode.parentElement?.closest(`.action-widget`)?.getBoundingClientRect()??c:c,v=r?.getBoundingClientRect()??_,y=g||n?cn(this.domNode):1;s&&(this._submenuContainer.style.width=`${_.width/y}px`);let b=this._submenuContainer.getBoundingClientRect(),ee=g?b.width:d+10,te=l.innerWidth-(g?_.right:v.right),x=_.left,ne=g?0:4;if(!g){let e=l.innerWidth-8;ee>e&&(ee=Math.max(e,0)),this._submenuContainer.style.boxSizing=`border-box`,this._submenuContainer.style.width=`${ee}px`}let re=te>=ee||te>=x;s&&this._submenuSide&&(this._submenuSide===`right`?te:x)>=ee&&(re=this._submenuSide===`right`),s&&(this._submenuSide=re?`right`:`left`);let ie=re?_.right-c.left+ne:_.left-c.left-ee-ne,ae=c.left+ie;ae<4?ie+=4-ae:ae+ee>l.innerWidth-4&&(ie-=ae+ee-(l.innerWidth-4)),this._submenuContainer.style.left=`${ie/y}px`;let oe=b.height;n&&(p??=oe/y);let se=p===void 0?oe:p*y,ce=m===void 0?r&&e.hover?.alignToAnchorTop?v.top-c.top:r?v.top-c.top+(v.height-se)/2:b.top-c.top:m*y;if(n&&e.hover?.alignToAnchorTop&&a&&f){let e=b.height-a.getBoundingClientRect().height+((f.headerContainer?.offsetHeight??0)+(f.filterContainer?.offsetHeight??0)+(f.footerContainer?.offsetHeight??0)+u)*y;ce=Math.min(ce,l.innerHeight-c.top-e-8)}let le=c.top+ce+se;if(le>l.innerHeight&&!(n&&e.hover?.alignToAnchorTop)&&(ce-=le-l.innerHeight+8),c.top+ce<0&&(ce=-c.top),n&&(m??=ce/y),a&&o){let e=(b.height-o.getDomNode().getBoundingClientRect().height)/y,t=Math.max(0,(l.innerHeight-c.top-ce-8)/y-e);a.style.height=`${Math.min(i.getBoundingClientRect().height/y,t)}px`,o.scanDomNode()}else if(a&&f){let e=(b.height-a.getBoundingClientRect().height)/y,t=Math.max(0,(l.innerHeight-c.top-ce-8)/y-e),n=(f.headerContainer?.offsetHeight??0)+(f.filterContainer?.offsetHeight??0)+(f.footerContainer?.offsetHeight??0),r=u===0?0:Math.max(this._actionLineHeight,Math.min(u,t-n));f.layout(r,d),a.style.height=`${n+r}px`}this._submenuContainer.style.top=`${ce/y}px`};if(this._layoutSubmenu=h,h(),(this._options?.persistentHover||e.hover?.alignToParent||e.hover?.tabThroughPanel||n)&&this._currentSubmenuElement===e){if(!f){let e=this._submenuDisposables.add(new fc),t=this._submenuDisposables.add(new ld(`ActionListWidget.hoverPanel`,()=>{e.value||=eo(l,()=>{e.clear(),h()})},l));this._submenuDisposables.add(t.observe(n?i:this._submenuContainer,{box:`border-box`}))}(this._options?.persistentHover||n)&&this._submenuDisposables.add(L(l,jl.RESIZE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer(),h()}))}}_createSubmenuItems(e){let t=[],n=e.filter(e=>e instanceof yo).filter(e=>e.actions.length>0);for(let e=0;e<n.length;e++){let r=n[e];r.label&&t.push({kind:`header`,group:{title:r.label},label:r.label});for(let e of r.actions){let n=e,r=n.icon??H.fromId(e.checked?A.check.id:A.blank.id),i=n.hoverContent,a=i?new ji().appendText(`${e.label}\n`).appendMarkdown(i):void 0;t.push({item:e,kind:`action`,label:e.label,description:e.tooltip&&e.tooltip!==e.label?e.tooltip:void 0,group:{title:``,icon:r},hideIcon:!1,hover:a?{content:a}:void 0,tooltip:e.tooltip||e.label,onRemove:n.onRemove,submenuActions:e instanceof yo?[new yo(e.id,``,e.actions)]:void 0})}e<n.length-1&&t.push({kind:`separator`,label:``})}for(let n of e)if(!(n instanceof yo)){let e=n,r=e.icon??H.fromId(n.checked?A.check.id:A.blank.id),i=e.hoverContent,a=i?new ji().appendText(`${n.label}\n`).appendMarkdown(i):void 0;t.push({item:n,kind:`action`,label:n.label,description:n.tooltip&&n.tooltip!==n.label?n.tooltip:void 0,group:{title:``,icon:r},hideIcon:!1,hover:a?{content:a}:void 0,tooltip:n.tooltip||n.label,onRemove:e.onRemove})}return t}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._currentSubmenuElement=void 0,this._submenuSide=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display=`none`}_clearSubmenuContainer(){this._layoutSubmenu=void 0,this._resetSubmenuPointer(),this._submenuContainer.contains(hf())&&this._list.domFocus(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._submenuHoverActionElements=[],this._submenuPanelClassName&&=(this._submenuContainer.classList.remove(this._submenuPanelClassName),void 0),this._submenuContainer.removeAttribute(`role`),this._submenuContainer.removeAttribute(`aria-label`),this._expandedTrigger?.hasAttribute(`aria-expanded`)&&this._expandedTrigger.setAttribute(`aria-expanded`,`false`),this._expandedTrigger=void 0,Df(this._submenuContainer),this._submenuContainer.style.width=``,this._submenuContainer.style.boxSizing=this._options?.persistentHover?`border-box`:``}_scheduleSubmenuHide(){this._cancelSubmenuHide(),this._options?.persistentHover||(this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300))}_cancelSubmenuHide(){this._submenuHideTimeout!==void 0&&(clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0)}_scheduleSubmenuShow(e,t){this._cancelSubmenuShow();let n=this._options?.submenuHoverDelay??500;if(this._usesSubmenuPointerIntent()){n=0;let e=this._submenuPointerOrigin;if(e&&t.clientX!==e.x&&this._currentSubmenuElement&&new Hs(e.x,e.y,this._submenuContainer).contains(t.clientX,t.clientY)){let e=Date.now();this._submenuPointerGraceDeadline??=e+200,n=Math.max(0,this._submenuPointerGraceDeadline-e)}}let r=()=>{this._submenuShowTimeout=void 0;let n=this._list.indexOf(e),r=n>=0?this._getRowElement(n):null;r&&(this._showSubmenuForElement(e,r),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(t))};n===0?r():this._submenuShowTimeout=setTimeout(r,n)}_updateSubmenuPointer(e){this._submenuPointerOrigin={x:e.clientX,y:e.clientY},this._submenuPointerGraceDeadline=void 0}_resetSubmenuPointer(){this._submenuPointerOrigin=void 0,this._submenuPointerGraceDeadline=void 0}_usesSubmenuPointerIntent(){return this._options?.persistentHover===!0||this._options?.submenuPointerIntent===!0}_cancelSubmenuShow(){this._submenuShowTimeout!==void 0&&(clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0)}async onListHover(e){this._setKeyboardNavigation(!1);let t=e.element;if(t&&t.item&&this.focusCondition(t)){let n=typeof e.index==`number`?[e.index]:[],r=hf();if(this._options?.tabThroughItemActions&&this._list.getFocus()[0]!==e.index&&Xi(r)&&this.domNode.contains(r)&&r.closest(`.action-list-item-toolbar`)&&this._list.domFocus(),Xi(e.browserEvent.target)&&e.browserEvent.target.closest(`.action-list-item-toolbar`)!==null){t.submenuActions?.length||this._cancelSubmenuShow(),this._list.setFocus(this._options?.tabThroughItemActions?n:[]);return}let i=!!(t.submenuActions?.length||t.hover?.content),a=this._suppressHover;(i||this._usesSubmenuPointerIntent())&&(this._suppressHover=!0);try{this._list.setFocus(n)}finally{this._suppressHover=a}if(i){this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(e.browserEvent)):(this._usesSubmenuPointerIntent()||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent));return}if(this._currentSubmenuElement===t?this._cancelSubmenuHide():(this._cancelSubmenuShow(),this._options?.submenuPointerIntent?this._scheduleSubmenuHide():this._options?.persistentHover||this._hideSubmenu()),this._delegate.onHover&&!t.disabled&&t.kind===`action`&&this._currentSubmenuElement!==t){let n=await this._delegate.onHover(t.item,this.cts.token),r=n?n.canPreview:void 0;r!==t.canPreview&&(t.canPreview=r,typeof e.index==`number`&&(this._list.splice(e.index,1,[t]),this._list.setFocus([e.index])))}}else t&&t.hover?.content&&typeof e.index==`number`&&(this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._options?.persistentHover||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent)))}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};th=Hm=Bm([Vm(6,Ta),Vm(7,$t),Vm(8,W)],th);var nh=class extends K{get domNode(){return this._widget.domNode}get filterContainer(){return this._widget.filterContainer}get footerContainer(){return this._widget.footerContainer}get headerContainer(){return this._widget.headerContainer}get filterInput(){return this._widget.filterInput}get closeAnimation(){return this._widget.closeAnimation}get widgetClassName(){return this._widgetClassName}get anchorPosition(){if(this._preferredAnchorPosition!==void 0)return this._preferredAnchorPosition;if(this._showAbove!==void 0)return+!!this._showAbove}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._contextViewService=s,this._layoutService=c,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=o,this._preferredAnchorPosition=a?.anchorPosition,this._useFullHeight=a?.useFullHeight??!1,this._widgetClassName=a?.widgetClassName,this._widget=this._register(l.createInstance(th,e,t,n,r,i,a)),this._register(this._widget.onDidRequestLayout(()=>{this._hasLaidOut&&(this.layout(this._lastMinWidth),this._contextViewService.layout())}))}focus(){this._widget.focus()}hide(e,t=!0){this._widget.hide(e),t&&this._contextViewService.hideContextView()}clearFilter(){return this._widget.clearFilter()}focusPrevious(){this._widget.focusPrevious()}focusNext(){this._widget.focusNext()}collapseFocusedSection(){this._widget.collapseFocusedSection()}expandFocusedSection(){this._widget.expandFocusedSection()}toggleFocusedSection(){return this._widget.toggleFocusedSection()}acceptSelected(e){this._widget.acceptSelected(e)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let e=this.domNode.parentElement?.closest(`.action-widget`);if(!e)return 0;let t=cl(e).getComputedStyle(e),n=e=>Number.parseFloat(e)||0;return n(t.paddingTop)+n(t.paddingBottom)+n(t.borderTopWidth)+n(t.borderBottomWidth)}computeHeight(){let e=this._fixedContentHeight??this._widget.computeListHeight(),t=this._widget.filterContainer?36:0,n=this._widget.footerContainer?32:0,r=this._widget.headerContainer&&!this._widget.headerContainer.hidden?this._widget.headerContainer.offsetHeight||36:0,i=t+n+r,a=cl(this.domNode),o;if(this.hasDynamicHeight()||this._preferredAnchorPosition!==void 0){let e=a.innerHeight,t=sf(this._anchor),n=t.top-a.pageYOffset,r=e-n-t.height-30,s=n;if(this._showAbove===void 0){let e=this._fixedContentHeight??this._widget.computeFullHeight();this._showAbove=this._preferredAnchorPosition===void 0?i+e>r&&s>r:this._preferredAnchorPosition===1}o=Math.max(0,(this._showAbove?s:r)-this.computeActionWidgetVerticalChromeHeight())}else{let e=this._layoutService.getContainer(a).clientHeight,t=this.domNode.getBoundingClientRect().top;o=t>0?e-t-10:e*.7}let s=this._useFullHeight?a.innerHeight:Math.floor(a.innerHeight*.6),c=this._widget.lineHeight;if(this._preferredAnchorPosition!==void 0){let t=Math.min(o,s),n=Math.min(e+i,Math.max(0,t));return Math.max(0,n-i)}let l=Math.min(Math.max(o,c*3+i),s);return Math.min(e+i,l)-i}layout(e,t){this._hasLaidOut=!0,this._lastMinWidth=e,t!==void 0&&(this._fixedContentHeight=t);let n=this.computeHeight();this._widget.layout(n);let r=this._widget.computeMaxWidth(e);return this._cachedMaxWidth=r,this._widget.layout(n,this._cachedMaxWidth),this._cachedMaxWidth}};nh=Bm([Vm(7,Dd),Vm(8,Vt),Vm(9,W)],nh);function rh(e){return e.replace(/\r\n|\r|\n/g,` `)}var ih=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ah=function(e,t){return function(n,r){t(n,r,e)}};k(`actionBar.toggledBackground`,Qi,S(1744,`Background color for toggled action items in action bar.`));var oh=`--action-widget-close-start-opacity`,sh=`--action-widget-close-start-transform`,ch={Visible:new M(`codeActionMenuVisible`,!1,S(1745,`Whether the action widget list is visible`)),FilterFocused:new M(`codeActionMenuFilterFocused`,!1,S(1746,`Whether the action widget filter input is focused`))},lh=nu(`actionWidgetService`),uh=class extends K{get isVisible(){return ch.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new fc),this._closeAnimation=this._register(new fc)}show(e,t,n,r,i,a,o,s,c){let l=ch.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(nh,e,t,n,r,s,c,i);this._contextViewService.showContextView({getAnchor:()=>i,render:e=>(l.set(!0),this._renderWidget(e,u,o??[],c)),onHide:e=>{l.reset(),this._onWidgetClosed(e)},get anchorPosition(){return u.anchorPosition},focus:()=>u.focus()},a,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}collapseSection(){this._list?.value?.collapseFocusedSection()}expandSection(){this._list?.value?.expandFocusedSection()}toggleSection(){return this._list?.value?.toggleFocusedSection()??!1}clearFilter(){return this._list?.value?.clearFilter()??!1}hide(e){let t=this._list.value,n=this._widgetElement;if(!t||this._closingList===t)return;let r=t.closeAnimation;if(!n||!r||r.duration<=0||!this._hasRequiredAncestorClasses(n,r.requiredAncestorClasses)){this._closingList=t,t.hide(e);return}this._closingList=t;let i=cl(n).getComputedStyle(n);n.style.setProperty(oh,i.opacity),n.style.setProperty(sh,i.transform),n.classList.add(r.className),t.hide(e,!1),this._closeAnimation.value=Ka(()=>{this._list.value===t&&this._contextViewService.hideContextView(e)},r.duration)}clear(){this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement?.style.removeProperty(oh),this._widgetElement?.style.removeProperty(sh),this._widgetElement=void 0,this._list.clear()}_renderWidget(e,t,n,r){let i=document.createElement(`div`);i.classList.add(`action-widget`);let a=t.widgetClassName?.split(/\s+/).filter(Boolean);if(a?.length&&i.classList.add(...a),e.appendChild(i),this._widgetElement=i,this._list.value=t,this._list.value)this._list.value.headerContainer&&i.appendChild(this._list.value.headerContainer),this._list.value.filterContainer&&i.appendChild(this._list.value.filterContainer),i.appendChild(this._list.value.domNode),this._list.value.footerContainer&&i.appendChild(this._list.value.footerContainer);else throw Error(`List has no value`);let o=new I;r?.filterAsCombobox&&o.add(Jo(i,`keydown`,e=>{e.keyCode===9&&!e.browserEvent.isComposing&&(As.stop(e,!0),this.hide(!0))}));let s=this._list.value.headerContainer;s&&o.add(Du(s,e=>e.preventDefault()));let c=0;o.add(Du(i,()=>{c=Date.now()+1e3}));let l=document.createElement(`div`),u=e.appendChild(l);u.classList.add(`context-view-block`),o.add(Du(u,e=>e.stopPropagation()));let d=0;if(n.length){let e=this._createActionBar(`.action-widget-action-bar`,n);e&&(i.appendChild(e.getContainer().parentElement),o.add(e),d=e.getContainer().offsetWidth)}let f=this._list.value?.layout(d);i.style.width=`${f}px`;let p=ch.FilterFocused.bindTo(this._contextKeyService);if(o.add({dispose:()=>p.reset()}),this._list.value?.filterInput){let e=this._list.value.filterInput;o.add(L(e,`focus`,()=>p.set(!0))),o.add(L(e,`blur`,()=>p.set(!1)))}let m=o.add(fr(e)),h=o.add(new fc);return o.add(m.onDidFocus(()=>h.clear())),o.add(m.onDidBlur(()=>{let t=()=>{let n=c-Date.now();if(n>0){h.value=Ka(t,n);return}let r=hf();r&&(e.contains(r)||r.closest(`.action-widget-hover`)||r.closest(`.action-list-submenu-panel`))||this.hide(!0)};h.value=Ka(t,75)})),o}_createActionBar(e,t){if(!t.length)return;let n=N(e),r=new Hr(n);return r.push(t,{icon:!1,label:!0}),r}_hasRequiredAncestorClasses(e,t){if(!t?.length)return!0;for(let n=e;n;n=n.parentElement)if(t.every(e=>n.classList.contains(e)))return!0;return!1}_onWidgetClosed(e){this._closingList===this._list.value?this.clear():(this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement=void 0,this._list.value?.hide(e))}};uh=ih([ah(0,Dd),ah(1,Ra),ah(2,W)],uh),_o(lh,uh,1);var dh=1100;ra(class extends ml{constructor(){super({id:`hideCodeActionWidget`,title:R(1747,`Hide action widget`),precondition:ch.Visible,keybinding:{weight:dh,primary:9,secondary:[1033]}})}run(e){e.get(lh).hide(!0)}}),ra(class extends ml{constructor(){super({id:`clearFilterCodeActionWidget`,title:R(1748,`Clear action widget filter`),precondition:T.and(ch.Visible,ch.FilterFocused),keybinding:{weight:1101,primary:9}})}run(e){let t=e.get(lh);t instanceof uh&&(t.clearFilter()||t.hide(!0))}}),ra(class extends ml{constructor(){super({id:`selectPrevCodeAction`,title:R(1749,`Select previous action`),precondition:ch.Visible,keybinding:{weight:dh,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){let t=e.get(lh);t instanceof uh&&t.focusPrevious()}}),ra(class extends ml{constructor(){super({id:`selectNextCodeAction`,title:R(1750,`Select next action`),precondition:ch.Visible,keybinding:{weight:dh,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){let t=e.get(lh);t instanceof uh&&t.focusNext()}}),ra(class extends ml{constructor(){super({id:`collapseSectionCodeAction`,title:R(1751,`Collapse section`),precondition:T.and(ch.Visible,ch.FilterFocused.negate()),keybinding:{weight:dh,primary:15}})}run(e){let t=e.get(lh);t instanceof uh&&t.collapseSection()}}),ra(class extends ml{constructor(){super({id:`expandSectionCodeAction`,title:R(1752,`Expand section`),precondition:T.and(ch.Visible,ch.FilterFocused.negate()),keybinding:{weight:dh,primary:17}})}run(e){let t=e.get(lh);t instanceof uh&&t.expandSection()}}),ra(class extends ml{constructor(){super({id:`toggleSectionCodeAction`,title:R(1753,`Toggle section`),precondition:T.and(ch.Visible,ch.FilterFocused.negate()),keybinding:{weight:dh,primary:10}})}run(e){let t=e.get(lh);t instanceof uh&&(t.toggleSection()||t.acceptSelected())}}),ra(class extends ml{constructor(){super({id:Um,title:R(1754,`Accept selected action`),precondition:ch.Visible,keybinding:{weight:dh,primary:3,secondary:[2137]}})}run(e){let t=e.get(lh);t instanceof uh&&t.acceptSelected()}}),ra(class extends ml{constructor(){super({id:Wm,title:R(1755,`Preview selected action`),precondition:ch.Visible,keybinding:{weight:dh,primary:2051}})}run(e){let t=e.get(lh);t instanceof uh&&t.acceptSelected(!0)}});var fh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ph=function(e,t){return function(n,r){t(n,r,e)}},mh,hh=class extends K{static{mh=this}static{this.baseId=`editor.widget.postEditWidget`}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=i,this.edits=a,this.onSelectNewEdit=o,this.additionalActions=s,this._keybindingService=l,this._actionWidgetService=u,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(c),this.visibleContext.set(!0),this._register(Yo(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Yo((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(e=>{this.dispose()})),this._register(gu.runAndSubscribe(l.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=N(`.post-edit-widget`),this.button=this._register(new Qa(this.domNode,{supportIcons:!0})),this.button.label=`$(insert)`,this._register(L(this.domNode,jl.CLICK,()=>this.showSelector()))}getId(){return mh.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let e=ya(this.button.element),t={x:e.left+e.width,y:e.top+e.height};this._actionWidgetService.show(`postEditWidget`,!1,this.edits.allEdits.map((e,t)=>({kind:`action`,item:e,label:e.title,disabled:!1,canPreview:!1,group:{title:``,icon:H.fromId(t===this.edits.activeEditIndex?A.check.id:A.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:e=>{this._actionWidgetService.hide(!1);let t=this.edits.allEdits.findIndex(t=>t===e);if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}},t,this.editor.getDomNode()??void 0,this.additionalActions)}};hh=mh=fh([ph(8,Ra),ph(9,Ta),ph(10,lh)],hh);var gh=class extends K{constructor(e,t,n,r,i,a,o,s){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=r,this._getAdditionalActions=i,this._instantiationService=a,this._bulkEditService=o,this._notificationService=s,this._currentWidget=this._register(new fc),this._register(gu.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,n,r,i){if(!e.length||!this._editor.hasModel())return;let a=this._editor.getModel(),o=t.allEdits.at(t.activeEditIndex);if(!o)return;let s=async a=>{let o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:a,allEdits:t.allEdits},n,r,i))},c=(r,i)=>{Bi(r)||(this._notificationService.error(i),n&&this.show(e[0],t,s))},l=new Ad(this._editor,3,void 0,i),u;try{u=await ro(r(o,l.token),l.token)}catch(e){return c(e,S(991,`Error resolving edit '{0}':
|
|
4
4
|
{1}`,o.title,Fm(e)))}finally{l.dispose()}if(i.isCancellationRequested)return;let d=Am(a.uri,e,u),f=e[0],p=a.deltaDecorations([],[{range:f,options:{description:`paste-line-suffix`,stickiness:0}}]);this._editor.focus();let m,h;try{m=await this._bulkEditService.apply(d,{editor:this._editor,token:i}),h=a.getDecorationRange(p[0])}catch(e){return c(e,S(992,`Error applying edit '{0}':
|
|
5
5
|
{1}`,o.title,Fm(e)))}finally{a.deltaDecorations(p,[])}i.isCancellationRequested||n&&m.isApplied&&t.allEdits.length>1&&this.show(h??f,t,s)}show(e,t,n){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(hh,this._id,this._editor,this._visibleContext,this._showCommand,e,t,n,this._getAdditionalActions()))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};gh=fh([ph(5,W),ph(6,ad),ph(7,xt)],gh);var _h=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vh=function(e,t){return function(n,r){t(n,r,e)}},yh,bh=`editor.changePasteType`,xh=`editor.pasteAs.preferences`,Sh=new M(`pasteWidgetVisible`,!1,S(971,`Whether the paste widget is showing`)),Ch=`application/vnd.code.copymetadata`,wh=class extends K{static{yh=this}static{this.ID=`editor.contrib.copyPasteActionController`}static get(e){return e.getContribution(yh.ID)}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._logService=n,this._bulkEditService=r,this._clipboardService=i,this._commandService=a,this._configService=o,this._languageFeaturesService=s,this._quickInputService=c,this._progressService=l,this._editor=e,this._register(e.onWillCopy(e=>this.handleCopy(e))),this._register(e.onWillCut(e=>this.handleCopy(e))),this._register(e.onWillPaste(e=>this.handlePaste(e))),this._pasteProgressManager=this._register(new em(`pasteIntoEditor`,e,t)),this._postPasteWidgetManager=this._register(t.createInstance(gh,`pasteIntoEditor`,e,Sh,{id:bh,label:S(972,`Show paste options...`)},()=>yh._configureDefaultAction?[yh._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(e){this._logService.trace(`CopyPasteController.pasteAs`),this._editor.focus();try{this._logService.trace(`Before calling editor.action.clipboardPasteAction`),this._pasteAsActionContext={preferred:e},await this._commandService.executeCommand(`editor.action.clipboardPasteAction`)}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(97).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){if(this._logService.trace(`CopyPasteController#handleCopy`),!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled()))return;let t=this._editor.getModel(),n=this._editor._getViewModel(),r=this._editor.getSelections();if(!t||!n||!r?.length)return;let i={multicursorText:e.dataToCopy.multicursorText??null,pasteOnNewLine:e.dataToCopy.isFromEmptySelection,mode:null},a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(e=>!!e.prepareDocumentPaste);if(!a.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:i});return}let o=new zc,s=a.flatMap(e=>e.copyMimeTypes??[]),c=kf();this.setCopyMetadata(e.clipboardData,{id:c,providerCopyMimeTypes:s,defaultPastePayload:i});let l=a.map(n=>({providerMimeTypes:n.copyMimeTypes,operation:kt(r=>n.prepareDocumentPaste(t,e.dataToCopy.sourceRanges,o,r).catch(e=>{console.error(e)}))}));yh._currentCopyOperation?.operations.forEach(e=>e.operation.cancel()),yh._currentCopyOperation={handle:c,operations:l}}async handlePaste(e){if(this._logService.trace(`CopyPasteController#handlePaste for id : `,e.metadata?.id),!this._editor.hasTextFocus())return;let t=e.toExternalVSDataTransfer();if(!t)return;t.delete(Ch),im.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let n=this._editor.getModel(),r=this._editor.getSelections();if(!r?.length||!n||this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let i=this.fetchCopyMetadata(e);this._logService.trace(`CopyPasteController#handlePaste with metadata : `,i?.id,` and text.length : `,e.clipboardData.getData(`text/plain`).length);let a=Array.from(e.clipboardData.files).map(e=>e.type),o=[...e.clipboardData.types,...a,...i?.providerCopyMimeTypes??[],ko.uriList],s=this._languageFeaturesService.documentPasteEditProvider.ordered(n).filter(e=>{let t=this._pasteAsActionContext?.preferred;return t&&!this.providerMatchesPreference(e,t)?!1:e.pasteMimeTypes?.some(e=>Zo(e,o))});s.length?(e.setHandled(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,s,r,t,i):this.doPasteInline(s,r,t,i,e.browserEvent)):this._pasteAsActionContext?.preferred&&(this.showPasteAsNoEditMessage(r,this._pasteAsActionContext.preferred),e.setHandled())}showPasteAsNoEditMessage(e,t){let n=`only`in t?t.only.value:`preferences`in t?t.preferences.length?t.preferences.map(e=>e.value).join(`, `):S(973,`empty`):t.providerId;im.get(this._editor)?.showMessage(S(974,`No paste edits for '{0}' found`,n),e[0].getStartPosition())}doPasteInline(e,t,n,r,i){this._logService.trace(`CopyPasteController#doPasteInline`);let a=this._editor;if(!a.hasModel())return;let o=new Ad(a,3,void 0),s=kt(async a=>{let c=this._editor;if(!c.hasModel())return;let l=c.getModel(),u=new I,d=u.add(new No(a));u.add(o.token.onCancellationRequested(()=>d.cancel()));let f=d.token;try{if(await this.mergeInDataFromCopy(e,n,r,f),f.isCancellationRequested)return;let a=e.filter(e=>this.isSupportedPasteProvider(e,n));if(!a.length||a.length===1&&a[0]instanceof um)return this.applyDefaultPasteHandler(n,r,f,i);let o={triggerKind:ga.Automatic},s=await this.getPasteEdits(a,n,l,t,o,f);if(u.add(s),f.isCancellationRequested)return;if(s.edits.length===1&&s.edits[0].provider instanceof um)return this.applyDefaultPasteHandler(n,r,f,i);if(s.edits.length){let e=c.getOption(97).showPasteSelector===`afterPaste`;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:this.getInitialActiveEditIndex(l,s.edits),allEdits:s.edits},e,async(e,n)=>{if(!e.provider.resolveDocumentPasteEdit)return e;let r=e.provider.resolveDocumentPasteEdit(e,n),i=new Cn,a=await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S(975,`Resolving paste edit for '{0}'. Click to cancel`,e.title),Pa(Promise.race([i.p,r]),n),{cancel:()=>i.cancel()},0);return a&&(e.insertText=a.insertText,e.additionalEdit=a.additionalEdit),e},f)}await this.applyDefaultPasteHandler(n,r,f,i)}finally{u.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),S(976,`Running paste handlers. Click to cancel and do basic paste`),s,{cancel:async()=>{s.cancel(),o.token.isCancellationRequested||await this.applyDefaultPasteHandler(n,r,o.token,i)}}).finally(()=>{o.dispose()}),this._currentPasteOperation=s}showPasteAsPick(e,t,n,r,i){this._logService.trace(`CopyPasteController#showPasteAsPick`);let a=kt(async o=>{let s=this._editor;if(!s.hasModel())return;let c=s.getModel(),l=new I,u=l.add(new Ad(s,3,void 0,o));try{if(await this.mergeInDataFromCopy(t,r,i,u.token),u.token.isCancellationRequested)return;let a=t.filter(t=>this.isSupportedPasteProvider(t,r,e));e&&(a=a.filter(t=>this.providerMatchesPreference(t,e)));let o={triggerKind:ga.PasteAs,only:e&&`only`in e?e.only:void 0},s=l.add(await this.getPasteEdits(a,r,c,n,o,u.token));if(u.token.isCancellationRequested)return;if(e&&(s={edits:s.edits.filter(t=>`only`in e?e.only.contains(t.kind):`preferences`in e?e.preferences.some(e=>e.contains(t.kind)):e.providerId===t.provider.id),dispose:s.dispose}),!s.edits.length){e&&this.showPasteAsNoEditMessage(n,e);return}let d;if(e)d=s.edits.at(0);else{let e={id:`editor.pasteAs.default`,label:S(977,`Configure default paste action`),edit:void 0},t=await this._quickInputService.pick([...s.edits.map(e=>({label:e.title,description:e.kind?.value,edit:e})),...yh._configureDefaultAction?[to({type:`separator`}),{label:yh._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:S(978,`Select Paste Action`)});if(t===e){yh._configureDefaultAction?.run();return}d=t?.edit}if(!d)return;let f=Am(c.uri,n,d);await this._bulkEditService.apply(f,{editor:this._editor})}finally{l.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:S(979,`Running paste handlers`)},()=>a)}setCopyMetadata(e,t){this._logService.trace(`CopyPasteController#setCopyMetadata new id : `,t.id),e.setData(Ch,JSON.stringify(t))}fetchCopyMetadata(e){this._logService.trace(`CopyPasteController#fetchCopyMetadata`);let t=e.clipboardData.getData(Ch);if(t)try{return JSON.parse(t)}catch{return}if(e.metadata)return{defaultPastePayload:{mode:e.metadata.mode,multicursorText:e.metadata.multicursorText??null,pasteOnNewLine:!!e.metadata.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,n,r){if(this._logService.trace(`CopyPasteController#mergeInDataFromCopy with metadata : `,n?.id),n?.id&&yh._currentCopyOperation?.handle===n.id){let n=yh._currentCopyOperation.operations.filter(t=>e.some(e=>e.pasteMimeTypes.some(e=>Zo(e,t.providerMimeTypes)))).map(e=>e.operation),i=await Promise.all(n);if(r.isCancellationRequested)return;for(let e of i.reverse())if(e)for(let[n,r]of e)t.replace(n,r)}if(!t.has(ko.uriList)){let e=await this._clipboardService.readResources();if(r.isCancellationRequested)return;e.length&&t.append(ko.uriList,Dc(Kl.create(e)))}}async getPasteEdits(e,t,n,r,i,a){let o=new I,s=await Pa(Promise.all(e.map(async e=>{try{let s=await e.provideDocumentPasteEdits?.(n,r,t,i,a);return s&&o.add(s),s?.edits?.map(t=>({...t,provider:e}))}catch(e){Bi(e)||console.error(e);return}})),a);return{edits:jm(_u(s??[]).flat().filter(e=>!i.only||i.only.contains(e.kind))),dispose:()=>o.dispose()}}async applyDefaultPasteHandler(e,t,n,r){let i=await(e.get(ko.text)??e.get(`text`))?.asString()??``;if(n.isCancellationRequested)return;let a={clipboardEvent:r,text:i,pasteOnNewLine:t?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:t?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace(`CopyPasteController#applyDefaultPasteHandler for id : `,t?.id),this._editor.trigger(`keyboard`,`paste`,a)}isSupportedPasteProvider(e,t,n){return e.pasteMimeTypes?.some(e=>t.matches(e))?!n||this.providerMatchesPreference(e,n):!1}providerMatchesPreference(e,t){return`only`in t?e.providedPasteEditKinds.some(e=>t.only.contains(e)):`preferences`in t?e.providedPasteEditKinds.some(e=>t.preferences.some(t=>t.contains(e))):e.id===t.providerId}getInitialActiveEditIndex(e,t){let n=this._configService.getValue(xh,{resource:e.uri});for(let e of Array.isArray(n)?n:[]){let n=new Yp(e),r=t.findIndex(e=>n.contains(e.kind));if(r>=0)return r}return 0}};wh=yh=_h([vh(1,W),vh(2,Pu),vh(3,ad),vh(4,us),vh(5,kr),vh(6,Wi),vh(7,z),vh(8,Jd),vh(9,Fu)],wh);var Th=`9_cutcopypaste`,Eh=ba||document.queryCommandSupported&&document.queryCommandSupported(`cut`),Dh=ba||document.queryCommandSupported&&document.queryCommandSupported(`copy`),Oh=navigator.clipboard===void 0||Do?document.queryCommandSupported&&document.queryCommandSupported(`paste`):!0;function kh(e){return e.register(),e}var Ah=Eh?kh(new rl({id:`editor.action.clipboardCutAction`,precondition:void 0,kbOpts:ba?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:O.MenubarEditMenu,group:`2_ccp`,title:S(864,`Cu&&t`),order:1},{menuId:O.EditorContext,group:Th,title:S(865,`Cut`),when:D.writable,order:1},{menuId:O.CommandPalette,group:``,title:S(866,`Cut`),order:1},{menuId:O.SimpleEditorContext,group:Th,title:S(867,`Cut`),when:D.writable,order:1}]})):void 0,jh=Dh?kh(new rl({id:`editor.action.clipboardCopyAction`,precondition:void 0,kbOpts:ba?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:O.MenubarEditMenu,group:`2_ccp`,title:S(868,`&&Copy`),order:2},{menuId:O.EditorContext,group:Th,title:S(869,`Copy`),order:2},{menuId:O.CommandPalette,group:``,title:S(870,`Copy`),order:1},{menuId:O.SimpleEditorContext,group:Th,title:S(871,`Copy`),order:2}]})):void 0;Dn.appendMenuItem(O.MenubarEditMenu,{submenu:O.MenubarCopy,title:R(876,`Copy As`),group:`2_ccp`,order:3}),Dn.appendMenuItem(O.EditorContext,{submenu:O.EditorContextCopy,title:R(877,`Copy As`),group:Th,order:3}),Dn.appendMenuItem(O.EditorContext,{submenu:O.EditorContextShare,title:R(878,`Share`),group:`11_share`,order:-1,when:T.and(T.notEquals(`resourceScheme`,`output`),D.editorTextFocus)}),Dn.appendMenuItem(O.ExplorerContext,{submenu:O.ExplorerContextShare,title:R(879,`Share`),group:`11_share`,order:-1});var Mh=Oh?kh(new rl({id:`editor.action.clipboardPasteAction`,precondition:void 0,kbOpts:ba?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:O.MenubarEditMenu,group:`2_ccp`,title:S(872,`&&Paste`),order:4},{menuId:O.EditorContext,group:Th,title:S(873,`Paste`),when:D.writable,order:4},{menuId:O.CommandPalette,group:``,title:S(874,`Paste`),order:1},{menuId:O.SimpleEditorContext,group:Th,title:S(875,`Paste`),when:D.writable,order:4}]})):void 0,Nh=class extends G{constructor(){super({id:`editor.action.clipboardCopyWithSyntaxHighlightingAction`,label:R(880,`Copy with Syntax Highlighting`),precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,weight:100}})}run(e,t){let n=e.get(Pu),r=e.get(us);n.trace(`ExecCommandCopyWithSyntaxHighlightingAction#run`),t.hasModel()&&(t.getOption(45)||!t.getSelection().isEmpty())&&(Pl.forceCopyWithSyntaxHighlighting=!0,t.focus(),n.trace(`ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)`),Ph(t,r),n.trace(`ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)`),Pl.forceCopyWithSyntaxHighlighting=!1)}};function Ph(e,t){if(Pl.electronBugWorkaroundCopyEventHasFired=!1,e.getContainerDomNode().ownerDocument.execCommand(`copy`),ba&&Pl.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:n}=Ws(e._getViewModel(),void 0,Do);t.writeText(n.text)}}function Fh(e,t){e&&(e.addImplementation(1e4,`code-editor`,(e,n)=>{let r=e.get(Pu),i=e.get(us);r.trace(`registerExecCommandImpl (addImplementation code-editor for : `,t,`)`);let a=e.get($s).getFocusedCodeEditor();if(a&&a.hasTextFocus()&&a.hasModel()){let e=a.getOption(45),n=a.getSelection();return n&&n.isEmpty()&&!e||(a.getOption(171)&&t===`cut`?(Ih(a),r.trace(`registerExecCommandImpl (before execCommand copy)`),Ph(a,i),a.trigger(void 0,`cut`,void 0),r.trace(`registerExecCommandImpl (after execCommand copy)`)):(Ih(a),r.trace(`registerExecCommandImpl (before execCommand `+t+`)`),t===`copy`?Ph(a,i):a.getContainerDomNode().ownerDocument.execCommand(t),r.trace(`registerExecCommandImpl (after execCommand `+t+`)`))),!0}return!1}),e.addImplementation(0,`generic-dom`,(e,n)=>{let r=e.get(Pu);return r.trace(`registerExecCommandImpl (addImplementation generic-dom for : `,t,`)`),r.trace(`registerExecCommandImpl (before execCommand `+t+`)`),vs().execCommand(t),r.trace(`registerExecCommandImpl (after execCommand `+t+`)`),!0}))}function Ih(e){if(e.getOption(171)){let t=lf.get(e.getId());t&&t.handleWillCopy()}}Fh(Ah,`cut`),Fh(jh,`copy`),Mh&&(Mh.addImplementation(1e4,`code-editor`,(e,t)=>{let n=e.get(Pu);n.trace(`registerExecCommandImpl (addImplementation code-editor for : paste)`);let r=e.get($s),i=e.get(us),a=r.getFocusedCodeEditor();if(a&&a.hasModel()&&a.hasTextFocus()){if(a.getOption(171)){let e=lf.get(a.getId());e&&e.handleWillPaste()}n.trace(`registerExecCommandImpl (before triggerPaste)`);let e=i.triggerPaste(sa().vscodeWindowId);return e?(n.trace(`registerExecCommandImpl (triggerPaste defined)`),e.then(async()=>(n.trace(`registerExecCommandImpl (after triggerPaste)`),wh.get(a)?.finishedPaste()??Promise.resolve()))):(n.trace(`registerExecCommandImpl (triggerPaste undefined)`),!ln||(n.trace(`registerExecCommandImpl (Paste handling on web)`),(async()=>{let e=await i.readText();if(e!==``){let t=Pd.INSTANCE.get(e),r=!1,i=null,o=null;t&&(r=a.getOption(45)&&!!t.isFromEmptySelection,i=t.multicursorText===void 0?null:t.multicursorText,o=t.mode),n.trace(`registerExecCommandImpl (clipboardText.length : `,e.length,` id : `,t?.id,`)`),a.trigger(`keyboard`,`paste`,{text:e,pasteOnNewLine:r,multicursorText:i,mode:o})}})()))}return!1}),Mh.addImplementation(0,`generic-dom`,(e,t)=>(e.get(Pu).trace(`registerExecCommandImpl (addImplementation generic-dom for : paste)`),e.get(us).triggerPaste(sa().vscodeWindowId)??!1))),Dh&&B(Nh);var Lh=new class{constructor(){this.QuickFix=new Yp(`quickfix`),this.Refactor=new Yp(`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 Yp(`notebook`),this.Source=new Yp(`source`),this.SourceOrganizeImports=this.Source.append(`organizeImports`),this.SourceFixAll=this.Source.append(`fixAll`),this.SurroundWith=this.Refactor.append(`surround`)}},Rh;(function(e){e.Refactor=`refactor`,e.RefactorPreview=`refactor preview`,e.Lightbulb=`lightbulb`,e.Default=`other (default)`,e.SourceAction=`source action`,e.QuickFix=`quick fix action`,e.FixAll=`fix all`,e.OrganizeImports=`organize imports`,e.AutoFix=`auto fix`,e.QuickFixHover=`quick fix hover window`,e.OnSave=`save participants`,e.ProblemsView=`problems view`})(Rh||={});function zh(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some(n=>Vh(t,n,e.include))||!e.includeSourceActions&&Lh.Source.contains(t))}function Bh(e,t){let n=t.kind?new Yp(t.kind):void 0;return!(e.include&&(!n||!e.include.contains(n))||e.excludes&&n&&e.excludes.some(t=>Vh(n,t,e.include))||!e.includeSourceActions&&n&&Lh.Source.contains(n)||e.onlyIncludePreferredActions&&!t.isPreferred)}function Vh(e,t,n){return!(!t.contains(e)||n&&t.contains(n))}var Hh=class e{static fromUser(t,n){return!t||typeof t!=`object`?new e(n.kind,n.apply,!1):new e(e.getKindFromUser(t,n.kind),e.getApplyFromUser(t,n.apply),e.getPreferredUser(t))}static getApplyFromUser(e,t){switch(typeof e.apply==`string`?e.apply.toLowerCase():``){case`first`:return`first`;case`never`:return`never`;case`ifsingle`:return`ifSingle`;default:return t}}static getKindFromUser(e,t){return typeof e.kind==`string`?new Yp(e.kind):t}static getPreferredUser(e){return typeof e.preferred==`boolean`&&e.preferred}constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}},Uh=class{constructor(e,t,n){this.action=e,this.provider=t,this.highlightRange=n}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let t;try{t=await this.provider.resolveCodeAction(this.action,e)}catch(e){ec(e)}t&&(this.action.edit=t.edit)}return this}},Wh=`editor.action.codeAction`,Gh=`editor.action.quickFix`,Kh=`editor.action.autoFix`,qh=`editor.action.refactor`,Jh=`editor.action.sourceAction`,Yh=`editor.action.organizeImports`,Xh=`editor.action.fixAll`,Zh=1e3,Qh=class e extends K{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:t},{action:n}){return t.isAI&&!n.isAI?1:!t.isAI&&n.isAI?-1:ku(t.diagnostics)?ku(n.diagnostics)?e.codeActionsPreferredComparator(t,n):-1:ku(n.diagnostics)?1:e.codeActionsPreferredComparator(t,n)}constructor(t,n,r){super(),this.documentation=n,this._register(r),this.allActions=[...t].sort(e.codeActionsComparator),this.validActions=this.allActions.filter(({action:e})=>!e.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Lh.QuickFix.contains(new Yp(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}},$h={actions:[],documentation:void 0};async function eg(e,t,n,r,i,a){let o=r.filter||{},s={...o,excludes:[...o.excludes||[],Lh.Notebook]},c={only:o.include?.value,trigger:r.type},l=new Bs(t,a),u=tg(e,t,r.type===2?s:o),d=new I,f=u.map(async e=>{let r=setTimeout(()=>i.report(e),1250);try{let r=await e.provideCodeActions(t,n,c,l.token);if(l.token.isCancellationRequested)return r?.dispose(),$h;r&&d.add(r);let i=(r?.actions||[]).filter(e=>e&&Bh(o,e)),a=rg(e,i,o.include);return{actions:i.map(t=>new Uh(t,e)),documentation:a}}catch(e){if(Bi(e))throw e;return ec(e),$h}finally{clearTimeout(r)}}),p=e.onDidChange(()=>{let n=e.all(t);Nd(n,u)||l.cancel()});try{let n=await Promise.all(f),i=n.map(e=>e.actions).flat(),a=new Qh(i,[..._u(n.map(e=>e.documentation)),...ng(e,t,r,i)],d);return d.add(a),a}catch(e){throw d.dispose(),e}finally{p.dispose(),l.dispose()}}function tg(e,t,n){return e.all(t).filter(e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some(e=>zh(n,new Yp(e))))}function*ng(e,t,n,r){if(t&&r.length)for(let i of e.all(t))i._getAdditionalMenuItems&&(yield*i._getAdditionalMenuItems?.({trigger:n.type,only:n.filter?.include?.value},r.map(e=>e.action)))}function rg(e,t,n){if(!e.documentation)return;let r=e.documentation.map(e=>({kind:new Yp(e.kind),command:e.command}));if(n){let e;for(let t of r)t.kind.contains(n)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return e?.command}for(let e of t)if(e.kind){for(let t of r)if(t.kind.contains(new Yp(e.kind)))return t.command}}var ig;(function(e){e.OnSave=`onSave`,e.FromProblemsView=`fromProblemsView`,e.FromCodeActions=`fromCodeActions`,e.FromAILightbulb=`fromAILightbulb`,e.FromProblemsHover=`fromProblemsHover`})(ig||={});async function ag(e,t,n,r,i=E.None){let a=e.get(ad),o=e.get(kr),s=e.get(St),c=e.get(xt),l=e.get(md);if(s.publicLog2(`codeAction.applyCodeAction`,{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:n}),l.playSignal(bu.codeActionTriggered),await t.resolve(i),!i.isCancellationRequested&&(!t.action.edit?.edits.length||(await a.apply(t.action.edit,{editor:r?.editor,label:t.action.title,quotableLabel:t.action.title,code:`undoredo.codeAction`,respectAutoSaveConfig:n!==ig.OnSave,showPreview:r?.preview,reason:ws.codeAction({kind:t.action.kind,providerId:gl.fromExtensionId(t.provider?.extensionId)})})).isApplied)){if(t.action.command)try{await o.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){let t=og(e);c.error(typeof t==`string`?t:S(881,`An unknown error occurred while applying the code action`))}setTimeout(()=>l.playSignal(bu.codeActionApplied),Zh)}}function og(e){if(typeof e==`string`)return e;if(e instanceof Error&&typeof e.message==`string`)return e.message}zn.registerCommand(`_executeCodeActionProvider`,async function(e,t,n,r,i){if(!(t instanceof Qn))throw Lo();let{codeActionProvider:a}=e.get(z),o=e.get(dt).getModel(t);if(!o)throw Lo();let s=J.isISelection(n)?J.liftSelection(n):w.isIRange(n)?o.validateRange(n):void 0;if(!s)throw Lo();let c=typeof r==`string`?new Yp(r):void 0,l=await eg(a,o,s,{type:1,triggerAction:Rh.Default,filter:{includeSourceActions:!0,include:c}},Ql.None,E.None),u=[],d=Math.min(l.validActions.length,typeof i==`number`?i:0);for(let e=0;e<d;e++)u.push(l.validActions[e].resolve(E.None));try{return await Promise.all(u),l.validActions.map(e=>e.action)}finally{setTimeout(()=>l.dispose(),100)}});var sg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cg=function(e,t){return function(n,r){t(n,r,e)}},lg,ug=class{static{lg=this}static{this.codeActionCommands=[qh,Wh,Jh,Yh,Xh]}constructor(e){this.keybindingService=e}getResolver(){let e=new Pc(()=>this.keybindingService.getKeybindings().filter(e=>lg.codeActionCommands.indexOf(e.command)>=0).filter(e=>e.resolvedKeybinding).map(e=>{let t=e.commandArgs;return e.command===`editor.action.organizeImports`?t={kind:Lh.SourceOrganizeImports.value}:e.command===`editor.action.fixAll`&&(t={kind:Lh.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...Hh.fromUser(t,{kind:Yp.None,apply:`never`})}}));return t=>{if(t.kind)return this.bestKeybindingForCodeAction(t,e.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;let n=new Yp(e.kind);return t.filter(e=>e.kind.contains(n)).filter(t=>!t.preferred||e.isPreferred).reduceRight((e,t)=>e?e.kind.contains(t.kind)?t:e:t,void 0)}};ug=lg=sg([cg(0,Ta)],ug),k(`symbolIcon.arrayForeground`,ri,S(1569,`The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.booleanForeground`,ri,S(1570,`The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.classForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},S(1571,`The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.colorForeground`,ri,S(1572,`The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.constantForeground`,ri,S(1573,`The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.constructorForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},S(1574,`The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.enumeratorForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},S(1575,`The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.enumeratorMemberForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},S(1576,`The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.eventForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},S(1577,`The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.fieldForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},S(1578,`The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.fileForeground`,ri,S(1579,`The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.folderForeground`,ri,S(1580,`The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.functionForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},S(1581,`The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.interfaceForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},S(1582,`The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.keyForeground`,ri,S(1583,`The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.keywordForeground`,ri,S(1584,`The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.methodForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},S(1585,`The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.moduleForeground`,ri,S(1586,`The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.namespaceForeground`,ri,S(1587,`The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.nullForeground`,ri,S(1588,`The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.numberForeground`,ri,S(1589,`The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.objectForeground`,ri,S(1590,`The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.operatorForeground`,ri,S(1591,`The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.packageForeground`,ri,S(1592,`The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.propertyForeground`,ri,S(1593,`The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.referenceForeground`,ri,S(1594,`The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.snippetForeground`,ri,S(1595,`The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.stringForeground`,ri,S(1596,`The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.structForeground`,ri,S(1597,`The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.textForeground`,ri,S(1598,`The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.typeParameterForeground`,ri,S(1599,`The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.unitForeground`,ri,S(1600,`The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),k(`symbolIcon.variableForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},S(1601,`The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`));var dg=Object.freeze({kind:Yp.Empty,title:S(917,`More Actions...`)}),fg=Object.freeze([{kind:Lh.QuickFix,title:S(918,`Quick Fix`)},{kind:Lh.RefactorExtract,title:S(919,`Extract`),icon:A.wrench},{kind:Lh.RefactorInline,title:S(920,`Inline`),icon:A.wrench},{kind:Lh.RefactorRewrite,title:S(921,`Rewrite`),icon:A.wrench},{kind:Lh.RefactorMove,title:S(922,`Move`),icon:A.wrench},{kind:Lh.SurroundWith,title:S(923,`Surround With`),icon:A.surroundWith},{kind:Lh.Source,title:S(924,`Source Action`),icon:A.symbolFile},dg]);function pg(e,t,n){if(!t)return e.map(e=>({kind:`action`,item:e,group:dg,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length}));let r=fg.map(e=>({group:e,actions:[]}));for(let t of e){let e=t.action.kind?new Yp(t.action.kind):Yp.None;for(let n of r)if(n.group.kind.contains(e)){n.actions.push(t);break}}let i=[];for(let e of r)if(e.actions.length){i.push({kind:`header`,group:e.group});for(let t of e.actions){let r=e.group;i.push({kind:`action`,item:t,group:t.action.isAI?{title:r.title,kind:r.kind,icon:A.sparkle}:r,label:t.action.title,disabled:!!t.action.disabled,keybinding:n(t.action)})}}return i}var mg=new M(`supportedCodeAction`,``),hg=class extends K{constructor(e,t,n,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=n,this._delay=r,this._autoTriggerTimer=this._register(new $i),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged(e=>this._onMarkerChanges(e))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){let t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){let t=this._editor.getModel();t&&e.some(e=>Wt(e,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Rh.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;let t=this._editor.getSelection();if(e.type===1)return t;let n=this._editor.getOption(73).enabled;if(n!==pt.Off||this.ignoreLightbulbOff){if(n===pt.Off||n===pt.On)return t;if(n===pt.OnCode){if(!t.isEmpty())return t;let e=this._editor.getModel(),{lineNumber:n,column:r}=t.getPosition(),i=e.getLineContent(n);if(i.length===0)return;if(r===1){if(/\s/.test(i[0]))return}else if(r===e.getLineMaxColumn(n)){if(/\s/.test(i[i.length-1]))return}else if(/\s/.test(i[r-2])&&/\s/.test(i[r-1]))return}return t}}},gg;(function(e){e.Empty={type:0};class t{constructor(e,t,n){this.trigger=e,this.position=t,this._cancellablePromise=n,this.type=1,this.actions=n.catch(e=>{if(Bi(e))return _g;throw e})}cancel(){this._cancellablePromise.cancel()}}e.Triggered=t})(gg||={});var _g=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1}),vg=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._registry=t,this._markerService=n,this._progressService=i,this._configurationService=a,this._codeActionOracle=this._register(new fc),this._state=gg.Empty,this._onDidChangeState=this._register(new P),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new fc),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=mg.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(73)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(gg.Empty,!0))}_settingEnabledNearbyQuickfixes(){let e=this._editor?.getModel();return this._configurationService?this._configurationService.getValue(`editor.codeActionWidget.includeNearbyQuickFixes`,{resource:e?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(gg.Empty),this.codeActionsDisposable.clear();let e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(104)){let t=this._registry.all(e).flatMap(e=>e.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(` `));let n=new hg(this._editor,this._markerService,t=>{if(!t){this.setState(gg.Empty);return}let n=t.selection.getStartPosition(),r=kt(async n=>{if(this._settingEnabledNearbyQuickfixes()&&t.trigger.type===1&&(t.trigger.triggerAction===Rh.QuickFix||t.trigger.filter?.include?.contains(Lh.QuickFix))){let r=new I,i=!1;try{let a=r.add(await eg(this._registry,e,t.selection,t.trigger,Ql.None,n)),o=[...a.allActions];if(n.isCancellationRequested)return _g;let s=a.validActions?.some(e=>e.action.kind&&Lh.QuickFix.contains(new Yp(e.action.kind))&&!e.action.isAI),c=this._markerService.read({resource:e.uri});if(s){for(let e of a.validActions)e.action.command?.arguments?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...c.filter(e=>e.relatedInformation)]);let e=this._setCodeActions({validActions:a.validActions,allActions:o,documentation:a.documentation,hasAutoFix:a.hasAutoFix,hasAIFix:a.hasAIFix,allAIFixes:a.allAIFixes,dispose:()=>r.dispose()});return i=!0,e}if(!s&&c.length>0){let s=t.selection.getPosition(),l=s,u=Number.MAX_VALUE,d=[...a.validActions];for(let i of c){let f=i.endColumn,p=i.endLineNumber,m=i.startLineNumber;if(p===s.lineNumber||m===s.lineNumber){l=new j(p,f);let i={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:Lh.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||``,position:l}},m=new J(l.lineNumber,l.column,l.lineNumber,l.column),h=r.add(await eg(this._registry,e,m,i,Ql.None,n));if(n.isCancellationRequested)return _g;if(h.validActions.length!==0){for(let e of h.validActions)e.action.command?.arguments?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...c.filter(e=>e.relatedInformation)]);a.allActions.length===0&&o.push(...h.allActions),Math.abs(s.column-f)<u?d.unshift(...h.validActions):d.push(...h.validActions)}u=Math.abs(s.column-f)}}let f=d.filter((e,t,n)=>n.findIndex(t=>t.action.title===e.action.title)===t);f.sort((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0);let p=this._setCodeActions({validActions:f,allActions:o,documentation:a.documentation,hasAutoFix:a.hasAutoFix,hasAIFix:a.hasAIFix,allAIFixes:a.allAIFixes,dispose:()=>r.dispose()});return i=!0,p}}finally{i||r.dispose()}}if(t.trigger.type===1){let r=await eg(this._registry,e,t.selection,t.trigger,Ql.None,n);return n.isCancellationRequested?(r.dispose(),_g):this._setCodeActions(r)}let r=await eg(this._registry,e,t.selection,t.trigger,Ql.None,n);return n.isCancellationRequested?(r.dispose(),_g):this._setCodeActions(r)});t.trigger.type===1&&this._progressService?.showWhile(r,250);let i=new gg.Triggered(t.trigger,n,r),a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&i.type===1&&i.trigger.type===2&&this._state.position!==i.position),a?setTimeout(()=>{this.setState(i)},500):this.setState(i)},void 0);n.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=n,this._codeActionOracle.value.trigger({type:2,triggerAction:Rh.Default})}else this._supportedCodeActions.reset()}_setCodeActions(e){return this.codeActionsDisposable.value=e,e}takeCodeActions(e){if(this.codeActionsDisposable.value===e)return this.codeActionsDisposable.clearAndLeak(),e}trigger(e){this._codeActionOracle.value?.trigger(e),this.codeActionsDisposable.clear()}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}},yg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bg=function(e,t){return function(n,r){t(n,r,e)}},xg,Sg=Mr(`gutter-lightbulb`,A.lightBulb,S(925,`Icon which spawns code actions menu from the gutter when there is no space in the editor.`)),Cg=Mr(`gutter-lightbulb-auto-fix`,A.lightbulbAutofix,S(926,`Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.`)),wg=Mr(`gutter-lightbulb-sparkle`,A.lightbulbSparkle,S(927,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.`)),Tg=Mr(`gutter-lightbulb-aifix-auto-fix`,A.lightbulbSparkleAutofix,S(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.`)),Eg=Mr(`gutter-lightbulb-sparkle-filled`,A.sparkleFilled,S(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.`)),Dg;(function(e){e.Hidden={type:0};class t{constructor(e,t,n,r){this.actions=e,this.trigger=t,this.editorPosition=n,this.widgetPosition=r,this.type=1}}e.Showing=t})(Dg||={});function Og(e,t,n,r,i=!1){if(e.validActions.length<=0)return;let a,o=!1;e.allAIFixes?(a=i?Eg:A.sparkleFilled,e.validActions.length===1&&(o=!0)):a=e.hasAutoFix?e.hasAIFix?i?Tg:A.lightbulbSparkleAutofix:i?Cg:A.lightbulbAutofix:e.hasAIFix?i?wg:A.lightbulbSparkle:i?Sg:A.lightBulb;let s;return s=o?S(930,`Run: {0}`,e.validActions[0].action.title):e.hasAutoFix&&n?S(931,`Show Code Actions. Preferred Quick Fix Available ({0})`,n):!e.hasAutoFix&&r?S(932,`Show Code Actions ({0})`,r):S(933,`Show Code Actions`),{actions:e,trigger:t,icon:a,autoRun:o,title:s,isGutter:i}}var kg=class extends K{static{xg=this}static{this.GUTTER_DECORATION=F.register({description:`codicon-gutter-lightbulb-decoration`,glyphMarginClassName:H.asClassName(A.lightBulb),glyphMargin:{position:ar.Left},stickiness:1})}static{this.ID=`editor.contrib.lightbulbWidget`}static{this._posPref=[0]}static _computeLightBulbInfo(e,t,n,r){if(e.type===1)return Og(e.actions,e.trigger,n,r,t)}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this.onlyWithEmptySelection=!1,this._onClick=this._register(new P),this.onClick=this._onClick.event,this._state=ls(this,Dg.Hidden),this._gutterState=ls(this,Dg.Hidden),this._combinedInfo=V(this,e=>{let t=this._gutterState.read(e);if(t.type===1)return xg._computeLightBulbInfo(t,!0,this._preferredKbLabel.read(e),this._quickFixKbLabel.read(e));let n=this._state.read(e);if(n.type===1)return xg._computeLightBulbInfo(n,!1,this._preferredKbLabel.read(e),this._quickFixKbLabel.read(e))}),this._iconClasses=[],this.lightbulbClasses=[`codicon-`+Sg.id,`codicon-`+Tg.id,`codicon-`+Cg.id,`codicon-`+wg.id,`codicon-`+Eg.id],this._preferredKbLabel=ls(this,void 0),this._quickFixKbLabel=ls(this,void 0),this.gutterDecoration=xg.GUTTER_DECORATION,this._domNode=N(`div.lightBulbWidget`),this._domNode.role=`listbox`,this._register(un.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel(),n=this._state.get();(n.type!==1||!t||n.editorPosition.lineNumber>=t.getLineCount())&&this.hide();let r=this._gutterState.get();(r.type!==1||!t||r.editorPosition.lineNumber>=t.getLineCount())&&this.gutterHide()})),this._register(wc(this._domNode,e=>{let t=this._state.get();if(t.type!==1)return;this._editor.focus(),e.preventDefault();let{top:n,height:r}=ya(this._domNode),i=this._editor.getOption(75),a=Math.floor(i/3);t.widgetPosition.position!==null&&t.widgetPosition.position.lineNumber<t.editorPosition.lineNumber&&(a+=i),this._onClick.fire({x:e.posx,y:n+r+a,actions:t.actions,trigger:t.trigger})})),this._register(L(this._domNode,`mouseenter`,e=>{(e.buttons&1)==1&&this.hide()})),this._register(gu.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,void 0)})),this._register(Fl(e=>{let t=this._combinedInfo.read(e);this._updateLightBulbTitleAndIcon(t),this._updateGutterDecorationOptions(t)})),this._register(this._editor.onMouseDown(async e=>{if(!e.target.element||!this.lightbulbClasses.some(t=>e.target.element&&e.target.element.classList.contains(t)))return;let t=this._gutterState.get();if(t.type!==1)return;this._editor.focus();let{top:n,height:r}=ya(e.target.element),i=this._editor.getOption(75),a=Math.floor(i/3);t.widgetPosition.position!==null&&t.widgetPosition.position.lineNumber<t.editorPosition.lineNumber&&(a+=i),this._onClick.fire({x:e.event.posx,y:n+r+a,actions:t.actions,trigger:t.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return`LightBulbWidget`}getDomNode(){return this._domNode}getPosition(){let e=this._state.get();return e.type===1?e.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0||this.onlyWithEmptySelection&&!this._editor.getSelection()?.isEmpty()||!this._editor.hasTextFocus()||this._editor.getOptions().get(73).enabled===pt.Off)return this.gutterHide(),this.hide();let r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();let{lineNumber:i,column:a}=r.validatePosition(n),o=r.getOptions().tabSize,s=this._editor.getOptions().get(59),c=r.getLineContent(i),l=na(c,o),u=s.spaceWidth*l>22,d=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),f=this._editor.getLineDecorations(i),p=!1;if(f)for(let e of f){let t=e.options.glyphMarginClassName;if(t&&!this.lightbulbClasses.some(e=>t.includes(e))){p=!0;break}}let m=i,h=1;if(!u){let o=e=>{let t=r.getLineContent(e);return/^\s*$|^\s+/.test(t)||t.length<=h};if(i>1&&!d(i-1)){let a=i===r.getLineCount(),s=i>1&&o(i-1),c=!a&&o(i+1),l=o(i),u=!c&&!s;if(!c&&!s&&!p)return this._gutterState.set(new Dg.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:xg._posPref}),void 0),this.renderGutterLightbub(),this.hide();s||a||s&&!l?--m:(c||u&&l)&&(m+=1)}else if(i===1&&(i===r.getLineCount()||!o(i+1)&&!o(i))){if(this._gutterState.set(new Dg.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:xg._posPref}),void 0),p)this.gutterHide();else return this.renderGutterLightbub(),this.hide()}else if(i<r.getLineCount()&&!d(i+1))m+=1;else if(a*s.spaceWidth<22)return this.hide();h=/^\S\s*$/.test(r.getLineContent(m))?2:1}this._state.set(new Dg.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:xg._posPref}),void 0),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());let g=e.validActions;e.validActions[0].action.kind,g.length,this._editor.layoutContentWidget(this)}hide(){this._state.get()!==Dg.Hidden&&(this._state.set(Dg.Hidden,void 0),this._editor.layoutContentWidget(this))}gutterHide(){this._gutterState.get()!==Dg.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this._gutterState.set(Dg.Hidden,void 0))}_updateLightBulbTitleAndIcon(e){this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],e&&!e.isGutter&&(this._domNode.title=e.title,this._iconClasses=H.asClassNameArray(e.icon),this._domNode.classList.add(...this._iconClasses))}_updateGutterDecorationOptions(e){e&&e.isGutter&&(this.gutterDecoration=F.register({description:`codicon-gutter-lightbulb-decoration`,glyphMarginClassName:H.asClassName(e.icon),glyphMargin:{position:ar.Left},stickiness:1}))}renderGutterLightbub(){let e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new w(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(n=>{n.changeDecoration(e,new w(t,0,t,0)),n.changeDecorationOptions(e,this.gutterDecoration)})}};kg=xg=yg([bg(1,Ta)],kg);var Ag=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jg=function(e,t){return function(n,r){t(n,r,e)}},Mg,Ng=`quickfix-edit-highlight`,Pg=class extends K{static{Mg=this}static{this.ID=`editor.contrib.codeActionController`}static get(e){return e.getContribution(Mg.ID)}constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(),this._commandService=o,this._configurationService=s,this._actionWidgetService=c,this._instantiationService=l,this._progressService=u,this._keybindingService=d,this._activeCodeActions=this._register(new fc),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=ls(this,void 0),this._preferredKbLabel=ls(this,void 0),this._quickFixKbLabel=ls(this,void 0),this._editor=e,this._model=this._register(new vg(this._editor,i.codeActionProvider,t,n,a,s)),this._register(this._model.onDidChangeState(e=>this.update(e))),this._register(gu.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new Pc(()=>{let e=this._editor.getContribution(kg.ID);return e&&(this._register(e.onClick(e=>this.showCodeActionsFromLightbulb(e.actions,e))),e.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection),e}),this._resolver=r.createInstance(ug),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){let t=e.validActions[0],n=t.action.command;n&&n.id===`inlineChat.start`&&n.arguments&&n.arguments.length>=1&&n.arguments[0]&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this.applyCodeAction(t,!1,!1,ig.FromAILightbulb)}else await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,n){return this.showCodeActionList(t,n,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,n,r){if(!this._editor.hasModel())return;im.get(this._editor)?.closeMessage();let i=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:n,autoApply:r,context:{notAvailableMessage:e,position:i}})}_trigger(e){return this._model.trigger(e)}async applyCodeAction(e,t,n,r){let i=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(ag,e,r,{preview:n,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Rh.QuickFix,filter:{}}),i.done()}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(e){if(e.type!==1){this.hideLightBulbWidget(),this._lightBulbInfoObs.set(void 0,void 0);return}let t;try{t=this._model.takeCodeActions(await e.actions)}catch(e){at(e);return}if(t){if(this._disposed)t.dispose();else if(this._editor.getSelection()?.startLineNumber!==e.position.lineNumber)t.dispose();else if(this._lightBulbWidget.value?.update(t,e.trigger,e.position),this._lightBulbInfoObs.set(Og(t,e.trigger,this._preferredKbLabel.get(),this._quickFixKbLabel.get()),void 0),e.trigger.type===1){if(e.trigger.filter?.include){let n=this.tryGetValidActionToApply(e.trigger,t);if(n){try{this.hideLightBulbWidget(),await this.applyCodeAction(n,!1,!1,ig.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){let n=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(n&&n.action.disabled){im.get(this._editor)?.showMessage(n.action.disabled,e.trigger.context.position),t.dispose();return}}}let n=!!e.trigger.filter?.include;if(e.trigger.context&&(!t.allActions.length||!n&&!t.validActions.length)){im.get(this._editor)?.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:n,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply===`first`&&t.validActions.length===0||e.autoApply===`ifSingle`&&t.allActions.length===1))return t.allActions.find(({action:e})=>e.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply===`first`&&t.validActions.length>0||e.autoApply===`ifSingle`&&t.validActions.length===1))return t.validActions[0]}static{this.DECORATION=F.register({description:`quickfix-highlight`,className:Ng})}async showCodeActionList(e,t,n){let r=this._editor.createDecorationsCollection(),i=this._editor.getDomNode();if(!i)return;let a=n.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!a.length)return;let o=j.isIPosition(t)?this.toCoords(t):t;this._actionWidgetService.show(`codeActionWidget`,!0,pg(a,this._shouldShowHeaders(),this._resolver.getResolver()),{onSelect:async(e,t)=>{this.applyCodeAction(e,!0,!!t,n.fromLightbulb?ig.FromAILightbulb:ig.FromCodeActions),this._actionWidgetService.hide(!1),r.clear()},onHide:e=>{this._editor?.focus(),r.clear()},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let n=!1,r=e.action.kind;if(r){let e=new Yp(r);n=[Lh.RefactorExtract,Lh.RefactorInline,Lh.RefactorRewrite,Lh.RefactorMove,Lh.Source].some(t=>t.contains(e))}return{canPreview:n||!!e.action.edit?.edits.length}},onFocus:e=>{if(e&&e.action){let t=e.action.ranges,n=e.action.diagnostics;if(r.clear(),t&&t.length>0){let e=n&&n?.length>1?n.map(e=>({range:e,options:Mg.DECORATION})):t.map(e=>({range:e,options:Mg.DECORATION}));r.set(e)}else if(n&&n.length>0){let e=n.map(e=>({range:e,options:Mg.DECORATION}));r.set(e);let t=n[0];if(t.startLineNumber&&t.startColumn){let e=this._editor.getModel()?.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn})?.word;uo(S(914,`Context: {0} at line {1} and column {2}.`,e,t.startLineNumber,t.startColumn))}}}else r.clear()}},o,i,this._getActionBarActions(e,t,n))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();let t=this._editor.getScrolledVisiblePosition(e),n=ya(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}}_shouldShowHeaders(){let e=this._editor?.getModel();return this._configurationService.getValue(`editor.codeActionWidget.showHeaders`,{resource:e?.uri})}_getActionBarActions(e,t,n){if(n.fromLightbulb)return[];let r=e.documentation.map(e=>({id:e.id,label:e.title,tooltip:e.tooltip??``,class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[])}));return n.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:`hideMoreActions`,label:S(915,`Hide Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,n))}:{id:`showMoreActions`,label:S(916,`Show Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,n))}),r}};Pg=Mg=Ag([jg(1,Nc),jg(2,Ra),jg(3,W),jg(4,z),jg(5,bc),jg(6,kr),jg(7,Wi),jg(8,lh),jg(9,W),jg(10,bc),jg(11,Ta)],Pg),La((e,t)=>{((e,n)=>{n&&t.addRule(`.monaco-editor ${e} { background-color: ${n}; }`)})(`.quickfix-edit-highlight`,e.getColor(Yu));let n=e.getColor(Jc);n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${_t(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`)});function Fg(e){return T.regex(mg.keys()[0],RegExp(`(\\s|^)`+od(e.value)+`\\b`))}var Ig={type:`object`,defaultSnippets:[{body:{kind:``}}],properties:{kind:{type:`string`,description:S(882,`Kind of the code action to run.`)},apply:{type:`string`,description:S(883,`Controls when the returned actions are applied.`),default:`ifSingle`,enum:[`first`,`ifSingle`,`never`],enumDescriptions:[S(884,`Always apply the first returned code action.`),S(885,`Apply the first returned code action if it is the only one.`),S(886,`Do not apply the returned code actions.`)]},preferred:{type:`boolean`,default:!1,description:S(887,`Controls if only preferred code actions should be returned.`)}}};function Lg(e,t,n,r,i=Rh.Default){e.hasModel()&&Pg.get(e)?.manualTriggerAtCurrentPosition(t,i,n,r)}var Rg=class extends uu{constructor(){super({id:Gh,title:R(904,`Quick Fix...`),precondition:T.and(D.writable,D.hasCodeActionsProvider),icon:A.lightBulb,f1:!0,keybinding:{when:D.textInputFocus,primary:2137,weight:100},menu:{id:O.InlineChatEditorAffordance,group:`1_quickfix`,order:0,when:T.and(D.writable,D.hasCodeActionsProvider)}})}runEditorCommand(e,t){return Lg(t,S(888,`No code actions available`),void 0,void 0,Rh.QuickFix)}},zg=class extends id{constructor(){super({id:Wh,precondition:T.and(D.writable,D.hasCodeActionsProvider),metadata:{description:`Trigger a code action`,args:[{name:`args`,schema:Ig}]}})}runEditorCommand(e,t,n){let r=Hh.fromUser(n,{kind:Yp.Empty,apply:`ifSingle`});return Lg(t,typeof n?.kind==`string`?r.preferred?S(889,`No preferred code actions for '{0}' available`,n.kind):S(890,`No code actions for '{0}' available`,n.kind):r.preferred?S(891,`No preferred code actions available`):S(892,`No code actions available`),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}},Bg=class extends G{constructor(){super({id:qh,label:R(905,`Refactor...`),precondition:T.and(D.writable,D.hasCodeActionsProvider),kbOpts:{kbExpr:D.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:`1_modification`,order:2,when:T.and(D.writable,Fg(Lh.Refactor))},metadata:{description:`Refactor...`,args:[{name:`args`,schema:Ig}]}})}run(e,t,n){let r=Hh.fromUser(n,{kind:Lh.Refactor,apply:`never`});return Lg(t,typeof n?.kind==`string`?r.preferred?S(893,`No preferred refactorings for '{0}' available`,n.kind):S(894,`No refactorings for '{0}' available`,n.kind):r.preferred?S(895,`No preferred refactorings available`):S(896,`No refactorings available`),{include:Lh.Refactor.contains(r.kind)?r.kind:Yp.None,onlyIncludePreferredActions:r.preferred},r.apply,Rh.Refactor)}},Vg=class extends G{constructor(){super({id:Jh,label:R(906,`Source Action...`),precondition:T.and(D.writable,D.hasCodeActionsProvider),contextMenuOpts:{group:`1_modification`,order:2.1,when:T.and(D.writable,Fg(Lh.Source))},metadata:{description:`Source Action...`,args:[{name:`args`,schema:Ig}]}})}run(e,t,n){let r=Hh.fromUser(n,{kind:Lh.Source,apply:`never`});return Lg(t,typeof n?.kind==`string`?r.preferred?S(897,`No preferred source actions for '{0}' available`,n.kind):S(898,`No source actions for '{0}' available`,n.kind):r.preferred?S(899,`No preferred source actions available`):S(900,`No source actions available`),{include:Lh.Source.contains(r.kind)?r.kind:Yp.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,Rh.SourceAction)}},Hg=class extends G{constructor(){super({id:Yh,label:R(907,`Organize Imports`),precondition:T.and(D.writable,Fg(Lh.SourceOrganizeImports)),kbOpts:{kbExpr:D.textInputFocus,primary:1581,weight:100},metadata:{description:R(908,`Organize imports in the current file. Also called 'Optimize Imports' by some tools`)}})}run(e,t){return Lg(t,S(901,`No organize imports action available`),{include:Lh.SourceOrganizeImports,includeSourceActions:!0},`ifSingle`,Rh.OrganizeImports)}},Ug=class extends G{constructor(){super({id:Xh,label:R(909,`Fix All`),precondition:T.and(D.writable,Fg(Lh.SourceFixAll))})}run(e,t){return Lg(t,S(902,`No fix all action available`),{include:Lh.SourceFixAll,includeSourceActions:!0},`ifSingle`,Rh.FixAll)}},Wg=class extends G{constructor(){super({id:Kh,label:R(910,`Auto Fix...`),precondition:T.and(D.writable,Fg(Lh.QuickFix)),kbOpts:{kbExpr:D.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Lg(t,S(903,`No auto fixes available`),{include:Lh.QuickFix,onlyIncludePreferredActions:!0},`ifSingle`,Rh.AutoFix)}};Ls(Pg.ID,Pg,3),Ls(kg.ID,kg,4),ra(Rg),B(Bg),B(Vg),B(Hg),B(Wg),B(Ug),U(new zg),Nt.as(Wu.Configuration).registerConfiguration({...Od,properties:{"editor.codeActionWidget.showHeaders":{type:`boolean`,scope:6,description:S(911,`Enable/disable showing group headers in the Code Action menu.`),default:!0}}}),Nt.as(Wu.Configuration).registerConfiguration({...Od,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:`boolean`,scope:6,description:S(912,`Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic.`),default:!0}}}),Nt.as(Wu.Configuration).registerConfiguration({...Od,properties:{"editor.codeActions.triggerOnFocusChange":{type:`boolean`,scope:6,markdownDescription:S(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 Gg=class e{constructor(){this.lenses=[]}static{this.Empty=new e}dispose(){this._store?.dispose()}get isDisposed(){return this._store?.isDisposed??!1}add(e,t){Tc(e)&&(this._store??=new I,this._store.add(e));for(let n of e.lenses)this.lenses.push({symbol:n,provider:t})}};async function Kg(e,t,n){let r=e.ordered(t),i=new Map,a=new Gg,o=r.map(async(e,r)=>{i.set(e,r);try{let r=await Promise.resolve(e.provideCodeLenses(t,n));r&&a.add(r,e)}catch(e){ec(e)}});return await Promise.all(o),n.isCancellationRequested?(a.dispose(),Gg.Empty):(a.lenses=a.lenses.sort((e,t)=>e.symbol.range.startLineNumber<t.symbol.range.startLineNumber?-1:e.symbol.range.startLineNumber>t.symbol.range.startLineNumber?1:i.get(e.provider)<i.get(t.provider)?-1:i.get(e.provider)>i.get(t.provider)?1:e.symbol.range.startColumn<t.symbol.range.startColumn?-1:+(e.symbol.range.startColumn>t.symbol.range.startColumn)),a)}zn.registerCommand(`_executeCodeLensProvider`,function(e,...t){let[n,r]=t;tr(Qn.isUri(n)),tr(typeof r==`number`||!r);let{codeLensProvider:i}=e.get(z),a=e.get(dt).getModel(n);if(!a)throw Lo();let o=[],s=new I;return Kg(i,a,E.None).then(e=>{s.add(e);let t=[];for(let n of e.lenses)r==null||n.symbol.command?o.push(n.symbol):r-->0&&n.provider.resolveCodeLens&&t.push(Promise.resolve(n.provider.resolveCodeLens(a,n.symbol,E.None)).then(e=>o.push(e||n.symbol)));return Promise.all(t)}).then(()=>o).finally(()=>{setTimeout(()=>s.dispose(),100)})});var qg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jg=function(e,t){return function(n,r){t(n,r,e)}},Yg=nu(`ICodeLensCache`),Xg=class{constructor(e,t){this.lineCount=e,this.data=t}},Zg=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw Error(`not supported`)}},this._cache=new Si(20,.75),ja($d,()=>e.remove(`codelens/cache`,1));let t=`codelens/cache2`,n=e.get(t,1,`{}`);this._deserialize(n);let r=gu.filter(e.onWillSaveState,e=>e.reason===$o.SHUTDOWN);gu.once(r)(n=>{e.store(t,this._serialize(),1,1)})}put(e,t){let n=t.lenses.map(e=>({range:e.symbol.range,command:e.symbol.command&&{id:``,title:e.symbol.command?.title}})),r=new Gg;r.add({lenses:n},this._fakeProvider);let i=new Xg(e.getLineCount(),r);this._cache.set(e.uri.toString(),i)}get(e){let t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){let e=Object.create(null);for(let[t,n]of this._cache){let r=new Set;for(let e of n.data.lenses)r.add(e.symbol.range.startLineNumber);e[t]={lineCount:n.lineCount,lines:[...r.values()]}}return JSON.stringify(e)}_deserialize(e){try{let t=JSON.parse(e);for(let e in t){let n=t[e],r=[];for(let e of n.lines)r.push({range:new w(e,1,e,11)});let i=new Gg;i.add({lenses:r},this._fakeProvider),this._cache.set(e,new Xg(n.lineCount,i))}}catch{}}};Zg=qg([Jg(0,kc)],Zg),_o(Yg,Zg,1);var Qg=class{constructor(e,t,n){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=n,this.suppressMouseDown=!0,this.domNode=document.createElement(`div`)}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute(`monaco-visible-view-zone`)}},$g=class e{static{this._idPool=0}constructor(t,n){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id=`codelens.widget-${e._idPool++}`,this.updatePosition(n),this._domNode=document.createElement(`span`),this._domNode.className=`codelens-decoration`}withCommands(t,n){this._commands.clear();let r=[],i=!1;for(let n=0;n<t.length;n++){let a=t[n];if(a&&(i=!0,a.command)){let i=dl(a.command.title.trim());if(a.command.id){let t=`c${e._idPool++}`;r.push(N(`a`,{id:t,title:a.command.tooltip,role:`button`},...i)),this._commands.set(t,a.command)}else r.push(N(`span`,{title:a.command.tooltip},...i));n+1<t.length&&r.push(N(`span`,void 0,`\xA0|\xA0`))}}i?(Ua(this._domNode,...r),this._isEmpty&&n&&this._domNode.classList.add(`fadein`),this._isEmpty=!1):Ua(this._domNode,N(`span`,void 0,`no commands`))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){let t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}},e_=class{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){let t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let e=0,n=t.length;e<n;e++)this._addDecorationsCallbacks[e](t[e])}},t_=F.register({collapseOnReplaceEdit:!0,description:`codelens`}),n_=class{constructor(e,t,n,r,i,a){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let o,s=[];this._data.forEach((e,t)=>{e.symbol.command&&s.push(e.symbol),n.addDecoration({range:e.symbol.range,options:t_},e=>this._decorationIds[t]=e),o=o?w.plusRange(o,e.symbol.range):w.lift(e.symbol.range)}),this._viewZone=new Qg(o.startLineNumber-1,i,a),this._viewZoneId=r.addZone(this._viewZone),s.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(s,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new $g(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t?.removeZone(this._viewZoneId),this._contentWidget&&=(this._editor.removeContentWidget(this._contentWidget),void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{let n=this._editor.getModel().getDecorationRange(e),r=this._data[t].symbol;return!!(n&&w.isEmpty(r.range)===n.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((e,n)=>{t.addDecoration({range:e.symbol.range,options:t_},e=>this._decorationIds[n]=e)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){let n=e.getDecorationRange(this._decorationIds[t]);n&&(this._data[t].symbol.range=n)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){let n=e[t];if(n){let{symbol:e}=this._data[t];e.command=n.command||e.command}}}getCommand(e){return this._contentWidget?.getCommand(e)}getLineNumber(){let e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){let t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}},r_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},i_=function(e,t){return function(n,r){t(n,r,e)}},a_=class{static{this.ID=`css.editor.codeLens`}constructor(e,t,n,r,i,a){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=i,this._codeLensCache=a,this._disposables=new I,this._localToDispose=new I,this._lenses=[],this._oldCodeLensModels=new I,this._provideCodeLensDebounce=n.for(t.codeLensProvider,`CodeLensProvide`,{min:250}),this._resolveCodeLensesDebounce=n.for(t.codeLensProvider,`CodeLensResolve`,{min:250,salt:`resolve`}),this._resolveCodeLensesScheduler=new Lr(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(59)||e.hasChanged(25)||e.hasChanged(24))&&this._updateLensStyle(),e.hasChanged(23)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._localToDispose.dispose(),this._disposables.dispose(),this._resolveCodeLensesScheduler.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){let e=Math.max(1.3,this._editor.getOption(75)/this._editor.getOption(61)),t=this._editor.getOption(25);return(!t||t<5)&&(t=this._editor.getOption(61)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){let{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),n=this._editor.getOption(24),r=this._editor.getOption(59),{style:i}=this._editor.getContainerDomNode();i.setProperty(`--vscode-editorCodeLens-lineHeight`,`${e}px`),i.setProperty(`--vscode-editorCodeLens-fontSize`,`${t}px`),i.setProperty(`--vscode-editorCodeLens-fontFeatureSettings`,r.fontFeatureSettings),n&&(i.setProperty(`--vscode-editorCodeLens-fontFamily`,n),i.setProperty(`--vscode-editorCodeLens-fontFamilyDefault`,Zu.fontFamily)),this._editor.changeViewZones(t=>{for(let n of this._lenses)n.updateHeight(e,t)})}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();let e=this._editor.getModel();if(!e||!this._editor.getOption(23)||e.isTooLargeForTokenization())return;let t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&Ka(()=>{let n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},3e4,this._localToDispose);return}for(let t of this._languageFeaturesService.codeLensProvider.all(e))if(typeof t.onDidChange==`function`){let e=t.onDidChange(()=>n.schedule());this._localToDispose.add(e)}let n=new Lr(()=>{let t=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=kt(t=>Kg(this._languageFeaturesService.codeLensProvider,e,t)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);let i=this._provideCodeLensDebounce.update(e,Date.now()-t);n.delay=i,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},at)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(n),this._localToDispose.add(Yo(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{let n=[],r=-1;this._lenses.forEach(e=>{!e.isValid()||r===e.getLineNumber()?n.push(e):(e.update(t),r=e.getLineNumber())});let i=new e_;n.forEach(e=>{e.dispose(i,t),this._lenses.splice(this._lenses.indexOf(e),1)}),i.commit(e)})}),n.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{n.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{n.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(Yo(()=>{if(this._editor.getModel()){let e=mt.capture(this._editor);this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{this._disposeAllLenses(e,t)})}),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(e=>{if(e.target.type!==9)return;let t=e.target.element;if(t?.tagName===`SPAN`&&(t=t.parentElement),t?.tagName===`A`)for(let e of this._lenses){let n=e.getCommand(t);if(n){this._commandService.executeCommand(n.id,...n.arguments||[]).catch(e=>this._notificationService.error(e));break}}})),n.schedule()}_disposeAllLenses(e,t){let n=new e_;for(let e of this._lenses)e.dispose(n,t);e&&n.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;let t=this._editor.getModel().getLineCount(),n=[],r;for(let i of e.lenses){let e=i.symbol.range.startLineNumber;e<1||e>t||(r&&r[r.length-1].symbol.range.startLineNumber===e?r.push(i):(r=[i],n.push(r)))}if(!n.length&&!this._lenses.length)return;let i=mt.capture(this._editor),a=this._getLayoutInfo();this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{let r=new e_,i=0,o=0;for(;o<n.length&&i<this._lenses.length;){let e=n[o][0].symbol.range.startLineNumber,s=this._lenses[i].getLineNumber();s<e?(this._lenses[i].dispose(r,t),this._lenses.splice(i,1)):s===e?(this._lenses[i].updateCodeLensSymbols(n[o],r),o++,i++):(this._lenses.splice(i,0,new n_(n[o],this._editor,r,t,a.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),i++,o++)}for(;i<this._lenses.length;)this._lenses[i].dispose(r,t),this._lenses.splice(i,1);for(;o<n.length;)this._lenses.push(new n_(n[o],this._editor,r,t,a.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),o++;r.commit(e)})}),i.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;let e=this._editor.getModel();if(!e)return;let t=[],n=[];if(this._lenses.forEach(r=>{let i=r.computeIfNecessary(e);i&&(t.push(i),n.push(r))}),t.length===0){this._oldCodeLensModels.clear();return}let r=Date.now(),i=kt(r=>{let i=t.map((t,i)=>{let a=Array(t.length),o=t.map((t,n)=>!t.symbol.command&&typeof t.provider.resolveCodeLens==`function`?Promise.resolve(t.provider.resolveCodeLens(e,t.symbol,r)).then(e=>{a[n]=e},ec):(a[n]=t.symbol,Promise.resolve(void 0)));return Promise.all(o).then(()=>{!r.isCancellationRequested&&!n[i].isDisposed()&&n[i].updateCommands(a)})});return Promise.all(i)});this._resolveCodeLensesPromise=i,this._resolveCodeLensesPromise.then(()=>{let t=this._resolveCodeLensesDebounce.update(e,Date.now()-r);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),i===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},e=>{at(e),i===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,this._currentCodeLensModel?.isDisposed?void 0:this._currentCodeLensModel}};a_=r_([i_(1,z),i_(2,Ks),i_(3,kr),i_(4,xt),i_(5,Yg)],a_),Ls(a_.ID,a_,1),B(class extends G{constructor(){super({id:`codelens.showLensesInCurrentLine`,precondition:D.hasCodeLensProvider,label:R(935,`Show CodeLens Commands for Current Line`)})}async run(e,t){if(!t.hasModel())return;let n=e.get(Jd),r=e.get(kr),i=e.get(xt),a=t.getSelection().positionLineNumber,o=t.getContribution(a_.ID);if(!o)return;let s=await o.getModel();if(!s)return;let c=[];for(let e of s.lenses)e.symbol.command&&e.symbol.range.startLineNumber===a&&c.push({label:e.symbol.command.title,command:e.symbol.command});if(c.length===0)return;let l=await n.pick(c,{canPickMany:!1,placeHolder:S(934,`Select a command`)});if(!l)return;let u=l.command;if(s.isDisposed){let e=(await o.getModel())?.lenses.find(e=>e.symbol.range.startLineNumber===a&&e.symbol.command?.title===u.title);if(!e||!e.symbol.command)return;u=e.symbol.command}try{await r.executeCommand(u.id,...u.arguments||[])}catch(e){i.error(e)}}});var o_=class{constructor(e,t,n,r){this.priority=e,this.range=t,this.initialMousePosX=n,this.initialMousePosY=r,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}},s_=class{constructor(e,t,n,r,i,a){this.priority=e,this.owner=t,this.range=n,this.initialMousePosX=r,this.initialMousePosY=i,this.supportsMarkerHover=a,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}},c_=class{constructor(e,t){this.renderedHoverParts=e,this.disposables=t}dispose(){for(let e of this.renderedHoverParts)e.dispose();this.disposables?.dispose()}},l_=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}},u_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},d_=function(e,t){return function(n,r){t(n,r,e)}},f_=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,n){let r=t.range,i=t.color,a=new qs(new Mu(Math.round(255*i.red),Math.round(255*i.green),Math.round(255*i.blue),i.alpha)),o=qs.Format.CSS.formatRGB(a),s=qs.Format.CSS.formatHSL(a),c=qs.Format.CSS.formatHexA(a,!0),l=[];return l.push({label:o,textEdit:{range:r,text:o}}),l.push({label:s,textEdit:{range:r,text:s}}),l.push({label:c,textEdit:{range:r,text:c}}),l}};f_=u_([d_(0,dr)],f_);var p_=class extends K{constructor(e,t){super(),this._register(e.colorProvider.register(`*`,new f_(t)))}};p_=u_([d_(0,z),d_(1,dr)],p_);async function m_(e,t,n,r=`auto`){return y_(new g_,e,t,n,r)}function h_(e,t,n,r){return Promise.resolve(n.provideColorPresentations(e,t,r))}var g_=class{constructor(){}async compute(e,t,n,r){let i=await e.provideDocumentColors(t,n);if(Array.isArray(i))for(let t of i)r.push({colorInfo:t,provider:e});return Array.isArray(i)}},__=class{constructor(){}async compute(e,t,n,r){let i=await e.provideDocumentColors(t,n);if(Array.isArray(i))for(let e of i)r.push({range:e.range,color:[e.color.red,e.color.green,e.color.blue,e.color.alpha]});return Array.isArray(i)}},v_=class{constructor(e){this.colorInfo=e}async compute(e,t,n,r){let i=await e.provideColorPresentations(t,this.colorInfo,E.None);return Array.isArray(i)&&r.push(...i),Array.isArray(i)}};async function y_(e,t,n,r,i){let a=!1,o,s=[],c=t.ordered(n);for(let t=c.length-1;t>=0;t--){let l=c[t];if(i!==`always`&&l instanceof f_)o=l;else try{await e.compute(l,n,r,s)&&(a=!0)}catch(e){ec(e)}}return a?s:o&&i!==`never`?(await e.compute(o,n,r,s),s):[]}function b_(e,t){let{colorProvider:n}=e.get(z),r=e.get(dt).getModel(t);if(!r)throw Lo();return{model:r,colorProviderRegistry:n,defaultColorDecoratorsEnablement:e.get(Wi).getValue(`editor.defaultColorDecorators`,{resource:t})}}var x_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},S_=function(e,t){return function(n,r){t(n,r,e)}},C_,w_=Object.create({}),T_=class extends K{static{C_=this}static{this.ID=`editor.contrib.colorDetector`}static{this.RECOMPUTE_TIME=1e3}static{this.colorDecoratorInnerWidthInEm=.8}static{this.colorDecoratorMarginInEm=.2}constructor(e,t,n,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=n,this._localToDispose=this._register(new I),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new E_),this._colorDecorationClassRefs=this._register(new I),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new ll(this._editor));let i=this._editor.getContainerDomNode();i.style.setProperty(`--vscode-colorPicker-colorDecoratorWidth`,`${C_.colorDecoratorInnerWidthInEm}em`),i.style.setProperty(`--vscode-colorPicker-colorDecoratorMargin`,`${C_.colorDecoratorMarginInEm}em`),this._register(Yo(()=>{i.style.removeProperty(`--vscode-colorPicker-colorDecoratorWidth`),i.style.removeProperty(`--vscode-colorPicker-colorDecoratorMargin`)})),this._debounceInformation=r.for(n.colorProvider,`Document Colors`,{min:C_.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(n.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(e=>{let t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168);let n=t!==this._isColorDecoratorsEnabled||e.hasChanged(27),r=e.hasChanged(168);(n||r)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168),this.updateColors()}isEnabled(){let e=this._editor.getModel();if(!e)return!1;let t=e.getLanguageId(),n=this._configurationService.getValue(t);if(n&&typeof n==`object`){let e=n.colorDecorators;if(e&&e.enable!==void 0&&!e.enable)return e.enable}return this._editor.getOption(26)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled){this.removeAllDecorations();return}let e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new $i,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=kt(async e=>{let t=this._editor.getModel();if(!t)return[];let n=new js(!1),r=await m_(this._languageFeaturesService.colorProvider,t,e,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(t,n.elapsed()),r});try{let e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){at(e)}}stop(){this._timeoutTimer&&=(this._timeoutTimer.cancel(),null),this._computePromise&&=(this._computePromise.cancel(),null),this._localToDispose.clear()}updateDecorations(e){let t=e.map(e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:F.EMPTY}));this._editor.changeDecorations(n=>{this._decorationsIds=n.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((t,n)=>this._colorDatas.set(t,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[],n=C_.colorDecoratorInnerWidthInEm+2*C_.colorDecoratorMarginInEm,r=this._editor.getOption(27);for(let i=0;i<e.length&&t.length<r;i++){let{red:r,green:a,blue:o,alpha:s}=e[i].colorInfo.color,c=new Mu(Math.round(r*255),Math.round(a*255),Math.round(o*255),s),l=`rgba(${c.r}, ${c.g}, ${c.b}, ${c.a})`,u=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:l}));t.push({range:{startLineNumber:e[i].colorInfo.range.startLineNumber,startColumn:e[i].colorInfo.range.startColumn,endLineNumber:e[i].colorInfo.range.endLineNumber,endColumn:e[i].colorInfo.range.endColumn},options:{description:`colorDetector`,before:{content:`\xA0`,inlineClassName:`${u.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:w_,widthInEm:n}}})}let i=r<e.length&&r;this._decoratorLimitReporter.update(e.length,i),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){let t=this._editor.getModel();if(!t)return null;let n=t.getDecorationsInRange(w.fromPositions(e,e)).filter(e=>this._colorDatas.has(e.id));return n.length===0?null:this._colorDatas.get(n[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};T_=C_=x_([S_(1,Wi),S_(2,z),S_(3,Ks)],T_);var E_=class extends K{constructor(){super(...arguments),this._onDidChange=this._register(new P),this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},D_=`editor.action.showHover`,O_=`editor.action.showDefinitionPreviewHover`,k_=`editor.action.hideHover`,A_=`editor.action.scrollUpHover`,j_=`editor.action.scrollDownHover`,M_=`editor.action.scrollLeftHover`,N_=`editor.action.scrollRightHover`,P_=`editor.action.pageUpHover`,F_=`editor.action.pageDownHover`,I_=`editor.action.goToTopHover`,L_=`editor.action.goToBottomHover`,R_=`editor.action.increaseHoverVerbosityLevel`,z_=S(1160,`Increase Hover Verbosity Level`),B_=`editor.action.decreaseHoverVerbosityLevel`,V_=S(1161,`Decrease Hover Verbosity Level`),H_=`editor.action.hideLongLineWarningHover`,U_=`editor.action.inlineSuggest.commit`,W_=`editor.action.inlineSuggest.commitAlternativeAction`,G_=`editor.action.inlineSuggest.showPrevious`,K_=`editor.action.inlineSuggest.showNext`,q_=`editor.action.inlineSuggest.jump`,J_=`editor.action.inlineSuggest.hide`,Y_=`editor.action.inlineSuggest.toggleShowCollapsed`,X_=`editor.action.inlineSuggest.renameSymbol`,Z_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Q_=function(e,t){return function(n,r){t(n,r,e)}},$_,ev=class extends K{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=ou(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar===`always`),this.sessionPosition=void 0,this.position=V(this,e=>{let t=this.model.read(e)?.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||t.parts.length===0)return this.sessionPosition=void 0,null;let n=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);let r=new j(t.lineNumber,Math.min(n,this.sessionPosition?.column??2**53-1));return this.sessionPosition=r,r}),this._register(Gs((t,n)=>{let r=this.model.read(t);if(!r||!this.alwaysShowToolbar.read(t))return;let i=V(t=>{let n=t.store.add(this.instantiationService.createInstance(rv.hot.read(t),this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands,r.warning,()=>{}));return e.addContentWidget(n),t.store.add(Yo(()=>e.removeContentWidget(n))),t.store.add(Fl(e=>{this.position.read(e)&&r.lastTriggerKind.read(e)!==wi.Explicit&&r.triggerExplicitly()})),n}),a=Io(this,(e,t)=>!!this.position.read(e)||!!t);n.add(Fl(e=>{a.read(e)&&i.read(e)}))}))}};ev=Z_([Q_(2,W)],ev);var tv=Mr(`inline-suggestion-hints-next`,A.chevronRight,S(1270,`Icon for show next parameter hint.`)),nv=Mr(`inline-suggestion-hints-previous`,A.chevronLeft,S(1271,`Icon for show previous parameter hint.`)),rv=class extends K{static{$_=this}static{this.hot=ni(this)}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,n){let r=new yr(e,t,n,!0,()=>this._commandService.executeCommand(e));return r.tooltip=this.keybindingService.appendKeybinding(t,e,this._contextKeyService),r}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this.editor=e,this.withBorder=t,this._position=n,this._currentSuggestionIdx=r,this._suggestionCount=i,this._extraCommands=a,this._warning=o,this._relayout=s,this._commandService=c,this.keybindingService=u,this._contextKeyService=d,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${$_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=V(e=>{let t=this._warning.read(e);if(t)return typeof t.message==`string`?t.message:e.store.add(Cl(t.message)).element}),this._warningMessageNode=C.div({class:`warningMessage`,style:{maxWidth:400,margin:4,marginBottom:4,display:V(e=>this._warning.read(e)?`block`:`none`)}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=Kr(`div.inlineSuggestionsHints`,{className:this.withBorder?`monaco-hover monaco-hover-content`:``},[this._warningMessageNode.element,Kr(`div@toolBar`)]),this.previousAction=this._register(this.createCommandAction(G_,S(1272,`Previous`),H.asClassName(nv))),this.availableSuggestionCountAction=this._register(new yr(`inlineSuggestionHints.availableSuggestionCount`,``,void 0,!1)),this.nextAction=this._register(this.createCommandAction(K_,S(1273,`Next`),H.asClassName(tv))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(O.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Lr(()=>{this.availableSuggestionCountAction.label=``},100)),this.disableButtonsDebounced=this._register(new Lr(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(Fl(e=>{this._warningMessageContentNode.read(e),this._warningMessageNode.readEffect(e),this._relayout()})),this.toolBar=this._register(l.createInstance(ov,this.nodes.toolBar,O.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},actionViewItemProvider:(e,t)=>{if(e instanceof Pi)return l.createInstance(av,e,void 0);if(e===this.availableSuggestionCountAction){let t=new iv(void 0,e,{label:!0,icon:!1});return t.setClass(`availableSuggestionCount`),t}},telemetrySource:`InlineSuggestionToolbar`})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(e=>{$_._dropDownVisible=e})),this._register(Fl(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(Fl(e=>{let t=this._suggestionCount.read(e),n=this._currentSuggestionIdx.read(e);t===void 0?this.clearAvailableSuggestionCountLabelDebounced.schedule():(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${n+1}/${t}`),t!==void 0&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Fl(e=>{let t=this._extraCommands.read(e).map(e=>({class:void 0,id:e.command.id,enabled:!0,tooltip:e.command.tooltip||``,label:e.command.title,run:()=>this._commandService.executeCommand(e.command.id,...e.command.arguments??[])}));for(let[e,n]of this.inlineCompletionsActionsMenus.getActions())for(let e of n)e instanceof Pi&&t.push(e);t.length>0&&t.unshift(new jo),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};rv=$_=Z_([Q_(8,kr),Q_(9,W),Q_(10,Ta),Q_(11,Ra),Q_(12,$r)],rv);var iv=class extends bo{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}},av=class extends ia{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!e)return super.updateLabel();if(this.label){let t=Kr(`div.keybinding`).root;this._register(new Lf(t,ys,{disableTitle:!0,...Tt})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add(`inlineSuggestionStatusBarItemLabel`)}}updateTooltip(){}},ov=class extends Tf{constructor(e,t,n,r,i,a,o,s,c){super(e,{resetMenu:t,...n},r,i,a,o,s,c),this.menuId=t,this.options2=n,this.menuService=r,this.contextKeyService=i,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this.additionalPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){let{primary:e,secondary:t}=Za(this.menu.getActions(this.options2?.menuOptions),this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions);t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),e.push(...this.additionalPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Nd(this.prependedPrimaryActions,e,(e,t)=>e===t)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Nd(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};ov=Z_([Q_(3,$r),Q_(4,Ra),Q_(5,ac),Q_(6,Ta),Q_(7,kr),Q_(8,St)],ov);function sv(e,t,n){let r=ya(e);return!(t<r.left+3||t>r.left+r.width-3||n<r.top+3||n>r.top+r.height-3)}function cv(e,t,n){return e===`on`||e!==`off`&&lv(t,n.event)}function lv(e,t){return e===`altKey`?t.ctrlKey||t.metaKey:t.altKey}var uv=class{constructor(e,t,n,r){this.value=e,this.isComplete=t,this.hasLoadingMessage=n,this.options=r}},dv=class extends K{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new P),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new fv(e=>this._triggerAsyncComputation(e),0)),this._syncComputationScheduler=this._register(new fv(e=>this._triggerSyncComputation(e),0)),this._loadingMessageScheduler=this._register(new fv(e=>this._triggerLoadingMessage(e),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&=(this._asyncIterable.cancel(),null),this._options=void 0,super.dispose()}get _hoverTime(){return this._editor.getOption(69).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t){this._options=t,this._state=e,this._fireResult(t)}_triggerAsyncComputation(e){this._setState(2,e),this._syncComputationScheduler.schedule(e,this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=Hf(t=>this._computer.computeAsync(e,t)),(async()=>{try{for await(let t of this._asyncIterable)t&&(this._result.push(t),this._fireResult(e));this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0,e)}catch(e){at(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(e){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync(e))),this._setState(this._asyncIterableDone?0:3,e)}_triggerLoadingMessage(e){this._state===3&&this._setState(4,e)}_fireResult(e){if(this._state===1||this._state===2)return;let t=this._state===0,n=this._state===4;this._onResult.fire(new uv(this._result.slice(0),t,n,e))}start(e,t){if(e===0)this._state===0&&(this._setState(1,t),this._asyncComputationScheduler.schedule(t,this._firstWaitTime),this._loadingMessageScheduler.schedule(t,this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(t),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t)}}cancel(){this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&=(this._asyncIterable.cancel(),null),this._result=[],this._options=void 0,this._state=0}get options(){return this._options}},fv=class extends K{constructor(e,t){super(),this._scheduler=this._register(new Lr(()=>e(this._options),t))}schedule(e,t){this._options=e,this._scheduler.schedule(t)}cancel(){this._scheduler.cancel()}},pv=class{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new P,this._onDidResize=new P,this._sashListener=new I,this._size=new hu(0,0),this._minSize=new hu(0,0),this._maxSize=new hu(2**53-1,2**53-1),this.domNode=document.createElement(`div`),this._eastSash=new di(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new di(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new di(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:ei.North}),this._southSash=new di(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:ei.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,n=0;this._sashListener.add(gu.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,n=0)})),this._sashListener.add(gu.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,n=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(r=>{e&&(n=r.currentX-r.startX,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(r=>{e&&(n=-(r.currentX-r.startX),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(r=>{e&&(t=-(r.currentY-r.startY),this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(r=>{e&&(t=r.currentY-r.startY,this.layout(e.height+t,e.width+n),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(gu.any(this._eastSash.onDidReset,this._westSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(gu.any(this._northSash.onDidReset,this._southSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,n,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=n?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){let{height:n,width:r}=this._minSize,{height:i,width:a}=this._maxSize;e=Math.max(n,Math.min(i,e)),t=Math.max(r,Math.min(a,t));let o=new hu(t,e);hu.equals(o,this._size)||(this.domNode.style.height=e+`px`,this.domNode.style.width=t+`px`,this._size=o,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}},mv=30,hv=24,gv=class extends K{constructor(e,t=new hu(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new pv),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position=`absolute`,this._resizableNode.minSize=hu.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(e=>{this._resize(new hu(e.dimension.width,e.dimension.height)),e.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?j.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(t&&n)return ya(t).top+n.top-mv}_availableVerticalSpaceBelow(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!t||!n)return;let r=ya(t),i=Lt(t.ownerDocument.body),a=r.top+n.top+n.height;return i.height-a-hv}_findPositionPreference(e,t){let n=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),r=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),i=Math.min(e,Math.min(Math.max(r,n),e)),a;return a=this._editor.getOption(69).above?i<=r?1:2:i<=n?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}},_v=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vv=function(e,t){return function(n,r){t(n,r,e)}},yv,bv=30,xv=class extends gv{static{yv=this}static{this.ID=`editor.contrib.resizableContentHoverWidget`}static{this._lastDimensions=new hu(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,n,r,i){let a=e.getOption(75)+8,o=new hu(150,a);super(e,o),this._configurationService=n,this._accessibilityService=r,this._keybindingService=i,this._hover=this._register(new Bo(!0)),this._onDidResize=this._register(new P),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new P),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new P),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=o,this._hoverVisibleKey=D.hoverVisible.bindTo(t),this._hoverFocusedKey=D.hoverFocused.bindTo(t),q(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex=`50`,this._resizableNode.domNode.className=`monaco-resizable-hover`,this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._updateFont()}));let s=this._register(fr(this._resizableNode.domNode));this._register(s.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(s.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll(e=>{this._onDidScroll.fire(e)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return yv.ID}static _applyDimensions(e,t,n){let r=typeof t==`number`?`${t}px`:t,i=typeof n==`number`?`${n}px`:n;e.style.width=r,e.style.height=i}_setContentsDomNodeDimensions(e,t){let n=this._hover.contentsDomNode;return yv._applyDimensions(n,e,t)}_setContainerDomNodeDimensions(e,t){let n=this._hover.containerDomNode;return yv._applyDimensions(n,e,t)}_setScrollableElementDimensions(e,t){let n=this._hover.scrollbar.getDomNode();return yv._applyDimensions(n,e,t)}_setHoverWidgetDimensions(e,t){this._setContainerDomNodeDimensions(e,t),this._setScrollableElementDimensions(e,t),this._setContentsDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,n){let r=typeof t==`number`?`${t}px`:t,i=typeof n==`number`?`${n}px`:n;e.style.maxWidth=r,e.style.maxHeight=i}_setHoverWidgetMaxDimensions(e,t){yv._applyMaxDimensions(this._hover.contentsDomNode,e,t),yv._applyMaxDimensions(this._hover.scrollbar.getDomNode(),e,t),yv._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty(`--vscode-hover-maxWidth`,typeof e==`number`?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions(`none`,`none`),this._setHoverWidgetDimensions(e.width,e.height)}_updateResizableNodeMaxDimensions(){let e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new hu(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){yv._lastDimensions=new hu(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){let e=this._renderedHover?.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){let e=this._findAvailableSpaceVertically();if(!e)return;let t=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach(e=>{t+=e.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty(`--vscode-hover-whiteSpace`,`nowrap`),this._hover.containerDomNode.style.setProperty(`--vscode-hover-sourceWhiteSpace`,`nowrap`);let e=Array.from(this._hover.contentsDomNode.children).some(e=>e.scrollWidth>e.clientWidth);return this._hover.containerDomNode.style.removeProperty(`--vscode-hover-whiteSpace`),this._hover.containerDomNode.style.removeProperty(`--vscode-hover-sourceWhiteSpace`),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;let e=this._isHoverTextOverflowing(),t=this._contentWidth===void 0?0:this._contentWidth;return e||this._hover.containerDomNode.clientWidth<t?Lt(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;let n=ya(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Sv(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,n.left,n.top,n.width,n.height));let r=Sv(e,t,n.left,n.top,n.width,n.height);return r>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,r),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle(`hidden`,!e)}_updateFont(){let{fontSize:e,lineHeight:t}=this._editor.getOption(59),n=this._hover.contentsDomNode;n.style.fontSize=`${e}px`,n.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(`code`)).forEach(e=>this._editor.applyFontInfo(e))}_updateContent(e){let t=this._hover.contentsDomNode;t.style.paddingBottom=``,t.textContent=``,t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){let e=Math.max(this._editor.getLayoutInfo().height/4,250,yv._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,750,yv._lastDimensions.width);this._resizableNode.maxSize=new hu(t,e),this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this.handleContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){if(!this._editor||!this._editor.hasModel())return;this._render(e);let t=yl(this._hover.containerDomNode),n=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,n)??1,this.handleContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();let r=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&ct(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel()??``);r&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+`, `+r)}hide(){if(!this._renderedHover)return;let e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new hu(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){let e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions(`auto`,`auto`),this._updateMaxDimensions()}setMinimumDimensions(e){this._minimumSize=new hu(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let e=this._contentWidth===void 0?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new hu(e,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let e=this._hover.contentsDomNode,t=yl(e),n=gt(e)+2;if(this._resizableNode.layout(t,n),this._setHoverWidgetDimensions(n,t),t=yl(e),n=gt(e),this._contentWidth=n,this._updateMinimumWidth(),this._resizableNode.layout(t,n),this._renderedHover?.showAtPosition){let e=yl(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-bv})}scrollRight(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+bv})}pageUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};xv=yv=_v([vv(1,Ra),vv(2,Wi),vv(3,jn),vv(4,Ta)],xv);function Sv(e,t,n,r,i,a){let o=n+i/2,s=r+a/2,c=Math.max(Math.abs(e-o)-i/2,0),l=Math.max(Math.abs(t-s)-a/2,0);return Math.sqrt(c*c+l*l)}var Cv=class e{constructor(e,t){this._editor=e,this._participants=t}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];let n=e.getModel(),r=t.range.startLineNumber;if(r>n.getLineCount())return[];let i=n.getLineMaxColumn(r);return e.getLineDecorations(r).filter(e=>{if(e.options.isWholeLine)return!0;let n=e.range.startLineNumber===r?e.range.startColumn:1,a=e.range.endLineNumber===r?e.range.endColumn:i;if(e.options.showIfCollapsed){if(n>t.range.startColumn+1||t.range.endColumn-1>a)return!1}else if(n>t.range.startColumn||t.range.endColumn>a)return!1;return!0})}computeAsync(t,n){let r=t.anchor;if(!this._editor.hasModel()||!r)return Ai.EMPTY;let i=e._getLineDecorations(this._editor,r);return Ai.merge(this._participants.map(e=>e.computeAsync?e.computeAsync(r,i,t.source,n):Ai.EMPTY))}computeSync(t){if(!this._editor.hasModel())return[];let n=t.anchor,r=e._getLineDecorations(this._editor,n),i=[];for(let e of this._participants)i=i.concat(e.computeSync(n,r,t.source));return _u(i)}},wv=class{constructor(e,t,n){this.hoverParts=e,this.isComplete=t,this.options=n}filter(e){let t=this.hoverParts.filter(t=>t.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new Tv(this,t,this.isComplete,this.options)}},Tv=class extends wv{constructor(e,t,n,r){super(t,n,r),this.original=e}filter(e){return this.original.filter(e)}},Ev=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Dv=function(e,t){return function(n,r){t(n,r,e)}},Ov=N,kv=class extends K{get hasContent(){return this._hasContent}constructor(e,t){super(),this._keybindingService=e,this._hoverService=t,this.actions=[],this._hasContent=!1,this.hoverElement=Ov(`div.hover-row.status-bar`),this.hoverElement.tabIndex=0,this.actionsElement=q(this.hoverElement,Ov(`div.actions`))}addAction(e){let t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;this._hasContent=!0;let r=this._register(go.render(this.actionsElement,e,n));return this._register(this._hoverService.setupManagedHover(rc(`element`),r.actionContainer,r.actionRenderedLabel)),this.actions.push(r),r}append(e){let t=q(this.actionsElement,e);return this._hasContent=!0,t}};kv=Ev([Dv(0,Ta),Dv(1,lu)],kv);var Av=class e{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){let e=this._findScopeDecorationIds.map(e=>this._editor.getModel().getDecorationRange(e)).filter(e=>!!e);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){let t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){let t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(t){let n=this._editor.getModel().getDecorationsInRange(t);for(let t of n){let n=t.options;if(n===e._FIND_MATCH_DECORATION||n===e._FIND_MATCH_NO_OVERVIEW_DECORATION||n===e._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(t.id)}return 0}setCurrentFindMatch(t){let n=null,r=0;if(t)for(let e=0,i=this._decorations.length;e<i;e++){let i=this._editor.getModel().getDecorationRange(this._decorations[e]);if(t.equalsRange(i)){n=this._decorations[e],r=e+1;break}}return(this._highlightedDecorationId!==null||n!==null)&&this._editor.changeDecorations(t=>{if(this._highlightedDecorationId!==null&&(t.changeDecorationOptions(this._highlightedDecorationId,e._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),n!==null&&(this._highlightedDecorationId=n,t.changeDecorationOptions(this._highlightedDecorationId,e._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),n!==null){let r=this._editor.getModel().getDecorationRange(n);if(r.startLineNumber!==r.endLineNumber&&r.endColumn===1){let e=r.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);r=new w(r.startLineNumber,r.startColumn,e,t)}this._rangeHighlightDecorationId=t.addDecoration(r,e._RANGE_HIGHLIGHT_DECORATION)}}),r}set(t,n){this._editor.changeDecorations(r=>{let i=e._FIND_MATCH_DECORATION,a=[];if(t.length>1e3){i=e._FIND_MATCH_NO_OVERVIEW_DECORATION;let n=this._editor.getModel().getLineCount(),r=this._editor.getLayoutInfo().height/n,o=Math.max(2,Math.ceil(3/r)),s=t[0].range.startLineNumber,c=t[0].range.endLineNumber;for(let n=1,r=t.length;n<r;n++){let r=t[n].range;c+o>=r.startLineNumber?r.endLineNumber>c&&(c=r.endLineNumber):(a.push({range:new w(s,1,c,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),s=r.startLineNumber,c=r.endLineNumber)}a.push({range:new w(s,1,c,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let o=Array(t.length);for(let e=0,n=t.length;e<n;e++)o[e]={range:t[e].range,options:i};this._decorations=r.deltaDecorations(this._decorations,o),this._overviewRulerApproximateDecorations=r.deltaDecorations(this._overviewRulerApproximateDecorations,a),this._rangeHighlightDecorationId&&=(r.removeDecoration(this._rangeHighlightDecorationId),null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(e=>r.removeDecoration(e)),this._findScopeDecorationIds=[]),n?.length&&(this._findScopeDecorationIds=n.map(t=>r.addDecoration(t,e._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){let n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(!(!r||r.endLineNumber>e.lineNumber)&&(r.endLineNumber<e.lineNumber||!(r.endColumn>e.column)))return r}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,n=this._decorations.length;t<n;t++){let n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(!(!r||r.startLineNumber<e.lineNumber)&&(r.startLineNumber>e.lineNumber||!(r.startColumn<e.column)))return r}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}static{this._CURRENT_FIND_MATCH_DECORATION=F.register({description:`current-find-match`,stickiness:1,zIndex:13,className:`currentFindMatch`,inlineClassName:`currentFindMatchInline`,showIfCollapsed:!0,overviewRuler:{color:oo(va),position:ta.Center},minimap:{color:oo(Vu),position:1}})}static{this._FIND_MATCH_DECORATION=F.register({description:`find-match`,stickiness:1,zIndex:10,className:`findMatch`,inlineClassName:`findMatchInline`,showIfCollapsed:!0,overviewRuler:{color:oo(va),position:ta.Center},minimap:{color:oo(Vu),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=F.register({description:`find-match-no-overview`,stickiness:1,className:`findMatch`,showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=F.register({description:`find-match-only-overview`,stickiness:1,overviewRuler:{color:oo(va),position:ta.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=F.register({description:`find-range-highlight`,stickiness:1,className:`rangeHighlight`,isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=F.register({description:`find-scope`,className:`findScope`,isWholeLine:!0})}},jv=class{constructor(e,t,n){this._editorSelection=e,this._ranges=t,this._replaceStrings=n,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){let e=[];for(let t=0;t<this._ranges.length;t++)e.push({range:this._ranges[t],text:this._replaceStrings[t]});e.sort((e,t)=>w.compareRangesUsingStarts(e.range,t.range));let n=[],r=e[0];for(let t=1;t<e.length;t++)r.range.endLineNumber===e[t].range.startLineNumber&&r.range.endColumn===e[t].range.startColumn?(r.range=r.range.plusRange(e[t].range),r.text+=e[t].text):(n.push(r),r=e[t]);n.push(r);for(let e of n)t.addEditOperation(e.range,e.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}};function Mv(e,t){if(e&&e[0]!==``){let n=Nv(e,t,`-`),r=Nv(e,t,`_`);return n&&!r?Pv(e,t,`-`):!n&&r?Pv(e,t,`_`):e[0].toUpperCase()===e[0]?t.toUpperCase():e[0].toLowerCase()===e[0]?t.toLowerCase():fu(e[0][0])&&t.length>0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function Nv(e,t,n){return e[0].indexOf(n)!==-1&&t.indexOf(n)!==-1&&e[0].split(n).length===t.split(n).length}function Pv(e,t,n){let r=t.split(n),i=e[0].split(n),a=``;return r.forEach((e,t)=>{a+=Mv([i[t]],e)+n}),a.slice(0,-1)}var Fv=class{constructor(e){this.staticValue=e,this.kind=0}},Iv=class{constructor(e){this.pieces=e,this.kind=1}},Lv=class e{static fromStaticValue(t){return new e([Rv.staticValue(t)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){this._state=!e||e.length===0?new Fv(``):e.length===1&&e[0].staticValue!==null?new Fv(e[0].staticValue):new Iv(e)}buildReplaceString(t,n){if(this._state.kind===0)return n?Mv(t,this._state.staticValue):this._state.staticValue;let r=``;for(let n=0,i=this._state.pieces.length;n<i;n++){let i=this._state.pieces[n];if(i.staticValue!==null){r+=i.staticValue;continue}let a=e._substitute(i.matchIndex,t);if(i.caseOps!==null&&i.caseOps.length>0){let e=[],t=i.caseOps.length,n=0;for(let r=0,o=a.length;r<o;r++){if(n>=t){e.push(a.slice(r));break}switch(i.caseOps[n]){case`U`:e.push(a[r].toUpperCase());break;case`u`:e.push(a[r].toUpperCase()),n++;break;case`L`:e.push(a[r].toLowerCase());break;case`l`:e.push(a[r].toLowerCase()),n++;break;default:e.push(a[r])}}a=e.join(``)}r+=a}return r}static _substitute(e,t){if(t===null)return``;if(e===0)return t[0];let n=``;for(;e>0;){if(e<t.length)return(t[e]||``)+n;n=String(e%10)+n,e=Math.floor(e/10)}return`$`+n}},Rv=class e{static staticValue(t){return new e(t,-1,null)}static caseOps(t,n){return new e(null,t,n)}constructor(e,t,n){this.staticValue=e,this.matchIndex=t,this.caseOps=!n||n.length===0?null:n.slice(0)}},zv=class{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=``}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,n){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Rv.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),this._result[this._resultLen++]=Rv.caseOps(e,n),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Rv.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),new Lv(this._result)}};function Bv(e){if(!e||e.length===0)return new Lv(null);let t=[],n=new zv(e);for(let r=0,i=e.length;r<i;r++){let a=e.charCodeAt(r);if(a===92){if(r++,r>=i)break;let a=e.charCodeAt(r);switch(a){case 92:n.emitUnchanged(r-1),n.emitStatic(`\\`,r+1);break;case 110:n.emitUnchanged(r-1),n.emitStatic(`
|
|
6
6
|
`,r+1);break;case 116:n.emitUnchanged(r-1),n.emitStatic(` `,r+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(r-1),n.emitStatic(``,r+1),t.push(String.fromCharCode(a))}}else if(a===36){if(r++,r>=i)break;let a=e.charCodeAt(r);if(a===36){n.emitUnchanged(r-1),n.emitStatic(`$`,r+1);continue}if(a===48||a===38){n.emitUnchanged(r-1),n.emitMatchIndex(0,r+1,t),t.length=0;continue}if(49<=a&&a<=57){let o=a-48;if(r+1<i){let i=e.charCodeAt(r+1);if(48<=i&&i<=57){r++,o=o*10+(i-48),n.emitUnchanged(r-2),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}n.emitUnchanged(r-1),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}}return n.finalize()}var Vv=new M(`findWidgetVisible`,!1);Vv.toNegated();var Hv=new M(`findInputFocussed`,!1),Uv=new M(`replaceInputFocussed`,!1),Wv=new M(`findWidgetFocused`,!1),Gv={primary:545,mac:{primary:2593}},Kv={primary:565,mac:{primary:2613}},qv={primary:560,mac:{primary:2608}},Jv={primary:554,mac:{primary:2602}},Yv={primary:558,mac:{primary:2606}},Xv={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`},Zv=19999,Qv=240,$v=class e{constructor(e,t){this._toDispose=new I,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new $i,this._decorations=new Av(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Lr(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(e=>{(e.reason===3||e.reason===5||e.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Lc(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},Qv)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let n=null;t===void 0?n=this._decorations.getFindScopes():t!==null&&(n=Array.isArray(t)?t:[t]),n!==null&&(n=n.map(e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return e.endColumn===1&&--t,new w(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e}));let r=this._findMatches(n,!1,Zv);this._decorations.set(r,n);let i=this._editor.getSelection(),a=this._decorations.getCurrentMatchesPosition(i);if(a===0&&r.length>0){let e=en(r.map(e=>e.range),e=>w.compareRangesUsingStarts(e,i)>=0);a=e>0?e-1+1:a}this._state.changeMatchInfo(a,this._decorations.getCount(),void 0),e&&this._editor.getOption(50).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){let t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf(`^`)>=0||this._state.searchString.indexOf(`$`)>=0),{lineNumber:n,column:r}=e,i=this._editor.getModel();return t||r===1?(n===1?n=i.getLineCount():n--,r=i.getLineMaxColumn(n)):r--,new j(n,r)}_moveToPrevMatch(t,n=!1){if(!this._state.canNavigateBack()){let e=this._decorations.matchAfterPosition(t);e&&this._setCurrentFindMatch(e);return}if(this._decorations.getCount()<19999){let e=this._decorations.matchBeforePosition(t);e&&e.isEmpty()&&e.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),e=this._decorations.matchBeforePosition(t)),e&&this._setCurrentFindMatch(e);return}if(this._cannotFind())return;let r=this._decorations.getFindScope(),i=e._getSearchRange(this._editor.getModel(),r);i.getEndPosition().isBefore(t)&&(t=i.getEndPosition()),t.isBefore(i.getStartPosition())&&(t=i.getEndPosition());let{lineNumber:a,column:o}=t,s=this._editor.getModel(),c=new j(a,o),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(l&&l.range.isEmpty()&&l.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1)),l){if(!n&&!i.containsRange(l.range))return this._moveToPrevMatch(l.range.getStartPosition(),!0);this._setCurrentFindMatch(l.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf(`^`)>=0||this._state.searchString.indexOf(`$`)>=0),{lineNumber:n,column:r}=e,i=this._editor.getModel();return t||r===i.getLineMaxColumn(n)?(n===i.getLineCount()?n=1:n++,r=1):r++,new j(n,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){let t=this._decorations.matchBeforePosition(e);t&&this._setCurrentFindMatch(t);return}if(this._decorations.getCount()<19999){let t=this._decorations.matchAfterPosition(e);t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),t&&this._setCurrentFindMatch(t);return}let t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(t,n,r,i=!1){if(this._cannotFind())return null;let a=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),a);o.getEndPosition().isBefore(t)&&(t=o.getStartPosition()),t.isBefore(o.getStartPosition())&&(t=o.getStartPosition());let{lineNumber:s,column:c}=t,l=this._editor.getModel(),u=new j(s,c),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n);return r&&d&&d.range.isEmpty()&&d.range.getStartPosition().equals(u)&&(u=this._nextSearchPosition(u),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n)),d?!i&&!o.containsRange(d.range)?this._getNextMatch(d.range.getEndPosition(),n,r,!0):d:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){let t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?Bv(this._state.replaceString):Lv.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n){if(t.equalsRange(n.range)){let r=e.buildReplaceString(n.matches,this._state.preserveCase),i=new Qc(t,r);this._executeEditorCommand(`replace`,i),this._decorations.setStartPosition(new j(t.startLineNumber,t.startColumn+r.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}}_findMatches(t,n,r){let i=(t||[null]).map(t=>e._getSearchRange(this._editor.getModel(),t));return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n,r)}replaceAll(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=19999?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){let e=new Tn(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e=`mu`;t.ignoreCase&&(e+=`i`),t.global&&(e+=`g`),t=new RegExp(t.source,e)}let n=this._editor.getModel(),r=n.getValue(1),i=n.getFullModelRange(),a=this._getReplacePattern(),o,s=this._state.preserveCase;o=a.hasReplacementPatterns||s?r.replace(t,function(){return a.buildReplaceString(arguments,s)}):r.replace(t,a.buildReplaceString(null,s));let c=new cs(i,o,this._editor.getSelection());this._executeEditorCommand(`replaceAll`,c)}_regularReplaceAll(e){let t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let e=0,i=n.length;e<i;e++)r[e]=t.buildReplaceString(n[e].matches,this._state.preserveCase);let i=new jv(this._editor.getSelection(),n.map(e=>e.range),r);this._executeEditorCommand(`replaceAll`,i)}selectAllMatches(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes(),t=this._findMatches(e,!1,1073741824).map(e=>new J(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)),n=this._editor.getSelection();for(let e=0,r=t.length;e<r;e++)if(t[e].equalsRange(n)){t=[n].concat(t.slice(0,e),t.slice(e+1));break}this._editor.setSelections(t)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}},ey=S(5,`input`),ty=S(6,`Preserve Case`),ny=class extends Dl{constructor(e){super({icon:A.preserveCase,title:ty+e.appendTitle,isChecked:e.isChecked,hoverLifecycleOptions:e.hoverLifecycleOptions,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},ry=class extends af{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(e,t,n,r){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new P),this._onKeyDown=this._register(new P),this._onMouseDown=this._register(new P),this._onInput=this._register(new P),this._onKeyUp=this._register(new P),this._onPreserveCaseKeyDown=this._register(new P),this.contextViewProvider=t,this.placeholder=r.placeholder||``,this.validation=r.validation,this.label=r.label||ey;let i=r.appendPreserveCaseLabel||``,a=r.history||new Set([]),o=!!r.flexibleHeight,s=!!r.flexibleWidth,c=r.flexibleMaxHeight;this.domNode=document.createElement(`div`),this.domNode.classList.add(`monaco-findInput`),this.inputBox=this._register(new df(this.domNode,this.contextViewProvider,{ariaLabel:this.label||``,placeholder:this.placeholder||``,validationOptions:{validation:this.validation},history:a,showHistoryHint:r.showHistoryHint,flexibleHeight:o,flexibleWidth:s,flexibleMaxHeight:c,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new ny({appendTitle:i,isChecked:!1,hoverLifecycleOptions:r.hoverLifecycleOptions,...r.toggleStyles})),this._register(this.preserveCase.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(e=>{this._onPreserveCaseKeyDown.fire(e)})),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;let l=[this.preserveCase.domNode];this.onkeydown(this.domNode,e=>{Ci(e,this.domNode,()=>l,()=>this.inputBox.focus())});let u=document.createElement(`div`);u.className=`controls`,u.style.display=this._showOptionButtons?`block`:`none`,u.appendChild(this.preserveCase.domNode),this.domNode.appendChild(u),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}enable(){this.domNode.classList.remove(`disabled`),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add(`disabled`),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+`px`}},iy=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ay=function(e,t){return function(n,r){t(n,r,e)}},oy=new M(`suggestWidgetVisible`,!1,S(1793,`Whether suggestion are visible`)),sy=`historyNavigationWidgetFocus`,cy=`historyNavigationForwardsEnabled`,ly=`historyNavigationBackwardsEnabled`,uy=void 0,dy=[];function fy(e,t){if(dy.includes(t))throw Error(`Cannot register the same widget multiple times`);dy.push(t);let n=new I,r=new M(sy,!1).bindTo(e),i=new M(cy,!0).bindTo(e),a=new M(ly,!0).bindTo(e),o=()=>{r.set(!0),uy=t},s=()=>{r.set(!1),uy===t&&(uy=void 0)};return Di(t.element)&&o(),n.add(t.onDidFocus(()=>o())),n.add(t.onDidBlur(()=>s())),n.add(Yo(()=>{dy.splice(dy.indexOf(t),1),s()})),{historyNavigationForwardsEnablement:i,historyNavigationBackwardsEnablement:a,dispose(){n.dispose()}}}var py=class extends Gt{constructor(e,t,n,r){super(e,t,n);let i=this._register(r.createScoped(this.inputBox.element));this._register(fy(i,this.inputBox))}};py=iy([ay(3,Ra)],py);var my=class extends ry{constructor(e,t,n,r,i=!1){super(e,t,i,n);let a=this._register(r.createScoped(this.inputBox.element));this._register(fy(a,this.inputBox))}};my=iy([ay(3,Ra)],my),Kf.registerCommandAndKeybindingRule({id:`history.showPrevious`,weight:200,when:T.and(T.has(sy),T.equals(ly,!0),oy.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{uy?.showPreviousValue()}}),Kf.registerCommandAndKeybindingRule({id:`history.showNext`,weight:200,when:T.and(T.has(sy),T.equals(cy,!0),oy.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{uy?.showNextValue()}});function hy(e){return e.lookupKeybinding(`history.showPrevious`)?.getElectronAccelerator()===`Up`&&e.lookupKeybinding(`history.showNext`)?.getElectronAccelerator()===`Down`}var gy=Mr(`find-collapsed`,A.chevronRight,S(1011,`Icon to indicate that the editor find widget is collapsed.`)),_y=Mr(`find-expanded`,A.chevronDown,S(1012,`Icon to indicate that the editor find widget is expanded.`)),vy=Mr(`find-selection`,A.selection,S(1013,`Icon for 'Find in Selection' in the editor find widget.`)),yy=Mr(`find-replace`,A.replace,S(1014,`Icon for 'Replace' in the editor find widget.`)),by=Mr(`find-replace-all`,A.replaceAll,S(1015,`Icon for 'Replace All' in the editor find widget.`)),xy=Mr(`find-previous-match`,A.arrowUp,S(1016,`Icon for 'Find Previous' in the editor find widget.`)),Sy=Mr(`find-next-match`,A.arrowDown,S(1017,`Icon for 'Find Next' in the editor find widget.`)),Cy=S(1018,`Find / Replace`),wy=S(1019,`Find`),Ty=S(1020,`Find`),Ey=S(1021,`Previous Match`),Dy=S(1022,`Next Match`),Oy=S(1023,`Find in Selection`),ky=S(1024,`Close`),Ay=S(1025,`Replace`),jy=S(1026,`Replace`),My=S(1027,`Replace`),Ny=S(1028,`Replace All`),Py=S(1029,`Toggle Replace`),Fy=S(1030,`Only the first {0} results are highlighted, but all find operations work on the entire text.`,Zv),Iy=S(1031,`{0} of {1}`),Ly=S(1032,`No results`),Ry=419,zy=221,By=69,Vy=33,Hy=rf?256:2048,Uy=class{constructor(e){this.afterLineNumber=e,this.heightInPx=Vy,this.suppressMouseDown=!1,this.domNode=document.createElement(`div`),this.domNode.className=`dock-find-viewzone`}};function Wy(e,t,n){let r=!!t.match(/\n/);n&&r&&n.selectionStart>0&&e.stopPropagation()}function Gy(e,t,n){let r=!!t.match(/\n/);n&&r&&n.selectionEnd<n.value.length&&e.stopPropagation()}var Ky=class e extends af{static{this.ID=`editor.contrib.findWidget`}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._hoverService=o,this._findWidgetSearchHistory=s,this._replaceWidgetHistory=c,this._configurationService=l,this._accessibilityService=u,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=n,this._contextViewProvider=r,this._keybindingService=i,this._contextKeyService=a,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new rr(500),this._register(Yo(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(e=>{if(e.hasChanged(104)&&(this._codeEditor.getOption(104)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(166)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(50)){let e=this._codeEditor.getOption(50).loop;this._state.change({loop:e},!1);let t=this._codeEditor.getOption(50).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new Uy(0),this._showViewZone()),!t&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){let e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}})),this._findInputFocused=Hv.bindTo(a),this._findFocusTracker=this._register(fr(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=Uv.bindTo(a),this._replaceFocusTracker=this._register(fr(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=Wv.bindTo(a),this._widgetFocusTracker=this._register(fr(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(L(this._domNode,`focusin`,e=>{Xi(e.target)&&(this._lastFocusedElement=e.target)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop&&(this._viewZone=new Uy(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(104)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=gt(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){let e=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle(`no-results`,e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,at)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=By+`px`,this._state.matchesCount>=19999?this._matchesCount.title=Fy:this._matchesCount.title=``,this._matchesCount.firstChild?.remove();let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+=`+`);let n=String(this._state.matchesPosition);n===`0`&&(n=`?`),e=hs(Iy,n,t)}else e=Ly;this._matchesCount.appendChild(document.createTextNode(e)),Co(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),By=Math.max(By,this._matchesCount.clientWidth)}_getAriaLabel(e,t,n){let r;if(e===Ly)r=n===``?S(1033,`{0} found`,e):S(1034,`{0} found for '{1}'`,e,n);else if(t){let i=S(1035,`{0} found for '{1}', at {2}`,e,n,t.startLineNumber+`:`+t.startColumn),a=this._codeEditor.getModel();r=a&&t.startLineNumber<=a.getLineCount()&&t.startLineNumber>=1?`${a.getLineContent(t.startLineNumber)}, ${i}`:i}else r=S(1036,`{0} found for '{1}'`,e,n);return r}_updateToggleSelectionFindButton(){let e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,n=this._toggleSelectionFind.checked;this._isVisible&&(n||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle(`replaceToggled`,this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let n=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&n)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(50).autoFindInSelection){case`always`:this._toggleSelectionFind.checked=!0;break;case`never`:this._toggleSelectionFind.checked=!1;break;case`multiline`:{let t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add(`visible`),this._domNode.setAttribute(`aria-hidden`,`false`),this._updateFindInputAriaLabel()},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&e){let n=this._codeEditor.getDomNode();if(n){let r=ya(n),i=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),a=r.left+(i?i.left:0),o=i?i.top:0;if(this._viewZone&&o<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);let n=hi(this._domNode).left;a>n&&(t=!1);let i=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(i?i.left:0)>n&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!1,this._updateButtons(),this._domNode.classList.remove(`visible`),this._domNode.setAttribute(`aria-hidden`,`true`),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;let t=this._viewZone;this._viewZoneId===void 0&&t&&this._codeEditor.changeViewZones(n=>{t.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new Uy(0));let t=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){let r=this._getHeight();if(r===t.heightInPx)return;let i=r-t.heightInPx;t.heightInPx=r,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+i)}else{let r=this._getHeight();if(r-=this._codeEditor.getOption(96).top,r<=0)return;t.heightInPx=r,this._viewZoneId=n.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&=(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;let e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add(`hiddenEditor`);return}this._domNode.classList.contains(`hiddenEditor`)&&this._domNode.classList.remove(`hiddenEditor`);let t=e.width,n=e.minimap.minimapWidth,r=!1,i=!1,a=!1;if(this._resized&>(this._domNode)>Ry)this._domNode.style.maxWidth=`${t-28-n-15}px`,this._replaceInput.width=gt(this._findInput.domNode);else if(447+n>=t&&(i=!0),447+n-By>=t&&(a=!0),447+n-By>=t+50&&(r=!0),this._domNode.classList.toggle(`collapsed-find-widget`,r),this._domNode.classList.toggle(`narrow-find-widget`,a),this._domNode.classList.toggle(`reduced-find-widget`,i),!a&&!r&&(this._domNode.style.maxWidth=`${t-28-n-15}px`),this._findInput.layout({collapsedFindWidget:r,narrowFindWidget:a,reducedFindWidget:i}),this._resized){let e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=gt(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){let e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let e=this._codeEditor.getSelections();e.map(e=>{e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));let t=this._state.currentMatch;return e.startLineNumber!==e.endLineNumber&&!w.equalsRange(e,t)?e:null}).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(Hy|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}this._findInput.inputBox.insertAtCursor(`
|
|
@@ -30,15 +30,15 @@ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{A as t,Ct as n,Et as r
|
|
|
30
30
|
`+a),this.shouldAutoIndent(e,r)){let a=this.createVirtualModel(e,e=>e===n?r.startLineNumber:e),c=this.matchEnterRule(e,s,i,r.startLineNumber,r.startLineNumber-2);if(c!==null)c!==0&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,c);else{let c=Ao(this._autoIndent,a,e.getLanguageIdAtPosition(r.startLineNumber,1),n,s,this._languageConfigurationService);if(c!==null){let n=wu(e.getLineContent(r.startLineNumber)),a=KD(c,i),s=KD(n,i);if(a!==s){let n=a-s;this.getIndentEditsOfMovingBlock(e,t,r,i,o,n)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,n){return{shiftIndent:r=>Ho.shiftIndent(r,r.length+1,e,t,n),unshiftIndent:r=>Ho.unshiftIndent(r,r.length+1,e,t,n)}}parseEnterResult(e,t,n,r,i){if(i){let a=i.indentation;i.indentAction===oc.None||i.indentAction===oc.Indent?a=i.indentation+i.appendText:i.indentAction===oc.IndentOutdent?a=i.indentation:i.indentAction===oc.Outdent&&(a=t.unshiftIndent(i.indentation)+i.appendText);let o=e.getLineContent(r);if(this.trimStart(o).indexOf(this.trimStart(a))>=0){let i=wu(e.getLineContent(r)),o=wu(a),s=vo(e,r,this._languageConfigurationService);return s!==null&&s&2&&(o=t.unshiftIndent(o)),KD(o,n)-KD(i,n)}}return null}matchEnterRuleMovingDown(e,t,n,r,i,a){if(Iu(a)>=0){let a=e.getLineMaxColumn(i),o=Gi(this._autoIndent,e,new w(i,a,i,a),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,o)}{let i=r-1;for(;i>=1;){let t=e.getLineContent(i);if(Iu(t)>=0)break;i--}if(i<1||r>e.getLineCount())return null;let a=e.getLineMaxColumn(i),o=Gi(this._autoIndent,e,new w(i,a,i,a),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,o)}}matchEnterRule(e,t,n,r,i,a){let o=i;for(;o>=1;){let t;if(t=o===i&&a!==void 0?a:e.getLineContent(o),Iu(t)>=0)break;o--}if(o<1||r>e.getLineCount())return null;let s=e.getLineMaxColumn(o),c=Gi(this._autoIndent,e,new w(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,c)}trimStart(e){return e.replace(/^\s+/,``)}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;let n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&this._languageConfigurationService.getLanguageConfiguration(n).indentRulesSupport!==null}getIndentEditsOfMovingBlock(e,t,n,r,i,a){for(let o=n.startLineNumber;o<=n.endLineNumber;o++){let s=e.getLineContent(o),c=wu(s),l=qD(KD(c,r)+a,r,i);l!==c&&(t.addEditOperation(new w(o,1,o,c.length+1),l),o===n.endLineNumber&&n.endColumn<=c.length+1&&l===``&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber<n.endLineNumber&&(n=n.setEndPosition(n.endLineNumber,2)),n}};$O=ZO([QO(3,Ln)],$O);var ek=class{static{this._COLLATOR=Ja.Collator()}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){let n=nk(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,n){if(e===null)return!1;let r=tk(e,t,n);if(!r)return!1;for(let e=0,t=r.before.length;e<t;e++)if(r.before[e]!==r.after[e])return!0;return!1}};function tk(e,t,n){let r=t.startLineNumber,i=t.endLineNumber;if(t.endColumn===1&&i--,r>=i)return null;let a=[];for(let t=r;t<=i;t++)a.push(e.getLineContent(t));let o=a.slice(0);return o.sort(ek._COLLATOR.value.compare),n===!0&&(o=o.reverse()),{startLineNumber:r,endLineNumber:i,before:a,after:o}}function nk(e,t,n){let r=tk(e,t,n);return r?sc.replace(new w(r.startLineNumber,1,r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),r.after.join(`
|
|
31
31
|
`)):null}var rk=class extends G{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;let n=t.getSelections().map((e,t)=>({selection:e,index:t,ignore:!1}));n.sort((e,t)=>w.compareRangesUsingStarts(e.selection,t.selection));let r=n[0];for(let e=1;e<n.length;e++){let t=n[e];r.selection.endLineNumber===t.selection.startLineNumber&&(r.index<t.index?t.ignore=!0:(r.ignore=!0,r=t))}let i=[];for(let e of n)i.push(new XO(e.selection,this.down,e.ignore));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},ik=class extends rk{constructor(){super(!1,{id:`editor.action.copyLinesUpAction`,label:R(1315,`Copy Line Up`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`2_line`,title:S(1310,`&&Copy Line Up`),order:1},canTriggerInlineEdits:!0})}},ak=class extends rk{constructor(){super(!0,{id:`editor.action.copyLinesDownAction`,label:R(1316,`Copy Line Down`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`2_line`,title:S(1311,`Co&&py Line Down`),order:2},canTriggerInlineEdits:!0})}},ok=class extends G{constructor(){super({id:`editor.action.duplicateSelection`,label:R(1317,`Duplicate Selection`),precondition:D.writable,menuOpts:{menuId:O.MenubarSelectionMenu,group:`2_line`,title:S(1312,`&&Duplicate Selection`),order:5},canTriggerInlineEdits:!0})}run(e,t,n){if(!t.hasModel())return;let r=[],i=t.getSelections(),a=t.getModel();for(let e of i)if(e.isEmpty())r.push(new XO(e,!0));else{let t=new J(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn);r.push(new vu(t,a.getValueInRange(e)))}t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},sk=class extends G{constructor(e,t){super(t),this.down=e}run(e,t){let n=e.get(Ln),r=[],i=t.getSelections()||[],a=t.getOption(16);for(let e of i)r.push(new $O(e,this.down,a,n));t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},ck=class extends sk{constructor(){super(!1,{id:`editor.action.moveLinesUpAction`,label:R(1318,`Move Line Up`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`2_line`,title:S(1313,`Mo&&ve Line Up`),order:3},canTriggerInlineEdits:!0})}},lk=class extends sk{constructor(){super(!0,{id:`editor.action.moveLinesDownAction`,label:R(1319,`Move Line Down`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`2_line`,title:S(1314,`Move &&Line Down`),order:4},canTriggerInlineEdits:!0})}},uk=class extends G{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections();r.length===1&&r[0].isSingleLine()&&(r=[new J(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);for(let e of r)if(!ek.canRun(t.getModel(),e,this.descending))return;let i=[];for(let e=0,t=r.length;e<t;e++)i[e]=new ek(r[e],this.descending);t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},dk=class extends uk{constructor(){super(!1,{id:`editor.action.sortLinesAscending`,label:R(1320,`Sort Lines Ascending`),precondition:D.writable,canTriggerInlineEdits:!0})}},fk=class extends uk{constructor(){super(!0,{id:`editor.action.sortLinesDescending`,label:R(1321,`Sort Lines Descending`),precondition:D.writable,canTriggerInlineEdits:!0})}},pk=class extends G{constructor(){super({id:`editor.action.removeDuplicateLines`,label:R(1322,`Delete Duplicate Lines`),precondition:D.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r=[],i=[],a=0,o=!0,s=t.getSelections();s.length===1&&s[0].isSingleLine()&&(s=[new J(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))],o=!1);for(let e of s){let t=new Set,o=[];for(let r=e.startLineNumber;r<=e.endLineNumber;r++){let e=n.getLineContent(r);t.has(e)||(o.push(e),t.add(e))}let s=new J(e.startLineNumber,1,e.endLineNumber,n.getLineMaxColumn(e.endLineNumber)),c=e.startLineNumber-a,l=new J(c,1,c+o.length-1,o[o.length-1].length+1);r.push(sc.replace(s,o.join(`
|
|
32
32
|
`))),i.push(l),a+=e.endLineNumber-e.startLineNumber+1-o.length}t.pushUndoStop(),t.executeEdits(this.id,r,o?i:void 0),t.pushUndoStop()}},mk=class extends G{constructor(){super({id:`editor.action.reverseLines`,label:R(1323,`Reverse lines`),precondition:D.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections(),i=r;i.length===1&&i[0].isSingleLine()&&(i=[new J(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);let a=[],o=[];for(let e=0;e<i.length;e++){let t=i[e],s=r[e],c=t.endLineNumber;t.startLineNumber<t.endLineNumber&&t.endColumn===1&&c--;let l=new w(t.startLineNumber,1,c,n.getLineMaxColumn(c));c===n.getLineCount()&&n.getLineContent(l.endLineNumber)===``&&(l=l.setEndPosition(l.endLineNumber-1,n.getLineMaxColumn(l.endLineNumber-1)));let u=[];for(let e=l.endLineNumber;e>=l.startLineNumber;e--)u.push(n.getLineContent(e));let d=sc.replace(l,u.join(`
|
|
33
|
-
`));a.push(d);let f=function(e){return e<=l.endLineNumber?l.endLineNumber-e+l.startLineNumber:e};o.push(function(e){if(e.isEmpty())return new J(f(e.positionLineNumber),e.positionColumn,f(e.positionLineNumber),e.positionColumn);{let t=f(e.selectionStartLineNumber),n=f(e.positionLineNumber),r=e.selectionStartColumn,i=e.positionColumn;return new J(t,r,n,i)}}(s))}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.pushUndoStop()}},hk=class e extends G{static{this.ID=`editor.action.trimTrailingWhitespace`}constructor(){super({id:e.ID,label:R(1324,`Trim Trailing Whitespace`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:jr(2089,2102),weight:100}})}run(e,t,n){let r=[];n.reason===`auto-save`&&(r=(t.getSelections()||[]).map(e=>new j(e.positionLineNumber,e.positionColumn)));let i=t.getSelection();if(i===null)return;let a=e.get(Wi),o=t.getModel(),s=a.getValue(`files.trimTrailingWhitespaceInRegexAndStrings`,{overrideIdentifier:o?.getLanguageId(),resource:o?.uri}),c=new JO(i,r,s);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}},gk=class extends G{constructor(){super({id:`editor.action.deleteLines`,label:R(1325,`Delete Line`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let i=0,a=[],o=[];for(let e=0,t=n.length;e<t;e++){let t=n[e],s=t.startLineNumber,c=t.endLineNumber,l=1,u=r.getLineMaxColumn(c);c<r.getLineCount()?(c+=1,u=1):s>1&&(--s,l=r.getLineMaxColumn(s)),a.push(sc.replace(new J(s,l,c,u),``)),o.push(new J(s-i,t.positionColumn,s-i,t.positionColumn)),i+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.revealAllCursors(!0),t.pushUndoStop()}_getLinesToRemove(e){let t=e.getSelections().map(e=>{let t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&e.endColumn===1&&--t,{startLineNumber:e.startLineNumber,selectionStartColumn:e.selectionStartColumn,endLineNumber:t,positionColumn:e.positionColumn}});t.sort((e,t)=>e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber);let n=[],r=t[0];for(let e=1;e<t.length;e++)r.endLineNumber+1>=t[e].startLineNumber?r.endLineNumber=t[e].endLineNumber:(n.push(r),r=t[e]);return n.push(r),n}},_k=class extends G{constructor(){super({id:`editor.action.indentLines`,label:R(1326,`Indent Line`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,Gu.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},vk=class extends G{constructor(){super({id:`editor.action.outdentLines`,label:R(1327,`Outdent Line`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(e,t){Rn.Outdent.runEditorCommand(e,t,null)}},yk=class e extends G{static{this.ID=`editor.action.insertLineBefore`}constructor(){super({id:e.ID,label:R(1328,`Insert Line Above`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,vr.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}},bk=class e extends G{static{this.ID=`editor.action.insertLineAfter`}constructor(){super({id:e.ID,label:R(1329,`Insert Line Below`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,vr.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}},xk=class extends G{run(e,t){if(!t.hasModel())return;let n=t.getSelection(),r=this._getRangesToDelete(t),i=[];for(let e=0,t=r.length-1;e<t;e++){let t=r[e],n=r[e+1];w.intersectRanges(t,n)===null?i.push(t):r[e+1]=w.plusRange(t,n)}i.push(r[r.length-1]);let a=this._getEndCursorState(n,i),o=i.map(e=>sc.replace(e,``));t.pushUndoStop(),t.executeEdits(this.id,o,a),t.pushUndoStop()}},Sk=class extends xk{constructor(){super({id:`deleteAllLeft`,label:R(1330,`Delete All Left`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[],i=0;return t.forEach(t=>{let a;if(t.endColumn===1&&i>0){let e=t.startLineNumber-i;a=new J(e,t.startColumn,e,t.startColumn)}else a=new J(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=a:r.push(a)}),n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getSelections();if(t===null)return[];let n=t,r=e.getModel();return r===null?[]:(n.sort(w.compareRangesUsingStarts),n=n.map(e=>{if(e.isEmpty()){if(e.startColumn===1){let t=Math.max(1,e.startLineNumber-1),n=e.startLineNumber===1?1:r.getLineLength(t)+1;return new w(t,n,e.startLineNumber,1)}return new w(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new w(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),n)}},Ck=class extends xk{constructor(){super({id:`deleteAllRight`,label:R(1331,`Delete All Right`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=new J(a.startLineNumber-0,a.startColumn,a.startLineNumber-0,a.startColumn);a.intersectRanges(e)?n=o:r.push(o)}return n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getModel();if(t===null)return[];let n=e.getSelections();if(n===null)return[];let r=n.map(e=>{if(e.isEmpty()){let n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new w(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new w(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e});return r.sort(w.compareRangesUsingStarts),r}},wk=class extends G{constructor(){super({id:`editor.action.joinLines`,label:R(1332,`Join Lines`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getSelection();if(r===null)return;n.sort(w.compareRangesUsingStarts);let i=[],a=n.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(r.equalsSelection(e)&&(r=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new J(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new J(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));i.push(a);let o=t.getModel();if(o===null)return;let s=[],c=[],l=r,u=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=t.startLineNumber,a=0,d,f,p=o.getLineLength(t.endLineNumber)-t.endColumn;if(t.isEmpty()||t.startLineNumber===t.endLineNumber){let e=t.getStartPosition();e.lineNumber<o.getLineCount()?(d=n+1,f=o.getLineMaxColumn(d)):(d=e.lineNumber,f=o.getLineMaxColumn(e.lineNumber))}else d=t.endLineNumber,f=o.getLineMaxColumn(d);let m=o.getLineContent(n);for(let e=n+1;e<=d;e++){let t=o.getLineContent(e),n=o.getLineFirstNonWhitespaceColumn(e);if(n>=1){let e=!0;m===``&&(e=!1),e&&(m.charAt(m.length-1)===` `||m.charAt(m.length-1)===` `)&&(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g,` `));let r=t.substr(n-1);m+=(e?` `:``)+r,a=e?r.length+1:r.length}else a=0}let h=new w(n,1,d,f);if(!h.isEmpty()){let e;t.isEmpty()?(s.push(sc.replace(h,m)),e=new J(h.startLineNumber-u,m.length-a+1,n-u,m.length-a+1)):t.startLineNumber===t.endLineNumber?(s.push(sc.replace(h,m)),e=new J(t.startLineNumber-u,t.startColumn,t.endLineNumber-u,t.endColumn)):(s.push(sc.replace(h,m)),e=new J(t.startLineNumber-u,t.startColumn,t.startLineNumber-u,m.length-p)),w.intersectRanges(h,r)===null?c.push(e):l=e}u+=h.endLineNumber-h.startLineNumber}c.unshift(l),t.pushUndoStop(),t.executeEdits(this.id,s,c),t.pushUndoStop()}},Tk=class extends G{constructor(){super({id:`editor.action.transpose`,label:R(1333,`Transpose Characters around the Cursor`),precondition:D.writable,canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=[];for(let e=0,t=n.length;e<t;e++){let t=n[e];if(!t.isEmpty())continue;let a=t.getStartPosition(),o=r.getLineMaxColumn(a.lineNumber);if(a.column>=o){if(a.lineNumber===r.getLineCount())continue;let e=new w(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new Qc(new J(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t))}else{let e=new w(a.lineNumber,Math.max(1,a.column-1),a.lineNumber,a.column+1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new cs(e,t,new J(a.lineNumber,a.column+1,a.lineNumber,a.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},Ek=class extends G{run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=t.getOption(148),a=[];for(let e of n)if(e.isEmpty()){let n=e.getStartPosition(),o=t.getConfiguredWordAtPosition(n);if(!o)continue;let s=new w(n.lineNumber,o.startColumn,n.lineNumber,o.endColumn),c=r.getValueInRange(s);a.push(sc.replace(s,this._modifyText(c,i)))}else{let t=r.getValueInRange(e);a.push(sc.replace(e,this._modifyText(t,i)))}t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop()}},Dk=class extends Ek{constructor(){super({id:`editor.action.transformToUppercase`,label:R(1334,`Transform to Uppercase`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleUpperCase()}},Ok=class extends Ek{constructor(){super({id:`editor.action.transformToLowercase`,label:R(1335,`Transform to Lowercase`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleLowerCase()}},kk=class{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}},Ak=class e extends Ek{static{this.titleBoundary=new kk(`(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}`,`gmu`)}constructor(){super({id:`editor.action.transformToTitlecase`,label:R(1336,`Transform to Title Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.titleBoundary.get();return r?t.toLocaleLowerCase().replace(r,e=>e.toLocaleUpperCase()):t}},jk=class e extends Ek{static{this.caseBoundary=new kk(`(\\p{Ll})(\\p{Lu})`,`gmu`)}static{this.singleLetters=new kk(`(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})`,`gmu`)}constructor(){super({id:`editor.action.transformToSnakecase`,label:R(1337,`Transform to Snake Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get();return!r||!i?t:t.replace(r,`$1_$2`).replace(i,`$1_$2$3`).toLocaleLowerCase()}},Mk=class e extends Ek{static{this.singleLineWordBoundary=new kk(`[_\\s-]+`,`gm`)}static{this.multiLineWordBoundary=new kk(`[_-]+`,`gm`)}static{this.validWordStart=new kk(`^(\\p{Lu}[^\\p{Lu}])`,`gmu`)}constructor(){super({id:`editor.action.transformToCamelcase`,label:R(1338,`Transform to Camel Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=/\r\n|\r|\n/.test(t)?e.multiLineWordBoundary.get():e.singleLineWordBoundary.get(),i=e.validWordStart.get();if(!r||!i)return t;let a=t.split(r);return a.shift()?.replace(i,e=>e.toLocaleLowerCase())+a.map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join(``)}},Nk=class e extends Ek{static{this.wordBoundary=new kk(`[_ \\t-]`,`gm`)}static{this.wordBoundaryToMaintain=new kk(`(?<=\\.)`,`gm`)}static{this.upperCaseWordMatcher=new kk(`^\\p{Lu}+$`,`mu`)}constructor(){super({id:`editor.action.transformToPascalcase`,label:R(1339,`Transform to Pascal Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.wordBoundary.get(),i=e.wordBoundaryToMaintain.get(),a=e.upperCaseWordMatcher.get();return!r||!i||!a?t:t.split(i).map(e=>e.split(r)).flat().map(e=>{let t=e.charAt(0).toLocaleUpperCase()+e.slice(1);return t.length>1&&a.test(t)?t.charAt(0)+t.slice(1).toLocaleLowerCase():t}).join(``)}},Pk=class e extends Ek{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(e=>e.isSupported())}static{this.caseBoundary=new kk(`(\\p{Ll})(\\p{Lu})`,`gmu`)}static{this.singleLetters=new kk(`(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})`,`gmu`)}static{this.underscoreBoundary=new kk(`(\\S)(_)(\\S)`,`gm`)}constructor(){super({id:`editor.action.transformToKebabcase`,label:R(1340,`Transform to Kebab Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get(),a=e.underscoreBoundary.get();return!r||!i||!a?t:t.replace(a,`$1-$3`).replace(r,`$1-$2`).replace(i,`$1-$2`).toLocaleLowerCase()}};B(ik),B(ak),B(ok),B(ck),B(lk),B(dk),B(fk),B(pk),B(hk),B(gk),B(_k),B(vk),B(yk),B(bk),B(Sk),B(Ck),B(wk),B(Tk),B(Dk),B(Ok),B(mk),jk.caseBoundary.isSupported()&&jk.singleLetters.isSupported()&&B(jk),Mk.singleLineWordBoundary.isSupported()&&Mk.multiLineWordBoundary.isSupported()&&B(Mk),Nk.wordBoundary.isSupported()&&B(Nk),Ak.titleBoundary.isSupported()&&B(Ak),Pk.isSupported()&&B(Pk);var Fk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ik=function(e,t){return function(n,r){t(n,r,e)}};function Lk(e){return e.sourceId+` @@ `+JSON.stringify({...e,modelUri:e.modelUri?.toString(),sourceId:void 0})}var Rk=class extends K{static cast(){return this}constructor(e,t,n){super(),this._key=e,this._contextKeyService=t,this._dataChannelService=n,this._isEnabledContextKeyValue=zk(`structuredLogger.enabled:`+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map(e=>e!==void 0)}log(e){return this._isEnabledContextKeyValue.get()?(this._dataChannelService.getDataChannel(`structuredLogger:`+this._key).sendData(e),!0):!1}};Rk=Fk([Ik(1,Ra),Ik(2,cr)],Rk);function zk(e,t){return ou(t.onDidChangeContext,()=>t.getContextKeyValue(e))}var Bk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vk=function(e,t){return function(n,r){t(n,r,e)}},Hk=class extends K{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._loggerService=n,this._structuredLogger=this._register(this._instantiationService.createInstance(Rk.cast(),`editor.inlineSuggest.logChangeReason.commandId`));let r=this._loggerService?.createLogger(`textModelChanges`,{hidden:!1,name:`Text Model Changes Reason`}),i=ou(this,r.onDidChangeLogLevel,()=>r.getLevel());this._register(Fl(e=>{Mc(i.read(e),Wc.Trace)&&e.store.add(this._editor.onDidChangeModelContent(e=>{this._editor.getModel()?.uri.scheme!==`output`&&r.trace(`onDidChangeModelContent: `+e.detailedReasons.map(e=>e.toKey(Number.MAX_VALUE)).join(`, `))}))})),this._register(Fl(e=>{this._editor instanceof fs&&this._structuredLogger.isEnabled.read(e)&&e.store.add(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel();if(!t)return;let n=e.detailedReasons[0],r={...n.metadata,sourceId:`TextModel.setChangeReason`,source:n.metadata.source,time:Date.now(),modelUri:t.uri,modelVersion:t.getVersionId()};setTimeout(()=>{this._structuredLogger.log(r)},0)}))}))}};Hk=Bk([Vk(1,W),Vk(2,Zl)],Hk);function Uk(e,t=Xt){return nn(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}var Wk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gk=function(e,t){return function(n,r){t(n,r,e)}},Kk=class{constructor(e){this._delegates=e}resolve(e){for(let t of this._delegates){let n=t.resolve(e);if(n!==void 0)return n}}},qk=class{constructor(e,t,n,r){this._model=e,this._selection=t,this._selectionIdx=n,this._overtypingCapturer=r}resolve(e){let{name:t}=e;if(t===`SELECTION`||t===`TM_SELECTED_TEXT`){let t=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){let e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,n=e.multiline)}if(t&&n&&e.snippet){let n=this._model.getLineContent(this._selection.startLineNumber),r=wu(n,0,this._selection.startColumn-1),i=r;e.snippet.walk(t=>t!==e&&(t instanceof bm&&(i=wu($l(t.value).pop())),!0));let a=zo(i,r);t=t.replace(/(\r\n|\r|\n)(.*)/g,(e,t,n)=>`${t}${i.substr(a)}${n}`)}return t}if(t===`TM_CURRENT_LINE`)return this._model.getLineContent(this._selection.positionLineNumber);if(t===`TM_CURRENT_WORD`){let e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}if(t===`TM_LINE_INDEX`)return String(this._selection.positionLineNumber-1);if(t===`TM_LINE_NUMBER`)return String(this._selection.positionLineNumber);if(t===`CURSOR_INDEX`)return String(this._selectionIdx);if(t===`CURSOR_NUMBER`)return String(this._selectionIdx+1)}},Jk=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){let{name:t}=e;if(t===`TM_FILENAME`)return Ba(this._model.uri.fsPath);if(t===`TM_FILENAME_BASE`){let e=Ba(this._model.uri.fsPath),t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}if(t===`TM_DIRECTORY`)return co(this._model.uri.fsPath)===`.`?``:this._labelService.getUriLabel(Ts(this._model.uri));if(t===`TM_DIRECTORY_BASE`)return co(this._model.uri.fsPath)===`.`?``:Ba(co(this._model.uri.fsPath));if(t===`TM_FILEPATH`)return this._labelService.getUriLabel(this._model.uri);if(t===`RELATIVE_FILEPATH`)return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}},Yk=class{constructor(e,t,n,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=n,this._spread=r}resolve(e){if(e.name!==`CLIPBOARD`)return;let t=this._readClipboardText();if(t){if(this._spread){let e=t.split(/\r\n|\n|\r/).filter(e=>!zs(e));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}},Xk=class{constructor(e,t,n){this._model=e,this._selection=t,this._languageConfigurationService=n}resolve(e){let{name:t}=e,n=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(n).comments;if(r){if(t===`LINE_COMMENT`)return r.lineCommentToken||void 0;if(t===`BLOCK_COMMENT_START`)return r.blockCommentStartToken||void 0;if(t===`BLOCK_COMMENT_END`)return r.blockCommentEndToken||void 0}}};Xk=Wk([Gk(2,Ln)],Xk);var Zk=class e{constructor(){this._date=new Date}static{this.dayNames=[S(1476,`Sunday`),S(1477,`Monday`),S(1478,`Tuesday`),S(1479,`Wednesday`),S(1480,`Thursday`),S(1481,`Friday`),S(1482,`Saturday`)]}static{this.dayNamesShort=[S(1483,`Sun`),S(1484,`Mon`),S(1485,`Tue`),S(1486,`Wed`),S(1487,`Thu`),S(1488,`Fri`),S(1489,`Sat`)]}static{this.monthNames=[S(1490,`January`),S(1491,`February`),S(1492,`March`),S(1493,`April`),S(1494,`May`),S(1495,`June`),S(1496,`July`),S(1497,`August`),S(1498,`September`),S(1499,`October`),S(1500,`November`),S(1501,`December`)]}static{this.monthNamesShort=[S(1502,`Jan`),S(1503,`Feb`),S(1504,`Mar`),S(1505,`Apr`),S(1506,`May`),S(1507,`Jun`),S(1508,`Jul`),S(1509,`Aug`),S(1510,`Sep`),S(1511,`Oct`),S(1512,`Nov`),S(1513,`Dec`)]}resolve(t){let{name:n}=t;switch(n){case`CURRENT_YEAR`:return String(this._date.getFullYear());case`CURRENT_YEAR_SHORT`:return String(this._date.getFullYear()).slice(-2);case`CURRENT_MONTH`:return String(this._date.getMonth().valueOf()+1).padStart(2,`0`);case`CURRENT_DATE`:return String(this._date.getDate().valueOf()).padStart(2,`0`);case`CURRENT_HOUR`:return String(this._date.getHours().valueOf()).padStart(2,`0`);case`CURRENT_MINUTE`:return String(this._date.getMinutes().valueOf()).padStart(2,`0`);case`CURRENT_SECOND`:return String(this._date.getSeconds().valueOf()).padStart(2,`0`);case`CURRENT_MILLISECOND`:return String(this._date.getMilliseconds().valueOf()).padStart(3,`0`);case`CURRENT_DAY_NAME`:return e.dayNames[this._date.getDay()];case`CURRENT_DAY_NAME_SHORT`:return e.dayNamesShort[this._date.getDay()];case`CURRENT_MONTH_NAME`:return e.monthNames[this._date.getMonth()];case`CURRENT_MONTH_NAME_SHORT`:return e.monthNamesShort[this._date.getMonth()];case`CURRENT_SECONDS_UNIX`:return String(Math.floor(this._date.getTime()/1e3));case`CURRENT_MILLISECONDS_UNIX`:return String(this._date.getTime());case`CURRENT_TIMEZONE_OFFSET`:{let e=this._date.getTimezoneOffset(),t=e>0?`-`:`+`,n=Math.trunc(Math.abs(e/60)),r=n<10?`0`+n:n,i=Math.abs(e)-n*60,a=i<10?`0`+i:i;return t+r+`:`+a}case`CURRENT_TIMEZONE_NAME`:return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}}},Qk=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;let t=Xs(this._workspaceService.getWorkspace());if(!Rs(t)){if(e.name===`WORKSPACE_NAME`)return this._resolveWorkspaceName(t);if(e.name===`WORKSPACE_FOLDER`)return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(zl(e))return Ba(e.uri.path);let t=Ba(e.configPath.path);return t.endsWith(`code-workspace`)&&(t=t.substr(0,t.length-_d.length-1)),t}_resoveWorkspacePath(e){if(zl(e))return Uk(e.uri.fsPath);let t=Ba(e.configPath.path),n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?Uk(n):`/`}},$k=class{resolve(e){let{name:t}=e;if(t===`RANDOM`)return Math.random().toString().slice(-6);if(t===`RANDOM_HEX`)return Math.random().toString(16).slice(-6);if(t===`UUID`)return kf()}},eA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tA=function(e,t){return function(n,r){t(n,r,e)}},nA,rA=class e{static{this._decor={active:F.register({description:`snippet-placeholder-1`,stickiness:0,className:`snippet-placeholder`}),inactive:F.register({description:`snippet-placeholder-2`,stickiness:1,className:`snippet-placeholder`}),activeFinal:F.register({description:`snippet-placeholder-3`,stickiness:1,className:`finish-snippet-placeholder`}),inactiveFinal:F.register({description:`snippet-placeholder-4`,stickiness:1,className:`finish-snippet-placeholder`})}}constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=Us(t.placeholders,Sm.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw Error(`Snippet not initialized!`);if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;let t=this._editor.getModel();this._editor.changeDecorations(n=>{for(let r of this._snippet.placeholders){let i=this._snippet.offset(r),a=this._snippet.fullLen(r),o=w.fromPositions(t.getPositionAt(this._offset+i),t.getPositionAt(this._offset+i+a)),s=r.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,c=n.addDecoration(o,s);this._placeholderDecorations.set(r,c)}})}move(t){if(!this._editor.hasModel())return[];this._initDecorations();let n=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let e=[];for(let t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){let r=this._placeholderDecorations.get(t),i=r?n.getDecorationRange(r):null;if(i){let r=n.getValueInRange(i),a=t.transform.resolve(r).split(/\r\n|\r|\n/);for(let e=1;e<a.length;e++)a[e]=n.normalizeIndentation(this._snippetLineLeadingWhitespace+a[e]);e.push(sc.replace(i,a.join(n.getEOL())))}}e.length>0&&this._editor.executeEdits(`snippet.placeholderTransform`,e)}let r=!1;t===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,r=!0):t===!1&&this._placeholderGroupsIdx>0&&(--this._placeholderGroupsIdx,r=!0);let i=n.changeDecorations(t=>{let i=new Set,a=[];for(let o of this._placeholderGroups[this._placeholderGroupsIdx]){let s=this._placeholderDecorations.get(o),c=s?n.getDecorationRange(s):null;if(r&&=this._hasPlaceholderBeenCollapsed(o),s&&c){a.push(new J(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)),t.changeDecorationOptions(s,o.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(o);for(let n of this._snippet.enclosingPlaceholders(o)){let r=this._placeholderDecorations.get(n);r&&(t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(n))}}}for(let[n,r]of this._placeholderDecorations)i.has(n)||t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive);return a});return r?this.move(t):i??[]}_hasPlaceholderBeenCollapsed(e){let t=this._editor.getModel(),n=e;for(;n;){if(n instanceof Sm){let e=this._placeholderDecorations.get(n),r=e?t.getDecorationRange(e):null;if((!r||r.isEmpty())&&n.toString().length>0)return!0}n=n.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){let[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){let e=new Map;for(let t of this._placeholderGroups){let n;for(let r of t){if(r.isFinalTabstop)break;n||(n=[],e.set(r.index,n));let t=this._placeholderDecorations.get(r),i=this._editor.getModel().getDecorationRange(t);if(!i){e.delete(r.index);break}n.push(i)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;let e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;let t=this._placeholderDecorations.get(e);if(!t)return;let n=this._editor.getModel().getDecorationRange(t);if(n)return{range:n,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Cm,!e)),e}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(t){let n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(r=>{for(let i of this._placeholderGroups[this._placeholderGroupsIdx]){let a=t.shift();console.assert(a._offset!==-1),console.assert(!a._placeholderDecorations);let o=a._snippet.placeholderInfo.last.index;for(let e of a._snippet.placeholderInfo.all)e.index=e.isFinalTabstop?i.index+(o+1)/this._nestingLevel:i.index+e.index/this._nestingLevel;this._snippet.replace(i,a._snippet.children);let s=this._placeholderDecorations.get(i);r.removeDecoration(s),this._placeholderDecorations.delete(i);for(let t of a._snippet.placeholders){let i=a._snippet.offset(t),o=a._snippet.fullLen(t),s=w.fromPositions(n.getPositionAt(a._offset+i),n.getPositionAt(a._offset+i+o)),c=r.addDecoration(s,e._decor.inactive);this._placeholderDecorations.set(t,c)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=Us(this._snippet.placeholders,Sm.compareByIndex)})}_renormalizePlaceholderIndices(){let e=this._snippet.placeholders,t=new Set;for(let n of e)n.isFinalTabstop||t.add(n.index);let n=[...t].sort((e,t)=>e-t),r=new Map;for(let e=0;e<n.length;e++)r.set(n[e],e+1);for(let t of e)t.isFinalTabstop||(t.index=r.get(t.index));this._nestingLevel=1}},iA={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},aA=nA=class{static adjustWhitespace(e,t,n,r,i){let a=e.getLineContent(t.lineNumber),o=wu(a,0,t.column-1),s;return r.walk(t=>{if(!(t instanceof bm)||t.parent instanceof Cm||i&&!i.has(t))return!0;let a=t.value.split(/\r\n|\r|\n/);if(n){let n=r.offset(t);if(n===0)a[0]=e.normalizeIndentation(a[0]);else{s??=r.toString();let t=s.charCodeAt(n-1);(t===10||t===13)&&(a[0]=e.normalizeIndentation(o+a[0]))}for(let t=1;t<a.length;t++)a[t]=e.normalizeIndentation(o+a[t])}let c=a.join(e.getEOL());return c!==t.value&&(t.parent.replace(t,[new bm(c)]),s=void 0),!0}),o}static adjustSelection(e,t,n,r){if(n!==0||r!==0){let{positionLineNumber:i,positionColumn:a}=t,o=a-n,s=a+r,c=e.validateRange({startLineNumber:i,startColumn:o,endLineNumber:i,endColumn:s});t=J.createWithDirection(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,n,r,i,a,o,s,c){let l=[],u=[];if(!e.hasModel())return{edits:l,snippets:u};let d=e.getModel(),f=e.invokeWithinContext(e=>e.get(Cu)),p=e.invokeWithinContext(e=>new Jk(e.get(Fi),d)),m=()=>o,h=d.getValueInRange(nA.adjustSelection(d,e.getSelection(),n,0)),g=d.getValueInRange(nA.adjustSelection(d,e.getSelection(),0,r)),_=d.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map((e,t)=>({selection:e,idx:t})).sort((e,t)=>w.compareRangesUsingStarts(e.selection,t.selection));for(let{selection:o,idx:y}of v){let b=nA.adjustSelection(d,o,n,0),ee=nA.adjustSelection(d,o,0,r);h!==d.getValueInRange(b)&&(b=o),g!==d.getValueInRange(ee)&&(ee=o);let x=o.setStartPosition(b.startLineNumber,b.startColumn).setEndPosition(ee.endLineNumber,ee.endColumn),te=new km().parse(t,!0,i),ne=x.getStartPosition(),re=nA.adjustWhitespace(d,ne,a||y>0&&_!==d.getLineFirstNonWhitespaceColumn(o.positionLineNumber),te);te.resolveVariables(new Kk([p,new Yk(m,y,v.length,e.getOption(88)===`spread`),new qk(d,o,y,s),new Xk(d,o,c),new Zk,new Qk(f),new $k])),l[y]=sc.replace(x,te.toString()),l[y].identifier={major:y,minor:0},l[y]._isTracked=!0,u[y]=new rA(e,te,re)}return{edits:l,snippets:u}}static createEditsAndSnippetsFromEdits(e,t,n,r,i,a,o){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};let s=[],c=e.getModel(),l=new km,u=new Om,d=e.invokeWithinContext(e=>new Jk(e.get(Fi),c)),f=new Zk,p=new Qk(e.invokeWithinContext(e=>e.get(Cu))),m=new $k,h=()=>i,g=e.getOption(88)===`spread`,_=t.map((e,t)=>({edit:e,idx:t})).sort((e,t)=>w.compareRangesUsingStarts(e.edit.range,t.edit.range)),v=0;for(let e=0;e<_.length;e++){let{edit:{range:t,template:n,keepWhitespace:i},idx:y}=_[e];if(e>0){let n=_[e-1].edit.range,r=w.fromPositions(n.getEndPosition(),t.getStartPosition()),i=new bm(c.getValueInRange(r));u.appendChild(i),v+=i.value.length}let b=new Set;u.walk(e=>(e instanceof Em&&b.add(e),!0));let ee=l.parseFragment(n,u);nA.adjustWhitespace(c,t.getStartPosition(),i===void 0?r:!i,u,new Set(ee));let x=J.fromRange(t,0),te=new Kk([d,new Yk(h,y,_.length,g),new qk(c,x,y,a),new Xk(c,x,o),f,p,m]);u.walk(e=>(e instanceof Em&&!b.has(e)&&e.resolve(te),!0));let ne=u.toString(),re=ne.slice(v);v=ne.length;let ie=sc.replace(t,re);ie.identifier={major:e,minor:0},ie._isTracked=!0,s.push(ie)}return l.ensureFinalTabstop(u,n,!0),{edits:s,snippets:[new rA(e,u,``)]}}constructor(e,t,n=iA,r){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){Lc(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(` -> `)}"`}insert(e){if(!this._editor.hasModel())return;let{edits:t,snippets:n}=typeof this._template==`string`?nA.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):nA.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=n,this._editor.executeEdits(e??ws.snippet(),t,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<n.length;e++)n[e].initialize(t[e].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):t.map(e=>J.fromPositions(e.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=iA){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);let{edits:n,snippets:r}=nA.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits(`snippet`,n,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<r.length;e++)r[e].initialize(t[e].textChange);let n=r[0].isTrivialSnippet,i=r.length===this._snippets.reduce((e,t)=>e+t.activePlaceholderCount,0);if(!n&&i){for(let e of this._snippets)e.merge(r);console.assert(r.length===0)}return this._snippets[0].hasPlaceholder&&!n&&i?this._move(void 0):t.map(e=>J.fromPositions(e.range.getEndPosition()))})}next(){let e=this._move(!0);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}prev(){let e=this._move(!1);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}_move(e){let t=[];for(let n of this._snippets){let r=n.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;let e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;let t=new Map;for(let n of this._snippets){let r=n.computePossibleSelections();if(t.size===0)for(let[n,i]of r){i.sort(w.compareRangesUsingStarts);for(let r of e)if(i[0].containsRange(r)){t.set(n,[]);break}}if(t.size===0)return!1;t.forEach((e,t)=>{e.push(...r.get(t))})}e.sort(w.compareRangesUsingStarts);for(let[n,r]of t)if(r.length!==e.length)t.delete(n);else{r.sort(w.compareRangesUsingStarts);for(let i=0;i<r.length;i++)if(!r[i].containsRange(e[i])){t.delete(n);continue}}return t.size>0}};aA=nA=eA([tA(3,Ln)],aA);var oA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sA=function(e,t){return function(n,r){t(n,r,e)}},cA,lA={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},uA=class{static{cA=this}static{this.ID=`snippetController2`}static get(e){return e.getContribution(cA.ID)}static{this.InSnippetMode=new M(`inSnippetMode`,!1,S(1471,`Whether the editor in current in snippet mode`))}static{this.HasNextTabstop=new M(`hasNextTabstop`,!1,S(1472,`Whether there is a next tab stop when in snippet mode`))}static{this.HasPrevTabstop=new M(`hasPrevTabstop`,!1,S(1473,`Whether there is a previous tab stop when in snippet mode`))}static{this.InSnippetChoice=new M(`inSnippetChoice`,!1,S(1474,`Whether the current snippet tab stop is a choice`))}constructor(e,t,n,r,i){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=i,this._inSnippetObservable=ls(this,!1),this._snippetListener=new I,this._modelVersionId=-1,this._inSnippet=cA.InSnippetMode.bindTo(r),this._hasNextTabstop=cA.HasNextTabstop.bindTo(r),this._hasPrevTabstop=cA.HasPrevTabstop.bindTo(r),this._inSnippetChoice=cA.InSnippetChoice.bindTo(r)}dispose(){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,t===void 0?lA:{...lA,...t})}catch(t){this.cancel(),this._logService.error(t),this._logService.error(`snippet_error`),this._logService.error(`insert_template=`,e),this._logService.error(`existing_template=`,this._session?this._session._logInfo():`<no_session>`)}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!=`string`&&this.cancel(),this._session?(tr(typeof e==`string`),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new aA(this._editor,e,t,this._languageConfigurationService),this._session.insert(t.reason)),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){let e={_debugDisplayName:`snippetChoiceCompletions`,provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!j.equals(this._editor.getPosition(),t))return;let{activeChoice:n}=this._session;if(!n||n.choice.options.length===0)return;let r=e.getValueInRange(n.range),i=!!n.choice.options.find(e=>e.value===r),a=[];for(let e=0;e<n.choice.options.length;e++){let t=n.choice.options[e];a.push({kind:13,label:t.value,insertText:t.value,sortText:`a`.repeat(e+1),range:n.range,filterText:i?`${r}_${t.value}`:void 0,command:{id:`jumpToNextSnippetPlaceholder`,title:S(1475,`Go to next placeholder...`)}})}return{suggestions:a}}},t=this._editor.getModel(),n,r=!1,i=()=>{n?.dispose(),r=!1},a=()=>{r||=(n=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(n),!0)};this._choiceCompletions={provider:e,enable:a,disable:i}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(e=>e.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId()||!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._inSnippetObservable.set(!0,void 0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0,this._inSnippetChoice.reset();return}let{activeChoice:e}=this._session;!e||!this._choiceCompletions?(this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset()):(this._inSnippetChoice.set(!0),this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{GO(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}get isInSnippetObservable(){return this._inSnippetObservable}};uA=cA=oA([sA(1,Pu),sA(2,z),sA(3,Ra),sA(4,Ln)],uA),Ls(uA.ID,uA,4);var dA=id.bindToContribution(uA.get);U(new dA({id:`jumpToNextSnippetPlaceholder`,precondition:T.and(uA.InSnippetMode,uA.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:D.textInputFocus,primary:2}})),U(new dA({id:`jumpToPrevSnippetPlaceholder`,precondition:T.and(uA.InSnippetMode,uA.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:D.textInputFocus,primary:1026}})),Kf.registerKeybindingRule({id:`jumpToPrevSnippetPlaceholder`,weight:191,when:T.and(uA.InSnippetMode,uA.HasPrevTabstop,uA.InSnippetChoice,D.textInputFocus),primary:1026}),U(new dA({id:`leaveSnippet`,precondition:uA.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:D.textInputFocus,primary:9,secondary:[1033]}})),U(new dA({id:`acceptSnippet`,precondition:uA.InSnippetMode,handler:e=>e.finish()}));function fA(e){return new pA(e)}var pA=class extends cf{constructor(e){super(),this._textModel=e}getOffset(e){return this._textModel.getOffsetAt(e)}getPosition(e){return this._textModel.getPositionAt(e)}},mA=[];function hA(){return mA}function gA(e){return _A(e).map(e=>e.getEndPosition())}function _A(e){let t=Sd.createSortPermutation(e,dd(e=>e.range,w.compareRangesUsingStarts)),n=new Cs(t.apply(e)).getNewRanges();return t.inverse().apply(n)}function vA(e,t){let n=fA(t),r=t.getValue();return e.map(e=>n.getStringReplacement(e)).map(e=>e.removeCommonSuffixPrefix(r)).map(e=>n.getTextReplacement(e))}function yA(e,t){let n=ls(`result`,[]),r=[];return t.add(Fl(t=>{let i=e.read(t);Ps(e=>{if(i.length!==r.length){r.length=i.length;for(let e=0;e<r.length;e++)r[e]||(r[e]=ls(`item`,i[e]));n.set([...r],e)}r.forEach((t,n)=>t.set(i[n],e))})})),n}var bA=class{constructor(e){this._contextKeyService=e}bind(e,t){return ol(e,this._contextKeyService,t instanceof Function?t:e=>t.read(e))}};function xA(e,t){return new Promise(n=>{let r,i=setTimeout(()=>{r&&r.dispose(),n()},e);t&&(r=t.onCancellationRequested(()=>{clearTimeout(i),r&&r.dispose(),n()}))})}var SA=class e{static message(t){return new e(void 0,t)}constructor(e,t=void 0){this.error=e,this.message=t}static is(t){return t instanceof e}logError(){this.message?console.error(`ErrorResult: ${this.message}`,this.error):console.error(`ErrorResult: An unexpected error-case occurred, usually caused by invalid input.`,this.error)}},CA=class e{static startNow(t,n,r,i=wA){return new e(t,n,r,Date.now(),i)}constructor(e,t,n,r,i=wA){this.startValue=e,this.endValue=t,this.durationMs=n,this.startTimeMs=r,this._interpolationFunction=i,e===t&&(this.durationMs=0)}isFinished(e){return e>=this.startTimeMs+this.durationMs}getValue(e){let t=e-this.startTimeMs;return t>=this.durationMs?this.endValue:this._interpolationFunction(t,this.startValue,this.endValue-this.startValue,this.durationMs)}};function wA(e,t,n,r){return e===r?t+n:n*(-(2**(-10*e/r))+1)+t}function TA(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}var EA=class{constructor(e){this._value=e}getValue(e){let t=Date.now();return this._value.isFinished(t)||DA.instance.invalidateOnNextAnimationFrame(e),this._value.getValue(t)}isFinished(e){let t=Date.now(),n=this._value.isFinished(t);return n||DA.instance.invalidateOnNextAnimationFrame(e),n}},DA=class e{constructor(){this._counter=wd(this),this._isScheduled=!1}static{this.instance=new e}invalidateOnNextAnimationFrame(e){this._counter.read(e),this._isScheduled||(this._isScheduled=!0,sa().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()}))}_update(){this._counter.trigger(void 0)}},OA=class{constructor(e,t){this.lineNumber=e,this.parts=t,wr(()=>pr(t,(e,t)=>e.column<=t.column))}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,n)=>t.equals(e.parts[n]))}renderForScreenReader(e){if(this.parts.length===0)return``;let t=this.parts[this.parts.length-1],n=e.substr(0,t.column-1);return new Cs([...this.parts.map(e=>new bf(w.fromPositions(new j(1,e.column)),e.lines.map(e=>e.line).join(`
|
|
33
|
+
`));a.push(d);let f=function(e){return e<=l.endLineNumber?l.endLineNumber-e+l.startLineNumber:e};o.push(function(e){if(e.isEmpty())return new J(f(e.positionLineNumber),e.positionColumn,f(e.positionLineNumber),e.positionColumn);{let t=f(e.selectionStartLineNumber),n=f(e.positionLineNumber),r=e.selectionStartColumn,i=e.positionColumn;return new J(t,r,n,i)}}(s))}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.pushUndoStop()}},hk=class e extends G{static{this.ID=`editor.action.trimTrailingWhitespace`}constructor(){super({id:e.ID,label:R(1324,`Trim Trailing Whitespace`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:jr(2089,2102),weight:100}})}run(e,t,n){let r=[];n.reason===`auto-save`&&(r=(t.getSelections()||[]).map(e=>new j(e.positionLineNumber,e.positionColumn)));let i=t.getSelection();if(i===null)return;let a=e.get(Wi),o=t.getModel(),s=a.getValue(`files.trimTrailingWhitespaceInRegexAndStrings`,{overrideIdentifier:o?.getLanguageId(),resource:o?.uri}),c=new JO(i,r,s);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}},gk=class extends G{constructor(){super({id:`editor.action.deleteLines`,label:R(1325,`Delete Line`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let i=0,a=[],o=[];for(let e=0,t=n.length;e<t;e++){let t=n[e],s=t.startLineNumber,c=t.endLineNumber,l=1,u=r.getLineMaxColumn(c);c<r.getLineCount()?(c+=1,u=1):s>1&&(--s,l=r.getLineMaxColumn(s)),a.push(sc.replace(new J(s,l,c,u),``)),o.push(new J(s-i,t.positionColumn,s-i,t.positionColumn)),i+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.revealAllCursors(!0),t.pushUndoStop()}_getLinesToRemove(e){let t=e.getSelections().map(e=>{let t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&e.endColumn===1&&--t,{startLineNumber:e.startLineNumber,selectionStartColumn:e.selectionStartColumn,endLineNumber:t,positionColumn:e.positionColumn}});t.sort((e,t)=>e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber);let n=[],r=t[0];for(let e=1;e<t.length;e++)r.endLineNumber+1>=t[e].startLineNumber?r.endLineNumber=t[e].endLineNumber:(n.push(r),r=t[e]);return n.push(r),n}},_k=class extends G{constructor(){super({id:`editor.action.indentLines`,label:R(1326,`Indent Line`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,Gu.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},vk=class extends G{constructor(){super({id:`editor.action.outdentLines`,label:R(1327,`Outdent Line`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(e,t){Rn.Outdent.runEditorCommand(e,t,null)}},yk=class e extends G{static{this.ID=`editor.action.insertLineBefore`}constructor(){super({id:e.ID,label:R(1328,`Insert Line Above`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,vr.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}},bk=class e extends G{static{this.ID=`editor.action.insertLineAfter`}constructor(){super({id:e.ID,label:R(1329,`Insert Line Below`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,vr.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}},xk=class extends G{run(e,t){if(!t.hasModel())return;let n=t.getSelection(),r=this._getRangesToDelete(t),i=[];for(let e=0,t=r.length-1;e<t;e++){let t=r[e],n=r[e+1];w.intersectRanges(t,n)===null?i.push(t):r[e+1]=w.plusRange(t,n)}i.push(r[r.length-1]);let a=this._getEndCursorState(n,i),o=i.map(e=>sc.replace(e,``));t.pushUndoStop(),t.executeEdits(this.id,o,a),t.pushUndoStop()}},Sk=class extends xk{constructor(){super({id:`deleteAllLeft`,label:R(1330,`Delete All Left`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[],i=0;return t.forEach(t=>{let a;if(t.endColumn===1&&i>0){let e=t.startLineNumber-i;a=new J(e,t.startColumn,e,t.startColumn)}else a=new J(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=a:r.push(a)}),n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getSelections();if(t===null)return[];let n=t,r=e.getModel();return r===null?[]:(n.sort(w.compareRangesUsingStarts),n=n.map(e=>{if(e.isEmpty()){if(e.startColumn===1){let t=Math.max(1,e.startLineNumber-1),n=e.startLineNumber===1?1:r.getLineLength(t)+1;return new w(t,n,e.startLineNumber,1)}return new w(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new w(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),n)}},Ck=class extends xk{constructor(){super({id:`deleteAllRight`,label:R(1331,`Delete All Right`),precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=new J(a.startLineNumber-0,a.startColumn,a.startLineNumber-0,a.startColumn);a.intersectRanges(e)?n=o:r.push(o)}return n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getModel();if(t===null)return[];let n=e.getSelections();if(n===null)return[];let r=n.map(e=>{if(e.isEmpty()){let n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new w(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new w(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e});return r.sort(w.compareRangesUsingStarts),r}},wk=class extends G{constructor(){super({id:`editor.action.joinLines`,label:R(1332,`Join Lines`),precondition:D.writable,kbOpts:{kbExpr:D.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getSelection();if(r===null)return;n.sort(w.compareRangesUsingStarts);let i=[],a=n.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(r.equalsSelection(e)&&(r=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new J(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new J(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));i.push(a);let o=t.getModel();if(o===null)return;let s=[],c=[],l=r,u=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=t.startLineNumber,a=0,d,f,p=o.getLineLength(t.endLineNumber)-t.endColumn;if(t.isEmpty()||t.startLineNumber===t.endLineNumber){let e=t.getStartPosition();e.lineNumber<o.getLineCount()?(d=n+1,f=o.getLineMaxColumn(d)):(d=e.lineNumber,f=o.getLineMaxColumn(e.lineNumber))}else d=t.endLineNumber,f=o.getLineMaxColumn(d);let m=o.getLineContent(n);for(let e=n+1;e<=d;e++){let t=o.getLineContent(e),n=o.getLineFirstNonWhitespaceColumn(e);if(n>=1){let e=!0;m===``&&(e=!1),e&&(m.charAt(m.length-1)===` `||m.charAt(m.length-1)===` `)&&(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g,` `));let r=t.substr(n-1);m+=(e?` `:``)+r,a=e?r.length+1:r.length}else a=0}let h=new w(n,1,d,f);if(!h.isEmpty()){let e;t.isEmpty()?(s.push(sc.replace(h,m)),e=new J(h.startLineNumber-u,m.length-a+1,n-u,m.length-a+1)):t.startLineNumber===t.endLineNumber?(s.push(sc.replace(h,m)),e=new J(t.startLineNumber-u,t.startColumn,t.endLineNumber-u,t.endColumn)):(s.push(sc.replace(h,m)),e=new J(t.startLineNumber-u,t.startColumn,t.startLineNumber-u,m.length-p)),w.intersectRanges(h,r)===null?c.push(e):l=e}u+=h.endLineNumber-h.startLineNumber}c.unshift(l),t.pushUndoStop(),t.executeEdits(this.id,s,c),t.pushUndoStop()}},Tk=class extends G{constructor(){super({id:`editor.action.transpose`,label:R(1333,`Transpose Characters around the Cursor`),precondition:D.writable,canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=[];for(let e=0,t=n.length;e<t;e++){let t=n[e];if(!t.isEmpty())continue;let a=t.getStartPosition(),o=r.getLineMaxColumn(a.lineNumber);if(a.column>=o){if(a.lineNumber===r.getLineCount())continue;let e=new w(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new Qc(new J(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t))}else{let e=new w(a.lineNumber,Math.max(1,a.column-1),a.lineNumber,a.column+1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new cs(e,t,new J(a.lineNumber,a.column+1,a.lineNumber,a.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},Ek=class extends G{run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=t.getOption(148),a=[];for(let e of n)if(e.isEmpty()){let n=e.getStartPosition(),o=t.getConfiguredWordAtPosition(n);if(!o)continue;let s=new w(n.lineNumber,o.startColumn,n.lineNumber,o.endColumn),c=r.getValueInRange(s);a.push(sc.replace(s,this._modifyText(c,i)))}else{let t=r.getValueInRange(e);a.push(sc.replace(e,this._modifyText(t,i)))}t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop()}},Dk=class extends Ek{constructor(){super({id:`editor.action.transformToUppercase`,label:R(1334,`Transform to Uppercase`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleUpperCase()}},Ok=class extends Ek{constructor(){super({id:`editor.action.transformToLowercase`,label:R(1335,`Transform to Lowercase`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleLowerCase()}},kk=class{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}},Ak=class e extends Ek{static{this.titleBoundary=new kk(`(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}`,`gmu`)}constructor(){super({id:`editor.action.transformToTitlecase`,label:R(1336,`Transform to Title Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.titleBoundary.get();return r?t.toLocaleLowerCase().replace(r,e=>e.toLocaleUpperCase()):t}},jk=class e extends Ek{static{this.caseBoundary=new kk(`(\\p{Ll})(\\p{Lu})`,`gmu`)}static{this.singleLetters=new kk(`(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})`,`gmu`)}constructor(){super({id:`editor.action.transformToSnakecase`,label:R(1337,`Transform to Snake Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get();return!r||!i?t:t.replace(r,`$1_$2`).replace(i,`$1_$2$3`).toLocaleLowerCase()}},Mk=class e extends Ek{static{this.singleLineWordBoundary=new kk(`[_\\s-]+`,`gm`)}static{this.multiLineWordBoundary=new kk(`[_-]+`,`gm`)}static{this.validWordStart=new kk(`^(\\p{Lu}[^\\p{Lu}])`,`gmu`)}constructor(){super({id:`editor.action.transformToCamelcase`,label:R(1338,`Transform to Camel Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=/\r\n|\r|\n/.test(t)?e.multiLineWordBoundary.get():e.singleLineWordBoundary.get(),i=e.validWordStart.get();if(!r||!i)return t;let a=t.split(r);return a.shift()?.replace(i,e=>e.toLocaleLowerCase())+a.map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join(``)}},Nk=class e extends Ek{static{this.wordBoundary=new kk(`[_ \\t-]`,`gm`)}static{this.wordBoundaryToMaintain=new kk(`(?<=\\.)`,`gm`)}static{this.upperCaseWordMatcher=new kk(`^\\p{Lu}+$`,`mu`)}constructor(){super({id:`editor.action.transformToPascalcase`,label:R(1339,`Transform to Pascal Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.wordBoundary.get(),i=e.wordBoundaryToMaintain.get(),a=e.upperCaseWordMatcher.get();return!r||!i||!a?t:t.split(i).map(e=>e.split(r)).flat().map(e=>{let t=e.charAt(0).toLocaleUpperCase()+e.slice(1);return t.length>1&&a.test(t)?t.charAt(0)+t.slice(1).toLocaleLowerCase():t}).join(``)}},Pk=class e extends Ek{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(e=>e.isSupported())}static{this.caseBoundary=new kk(`(\\p{Ll})(\\p{Lu})`,`gmu`)}static{this.singleLetters=new kk(`(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})`,`gmu`)}static{this.underscoreBoundary=new kk(`(\\S)(_)(\\S)`,`gm`)}constructor(){super({id:`editor.action.transformToKebabcase`,label:R(1340,`Transform to Kebab Case`),precondition:D.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get(),a=e.underscoreBoundary.get();return!r||!i||!a?t:t.replace(a,`$1-$3`).replace(r,`$1-$2`).replace(i,`$1-$2`).toLocaleLowerCase()}};B(ik),B(ak),B(ok),B(ck),B(lk),B(dk),B(fk),B(pk),B(hk),B(gk),B(_k),B(vk),B(yk),B(bk),B(Sk),B(Ck),B(wk),B(Tk),B(Dk),B(Ok),B(mk),jk.caseBoundary.isSupported()&&jk.singleLetters.isSupported()&&B(jk),Mk.singleLineWordBoundary.isSupported()&&Mk.multiLineWordBoundary.isSupported()&&B(Mk),Nk.wordBoundary.isSupported()&&B(Nk),Ak.titleBoundary.isSupported()&&B(Ak),Pk.isSupported()&&B(Pk);var Fk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ik=function(e,t){return function(n,r){t(n,r,e)}};function Lk(e){return e.sourceId+` @@ `+JSON.stringify({...e,modelUri:e.modelUri?.toString(),sourceId:void 0})}var Rk=class extends K{static cast(){return this}constructor(e,t,n){super(),this._key=e,this._contextKeyService=t,this._dataChannelService=n,this._isEnabledContextKeyValue=zk(`structuredLogger.enabled:`+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map(e=>e!==void 0)}log(e){return this._isEnabledContextKeyValue.get()?(this._dataChannelService.getDataChannel(`structuredLogger:`+this._key).sendData(e),!0):!1}};Rk=Fk([Ik(1,Ra),Ik(2,cr)],Rk);function zk(e,t){return ou(t.onDidChangeContext,()=>t.getContextKeyValue(e))}var Bk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vk=function(e,t){return function(n,r){t(n,r,e)}},Hk=class extends K{constructor(e,t,n){super(),this._editor=e,this._instantiationService=t,this._loggerService=n,this._structuredLogger=this._register(this._instantiationService.createInstance(Rk.cast(),`editor.inlineSuggest.logChangeReason.commandId`));let r=this._loggerService?.createLogger(`textModelChanges`,{hidden:!1,name:`Text Model Changes Reason`}),i=ou(this,r.onDidChangeLogLevel,()=>r.getLevel());this._register(Fl(e=>{Mc(i.read(e),Wc.Trace)&&e.store.add(this._editor.onDidChangeModelContent(e=>{this._editor.getModel()?.uri.scheme!==`output`&&r.trace(`onDidChangeModelContent: `+e.detailedReasons.map(e=>e.toKey(Number.MAX_VALUE)).join(`, `))}))})),this._register(Fl(e=>{this._editor instanceof fs&&this._structuredLogger.isEnabled.read(e)&&e.store.add(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel();if(!t)return;let n=e.detailedReasons[0],r={...n.metadata,sourceId:`TextModel.setChangeReason`,source:n.metadata.source,time:Date.now(),modelUri:t.uri,modelVersion:t.getVersionId()};setTimeout(()=>{this._structuredLogger.log(r)},0)}))}))}};Hk=Bk([Vk(1,W),Vk(2,Zl)],Hk);function Uk(e,t=Xt){return nn(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}var Wk=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gk=function(e,t){return function(n,r){t(n,r,e)}},Kk=class{constructor(e){this._delegates=e}resolve(e){for(let t of this._delegates){let n=t.resolve(e);if(n!==void 0)return n}}},qk=class{constructor(e,t,n,r){this._model=e,this._selection=t,this._selectionIdx=n,this._overtypingCapturer=r}resolve(e){let{name:t}=e;if(t===`SELECTION`||t===`TM_SELECTED_TEXT`){let t=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){let e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,n=e.multiline)}if(t&&n&&e.snippet){let n=this._model.getLineContent(this._selection.startLineNumber),r=wu(n,0,this._selection.startColumn-1),i=r;e.snippet.walk(t=>t!==e&&(t instanceof bm&&(i=wu($l(t.value).pop())),!0));let a=zo(i,r);t=t.replace(/(\r\n|\r|\n)(.*)/g,(e,t,n)=>`${t}${i.substr(a)}${n}`)}return t}if(t===`TM_CURRENT_LINE`)return this._model.getLineContent(this._selection.positionLineNumber);if(t===`TM_CURRENT_WORD`){let e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}if(t===`TM_LINE_INDEX`)return String(this._selection.positionLineNumber-1);if(t===`TM_LINE_NUMBER`)return String(this._selection.positionLineNumber);if(t===`CURSOR_INDEX`)return String(this._selectionIdx);if(t===`CURSOR_NUMBER`)return String(this._selectionIdx+1)}},Jk=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){let{name:t}=e;if(t===`TM_FILENAME`)return Ba(this._model.uri.fsPath);if(t===`TM_FILENAME_BASE`){let e=Ba(this._model.uri.fsPath),t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}if(t===`TM_DIRECTORY`)return co(this._model.uri.fsPath)===`.`?``:this._labelService.getUriLabel(Ts(this._model.uri));if(t===`TM_DIRECTORY_BASE`)return co(this._model.uri.fsPath)===`.`?``:Ba(co(this._model.uri.fsPath));if(t===`TM_FILEPATH`)return this._labelService.getUriLabel(this._model.uri);if(t===`RELATIVE_FILEPATH`)return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}},Yk=class{constructor(e,t,n,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=n,this._spread=r}resolve(e){if(e.name!==`CLIPBOARD`)return;let t=this._readClipboardText();if(t){if(this._spread){let e=t.split(/\r\n|\n|\r/).filter(e=>!zs(e));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}},Xk=class{constructor(e,t,n){this._model=e,this._selection=t,this._languageConfigurationService=n}resolve(e){let{name:t}=e,n=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(n).comments;if(r){if(t===`LINE_COMMENT`)return r.lineCommentToken||void 0;if(t===`BLOCK_COMMENT_START`)return r.blockCommentStartToken||void 0;if(t===`BLOCK_COMMENT_END`)return r.blockCommentEndToken||void 0}}};Xk=Wk([Gk(2,Ln)],Xk);var Zk=class e{constructor(){this._date=new Date}static{this.dayNames=[S(1476,`Sunday`),S(1477,`Monday`),S(1478,`Tuesday`),S(1479,`Wednesday`),S(1480,`Thursday`),S(1481,`Friday`),S(1482,`Saturday`)]}static{this.dayNamesShort=[S(1483,`Sun`),S(1484,`Mon`),S(1485,`Tue`),S(1486,`Wed`),S(1487,`Thu`),S(1488,`Fri`),S(1489,`Sat`)]}static{this.monthNames=[S(1490,`January`),S(1491,`February`),S(1492,`March`),S(1493,`April`),S(1494,`May`),S(1495,`June`),S(1496,`July`),S(1497,`August`),S(1498,`September`),S(1499,`October`),S(1500,`November`),S(1501,`December`)]}static{this.monthNamesShort=[S(1502,`Jan`),S(1503,`Feb`),S(1504,`Mar`),S(1505,`Apr`),S(1506,`May`),S(1507,`Jun`),S(1508,`Jul`),S(1509,`Aug`),S(1510,`Sep`),S(1511,`Oct`),S(1512,`Nov`),S(1513,`Dec`)]}resolve(t){let{name:n}=t;switch(n){case`CURRENT_YEAR`:return String(this._date.getFullYear());case`CURRENT_YEAR_SHORT`:return String(this._date.getFullYear()).slice(-2);case`CURRENT_MONTH`:return String(this._date.getMonth().valueOf()+1).padStart(2,`0`);case`CURRENT_DATE`:return String(this._date.getDate().valueOf()).padStart(2,`0`);case`CURRENT_HOUR`:return String(this._date.getHours().valueOf()).padStart(2,`0`);case`CURRENT_MINUTE`:return String(this._date.getMinutes().valueOf()).padStart(2,`0`);case`CURRENT_SECOND`:return String(this._date.getSeconds().valueOf()).padStart(2,`0`);case`CURRENT_MILLISECOND`:return String(this._date.getMilliseconds().valueOf()).padStart(3,`0`);case`CURRENT_DAY_NAME`:return e.dayNames[this._date.getDay()];case`CURRENT_DAY_NAME_SHORT`:return e.dayNamesShort[this._date.getDay()];case`CURRENT_MONTH_NAME`:return e.monthNames[this._date.getMonth()];case`CURRENT_MONTH_NAME_SHORT`:return e.monthNamesShort[this._date.getMonth()];case`CURRENT_SECONDS_UNIX`:return String(Math.floor(this._date.getTime()/1e3));case`CURRENT_MILLISECONDS_UNIX`:return String(this._date.getTime());case`CURRENT_TIMEZONE_OFFSET`:{let e=this._date.getTimezoneOffset(),t=e>0?`-`:`+`,n=Math.trunc(Math.abs(e/60)),r=n<10?`0`+n:n,i=Math.abs(e)-n*60,a=i<10?`0`+i:i;return t+r+`:`+a}case`CURRENT_TIMEZONE_NAME`:return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}}},Qk=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;let t=Xs(this._workspaceService.getWorkspace());if(!Rs(t)){if(e.name===`WORKSPACE_NAME`)return this._resolveWorkspaceName(t);if(e.name===`WORKSPACE_FOLDER`)return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(zl(e))return Ba(e.uri.path);let t=Ba(e.configPath.path);return t.endsWith(`code-workspace`)&&(t=t.substr(0,t.length-_d.length-1)),t}_resoveWorkspacePath(e){if(zl(e))return Uk(e.uri.fsPath);let t=Ba(e.configPath.path),n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?Uk(n):`/`}},$k=class{resolve(e){let{name:t}=e;if(t===`RANDOM`)return Math.random().toString().slice(-6);if(t===`RANDOM_HEX`)return Math.random().toString(16).slice(-6);if(t===`UUID`)return kf()}},eA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tA=function(e,t){return function(n,r){t(n,r,e)}},nA,rA=class e{static{this._decor={active:F.register({description:`snippet-placeholder-1`,stickiness:0,className:`snippet-placeholder`}),inactive:F.register({description:`snippet-placeholder-2`,stickiness:1,className:`snippet-placeholder`}),activeFinal:F.register({description:`snippet-placeholder-3`,stickiness:1,className:`finish-snippet-placeholder`}),inactiveFinal:F.register({description:`snippet-placeholder-4`,stickiness:1,className:`finish-snippet-placeholder`})}}constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=Us(t.placeholders,Sm.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw Error(`Snippet not initialized!`);if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;let t=this._editor.getModel();this._editor.changeDecorations(n=>{for(let r of this._snippet.placeholders){let i=this._snippet.offset(r),a=this._snippet.fullLen(r),o=w.fromPositions(t.getPositionAt(this._offset+i),t.getPositionAt(this._offset+i+a)),s=r.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,c=n.addDecoration(o,s);this._placeholderDecorations.set(r,c)}})}move(t){if(!this._editor.hasModel())return[];this._initDecorations();let n=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let e=[];for(let t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){let r=this._placeholderDecorations.get(t),i=r?n.getDecorationRange(r):null;if(i){let r=n.getValueInRange(i),a=t.transform.resolve(r).split(/\r\n|\r|\n/);for(let e=1;e<a.length;e++)a[e]=n.normalizeIndentation(this._snippetLineLeadingWhitespace+a[e]);e.push(sc.replace(i,a.join(n.getEOL())))}}e.length>0&&this._editor.executeEdits(`snippet.placeholderTransform`,e)}let r=!1;t===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,r=!0):t===!1&&this._placeholderGroupsIdx>0&&(--this._placeholderGroupsIdx,r=!0);let i=n.changeDecorations(t=>{let i=new Set,a=[];for(let o of this._placeholderGroups[this._placeholderGroupsIdx]){let s=this._placeholderDecorations.get(o),c=s?n.getDecorationRange(s):null;if(r&&=this._hasPlaceholderBeenCollapsed(o),s&&c){a.push(new J(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)),t.changeDecorationOptions(s,o.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(o);for(let n of this._snippet.enclosingPlaceholders(o)){let r=this._placeholderDecorations.get(n);r&&(t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(n))}}}for(let[n,r]of this._placeholderDecorations)i.has(n)||t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive);return a});return r?this.move(t):i??[]}_hasPlaceholderBeenCollapsed(e){let t=this._editor.getModel(),n=e;for(;n;){if(n instanceof Sm){let e=this._placeholderDecorations.get(n),r=e?t.getDecorationRange(e):null;if((!r||r.isEmpty())&&n.toString().length>0)return!0}n=n.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){let[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){let e=new Map;for(let t of this._placeholderGroups){let n;for(let r of t){if(r.isFinalTabstop)break;n||(n=[],e.set(r.index,n));let t=this._placeholderDecorations.get(r),i=this._editor.getModel().getDecorationRange(t);if(!i){e.delete(r.index);break}n.push(i)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;let e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;let t=this._placeholderDecorations.get(e);if(!t)return;let n=this._editor.getModel().getDecorationRange(t);if(n)return{range:n,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Cm,!e)),e}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(t){let n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(r=>{for(let i of this._placeholderGroups[this._placeholderGroupsIdx]){let a=t.shift();console.assert(a._offset!==-1),console.assert(!a._placeholderDecorations);let o=a._snippet.placeholderInfo.last.index;for(let e of a._snippet.placeholderInfo.all)e.index=e.isFinalTabstop?i.index+(o+1)/this._nestingLevel:i.index+e.index/this._nestingLevel;this._snippet.replace(i,a._snippet.children);let s=this._placeholderDecorations.get(i);r.removeDecoration(s),this._placeholderDecorations.delete(i);for(let t of a._snippet.placeholders){let i=a._snippet.offset(t),o=a._snippet.fullLen(t),s=w.fromPositions(n.getPositionAt(a._offset+i),n.getPositionAt(a._offset+i+o)),c=r.addDecoration(s,e._decor.inactive);this._placeholderDecorations.set(t,c)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=Us(this._snippet.placeholders,Sm.compareByIndex)})}_renormalizePlaceholderIndices(){let e=this._snippet.placeholders,t=new Set;for(let n of e)n.isFinalTabstop||t.add(n.index);let n=[...t].sort((e,t)=>e-t),r=new Map;for(let e=0;e<n.length;e++)r.set(n[e],e+1);for(let t of e)t.isFinalTabstop||(t.index=r.get(t.index));this._nestingLevel=1}},iA={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},aA=nA=class{static adjustWhitespace(e,t,n,r,i){let a=e.getLineContent(t.lineNumber),o=wu(a,0,t.column-1),s;return r.walk(t=>{if(!(t instanceof bm)||t.parent instanceof Cm||i&&!i.has(t))return!0;let a=t.value.split(/\r\n|\r|\n/);if(n){let n=r.offset(t);if(n===0)a[0]=e.normalizeIndentation(a[0]);else{s??=r.toString();let t=s.charCodeAt(n-1);(t===10||t===13)&&(a[0]=e.normalizeIndentation(o+a[0]))}for(let t=1;t<a.length;t++)a[t]=e.normalizeIndentation(o+a[t])}let c=a.join(e.getEOL());return c!==t.value&&(t.parent.replace(t,[new bm(c)]),s=void 0),!0}),o}static adjustSelection(e,t,n,r){if(n!==0||r!==0){let{positionLineNumber:i,positionColumn:a}=t,o=a-n,s=a+r,c=e.validateRange({startLineNumber:i,startColumn:o,endLineNumber:i,endColumn:s});t=J.createWithDirection(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,n,r,i,a,o,s,c){let l=[],u=[];if(!e.hasModel())return{edits:l,snippets:u};let d=e.getModel(),f=e.invokeWithinContext(e=>e.get(Cu)),p=e.invokeWithinContext(e=>new Jk(e.get(Fi),d)),m=()=>o,h=d.getValueInRange(nA.adjustSelection(d,e.getSelection(),n,0)),g=d.getValueInRange(nA.adjustSelection(d,e.getSelection(),0,r)),_=d.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),v=e.getSelections().map((e,t)=>({selection:e,idx:t})).sort((e,t)=>w.compareRangesUsingStarts(e.selection,t.selection));for(let{selection:o,idx:y}of v){let b=nA.adjustSelection(d,o,n,0),ee=nA.adjustSelection(d,o,0,r);h!==d.getValueInRange(b)&&(b=o),g!==d.getValueInRange(ee)&&(ee=o);let te=o.setStartPosition(b.startLineNumber,b.startColumn).setEndPosition(ee.endLineNumber,ee.endColumn),x=new km().parse(t,!0,i),ne=te.getStartPosition(),re=nA.adjustWhitespace(d,ne,a||y>0&&_!==d.getLineFirstNonWhitespaceColumn(o.positionLineNumber),x);x.resolveVariables(new Kk([p,new Yk(m,y,v.length,e.getOption(88)===`spread`),new qk(d,o,y,s),new Xk(d,o,c),new Zk,new Qk(f),new $k])),l[y]=sc.replace(te,x.toString()),l[y].identifier={major:y,minor:0},l[y]._isTracked=!0,u[y]=new rA(e,x,re)}return{edits:l,snippets:u}}static createEditsAndSnippetsFromEdits(e,t,n,r,i,a,o){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};let s=[],c=e.getModel(),l=new km,u=new Om,d=e.invokeWithinContext(e=>new Jk(e.get(Fi),c)),f=new Zk,p=new Qk(e.invokeWithinContext(e=>e.get(Cu))),m=new $k,h=()=>i,g=e.getOption(88)===`spread`,_=t.map((e,t)=>({edit:e,idx:t})).sort((e,t)=>w.compareRangesUsingStarts(e.edit.range,t.edit.range)),v=0;for(let e=0;e<_.length;e++){let{edit:{range:t,template:n,keepWhitespace:i},idx:y}=_[e];if(e>0){let n=_[e-1].edit.range,r=w.fromPositions(n.getEndPosition(),t.getStartPosition()),i=new bm(c.getValueInRange(r));u.appendChild(i),v+=i.value.length}let b=new Set;u.walk(e=>(e instanceof Em&&b.add(e),!0));let ee=l.parseFragment(n,u);nA.adjustWhitespace(c,t.getStartPosition(),i===void 0?r:!i,u,new Set(ee));let te=J.fromRange(t,0),x=new Kk([d,new Yk(h,y,_.length,g),new qk(c,te,y,a),new Xk(c,te,o),f,p,m]);u.walk(e=>(e instanceof Em&&!b.has(e)&&e.resolve(x),!0));let ne=u.toString(),re=ne.slice(v);v=ne.length;let ie=sc.replace(t,re);ie.identifier={major:e,minor:0},ie._isTracked=!0,s.push(ie)}return l.ensureFinalTabstop(u,n,!0),{edits:s,snippets:[new rA(e,u,``)]}}constructor(e,t,n=iA,r){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){Lc(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(` -> `)}"`}insert(e){if(!this._editor.hasModel())return;let{edits:t,snippets:n}=typeof this._template==`string`?nA.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):nA.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=n,this._editor.executeEdits(e??ws.snippet(),t,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<n.length;e++)n[e].initialize(t[e].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):t.map(e=>J.fromPositions(e.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=iA){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);let{edits:n,snippets:r}=nA.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits(`snippet`,n,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<r.length;e++)r[e].initialize(t[e].textChange);let n=r[0].isTrivialSnippet,i=r.length===this._snippets.reduce((e,t)=>e+t.activePlaceholderCount,0);if(!n&&i){for(let e of this._snippets)e.merge(r);console.assert(r.length===0)}return this._snippets[0].hasPlaceholder&&!n&&i?this._move(void 0):t.map(e=>J.fromPositions(e.range.getEndPosition()))})}next(){let e=this._move(!0);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}prev(){let e=this._move(!1);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}_move(e){let t=[];for(let n of this._snippets){let r=n.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;let e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;let t=new Map;for(let n of this._snippets){let r=n.computePossibleSelections();if(t.size===0)for(let[n,i]of r){i.sort(w.compareRangesUsingStarts);for(let r of e)if(i[0].containsRange(r)){t.set(n,[]);break}}if(t.size===0)return!1;t.forEach((e,t)=>{e.push(...r.get(t))})}e.sort(w.compareRangesUsingStarts);for(let[n,r]of t)if(r.length!==e.length)t.delete(n);else{r.sort(w.compareRangesUsingStarts);for(let i=0;i<r.length;i++)if(!r[i].containsRange(e[i])){t.delete(n);continue}}return t.size>0}};aA=nA=eA([tA(3,Ln)],aA);var oA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sA=function(e,t){return function(n,r){t(n,r,e)}},cA,lA={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},uA=class{static{cA=this}static{this.ID=`snippetController2`}static get(e){return e.getContribution(cA.ID)}static{this.InSnippetMode=new M(`inSnippetMode`,!1,S(1471,`Whether the editor in current in snippet mode`))}static{this.HasNextTabstop=new M(`hasNextTabstop`,!1,S(1472,`Whether there is a next tab stop when in snippet mode`))}static{this.HasPrevTabstop=new M(`hasPrevTabstop`,!1,S(1473,`Whether there is a previous tab stop when in snippet mode`))}static{this.InSnippetChoice=new M(`inSnippetChoice`,!1,S(1474,`Whether the current snippet tab stop is a choice`))}constructor(e,t,n,r,i){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=i,this._inSnippetObservable=ls(this,!1),this._snippetListener=new I,this._modelVersionId=-1,this._inSnippet=cA.InSnippetMode.bindTo(r),this._hasNextTabstop=cA.HasNextTabstop.bindTo(r),this._hasPrevTabstop=cA.HasPrevTabstop.bindTo(r),this._inSnippetChoice=cA.InSnippetChoice.bindTo(r)}dispose(){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,t===void 0?lA:{...lA,...t})}catch(t){this.cancel(),this._logService.error(t),this._logService.error(`snippet_error`),this._logService.error(`insert_template=`,e),this._logService.error(`existing_template=`,this._session?this._session._logInfo():`<no_session>`)}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!=`string`&&this.cancel(),this._session?(tr(typeof e==`string`),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new aA(this._editor,e,t,this._languageConfigurationService),this._session.insert(t.reason)),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){let e={_debugDisplayName:`snippetChoiceCompletions`,provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!j.equals(this._editor.getPosition(),t))return;let{activeChoice:n}=this._session;if(!n||n.choice.options.length===0)return;let r=e.getValueInRange(n.range),i=!!n.choice.options.find(e=>e.value===r),a=[];for(let e=0;e<n.choice.options.length;e++){let t=n.choice.options[e];a.push({kind:13,label:t.value,insertText:t.value,sortText:`a`.repeat(e+1),range:n.range,filterText:i?`${r}_${t.value}`:void 0,command:{id:`jumpToNextSnippetPlaceholder`,title:S(1475,`Go to next placeholder...`)}})}return{suggestions:a}}},t=this._editor.getModel(),n,r=!1,i=()=>{n?.dispose(),r=!1},a=()=>{r||=(n=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(n),!0)};this._choiceCompletions={provider:e,enable:a,disable:i}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(e=>e.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId()||!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._inSnippetObservable.set(!0,void 0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0,this._inSnippetChoice.reset();return}let{activeChoice:e}=this._session;!e||!this._choiceCompletions?(this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset()):(this._inSnippetChoice.set(!0),this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{GO(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}get isInSnippetObservable(){return this._inSnippetObservable}};uA=cA=oA([sA(1,Pu),sA(2,z),sA(3,Ra),sA(4,Ln)],uA),Ls(uA.ID,uA,4);var dA=id.bindToContribution(uA.get);U(new dA({id:`jumpToNextSnippetPlaceholder`,precondition:T.and(uA.InSnippetMode,uA.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:D.textInputFocus,primary:2}})),U(new dA({id:`jumpToPrevSnippetPlaceholder`,precondition:T.and(uA.InSnippetMode,uA.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:D.textInputFocus,primary:1026}})),Kf.registerKeybindingRule({id:`jumpToPrevSnippetPlaceholder`,weight:191,when:T.and(uA.InSnippetMode,uA.HasPrevTabstop,uA.InSnippetChoice,D.textInputFocus),primary:1026}),U(new dA({id:`leaveSnippet`,precondition:uA.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:D.textInputFocus,primary:9,secondary:[1033]}})),U(new dA({id:`acceptSnippet`,precondition:uA.InSnippetMode,handler:e=>e.finish()}));function fA(e){return new pA(e)}var pA=class extends cf{constructor(e){super(),this._textModel=e}getOffset(e){return this._textModel.getOffsetAt(e)}getPosition(e){return this._textModel.getPositionAt(e)}},mA=[];function hA(){return mA}function gA(e){return _A(e).map(e=>e.getEndPosition())}function _A(e){let t=Sd.createSortPermutation(e,dd(e=>e.range,w.compareRangesUsingStarts)),n=new Cs(t.apply(e)).getNewRanges();return t.inverse().apply(n)}function vA(e,t){let n=fA(t),r=t.getValue();return e.map(e=>n.getStringReplacement(e)).map(e=>e.removeCommonSuffixPrefix(r)).map(e=>n.getTextReplacement(e))}function yA(e,t){let n=ls(`result`,[]),r=[];return t.add(Fl(t=>{let i=e.read(t);Ps(e=>{if(i.length!==r.length){r.length=i.length;for(let e=0;e<r.length;e++)r[e]||(r[e]=ls(`item`,i[e]));n.set([...r],e)}r.forEach((t,n)=>t.set(i[n],e))})})),n}var bA=class{constructor(e){this._contextKeyService=e}bind(e,t){return ol(e,this._contextKeyService,t instanceof Function?t:e=>t.read(e))}};function xA(e,t){return new Promise(n=>{let r,i=setTimeout(()=>{r&&r.dispose(),n()},e);t&&(r=t.onCancellationRequested(()=>{clearTimeout(i),r&&r.dispose(),n()}))})}var SA=class e{static message(t){return new e(void 0,t)}constructor(e,t=void 0){this.error=e,this.message=t}static is(t){return t instanceof e}logError(){this.message?console.error(`ErrorResult: ${this.message}`,this.error):console.error(`ErrorResult: An unexpected error-case occurred, usually caused by invalid input.`,this.error)}},CA=class e{static startNow(t,n,r,i=wA){return new e(t,n,r,Date.now(),i)}constructor(e,t,n,r,i=wA){this.startValue=e,this.endValue=t,this.durationMs=n,this.startTimeMs=r,this._interpolationFunction=i,e===t&&(this.durationMs=0)}isFinished(e){return e>=this.startTimeMs+this.durationMs}getValue(e){let t=e-this.startTimeMs;return t>=this.durationMs?this.endValue:this._interpolationFunction(t,this.startValue,this.endValue-this.startValue,this.durationMs)}};function wA(e,t,n,r){return e===r?t+n:n*(-(2**(-10*e/r))+1)+t}function TA(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}var EA=class{constructor(e){this._value=e}getValue(e){let t=Date.now();return this._value.isFinished(t)||DA.instance.invalidateOnNextAnimationFrame(e),this._value.getValue(t)}isFinished(e){let t=Date.now(),n=this._value.isFinished(t);return n||DA.instance.invalidateOnNextAnimationFrame(e),n}},DA=class e{constructor(){this._counter=wd(this),this._isScheduled=!1}static{this.instance=new e}invalidateOnNextAnimationFrame(e){this._counter.read(e),this._isScheduled||(this._isScheduled=!0,sa().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()}))}_update(){this._counter.trigger(void 0)}},OA=class{constructor(e,t){this.lineNumber=e,this.parts=t,wr(()=>pr(t,(e,t)=>e.column<=t.column))}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,n)=>t.equals(e.parts[n]))}renderForScreenReader(e){if(this.parts.length===0)return``;let t=this.parts[this.parts.length-1],n=e.substr(0,t.column-1);return new Cs([...this.parts.map(e=>new bf(w.fromPositions(new j(1,e.column)),e.lines.map(e=>e.line).join(`
|
|
34
34
|
`)))]).applyToString(n).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}},kA=class{constructor(e,t,n,r=[]){this.column=e,this.text=t,this.preview=n,this._inlineDecorations=r,this.lines=$l(this.text).map((e,t)=>({line:e,lineDecorations:rt.filter(this._inlineDecorations,t+1,1,e.length+1)}))}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,n)=>t.line===e.lines[n].line&&rt.equalsArr(t.lineDecorations,e.lines[n].lineDecorations))}},AA=class{constructor(e,t,n,r=0){this.lineNumber=e,this.columnRange=t,this.text=n,this.additionalReservedLineCount=r,this.parts=[new kA(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=$l(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
35
35
|
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,n)=>t===e.newLines[n])&&this.additionalReservedLineCount===e.additionalReservedLineCount}};function jA(e,t){return Nd(e,t,MA)}function MA(e,t){return e===t?!0:!e||!t?!1:e instanceof OA&&t instanceof OA||e instanceof AA&&t instanceof AA?e.equals(t):!1}function NA(e,t,n){let r=n?e.range.intersectRanges(n):e.range;if(!r)return e;let i=e.text.replaceAll(`\r
|
|
36
36
|
`,`
|
|
37
37
|
`),a=t.getValueInRange(r,1),o=zo(a,i),s=wa.ofText(a.substring(0,o)).addToPosition(e.range.getStartPosition()),c=i.substring(o),l=w.fromPositions(s,e.range.getEndPosition());return new bf(l,c)}function PA(e,t){return e.text.startsWith(t.text)&&FA(e.range,t.range)}function FA(e,t){return t.getStartPosition().equals(e.getStartPosition())&&t.getEndPosition().isBeforeOrEqual(e.getEndPosition())}function IA(e,t,n,r,i=0){let a=NA(e,t);if(a.range.endLineNumber!==a.range.startLineNumber)return;let o=t.getLineContent(a.range.startLineNumber),s=wu(o).length;if(a.range.startColumn-1<=s){let e=wu(a.text).length,t=o.substring(a.range.startColumn-1,s),[n,r]=[a.range.getStartPosition(),a.range.getEndPosition()],i=n.column+t.length<=r.column?n.delta(0,t.length):r,c=w.fromPositions(i,r),l=a.text.startsWith(t)?a.text.substring(t.length):a.text.substring(e);a=new bf(c,l)}let c=t.getValueInRange(a.range),l=RA(c,a.text);if(!l)return;let u=a.range.startLineNumber,d=[];if(n===`prefix`){let e=l.filter(e=>e.originalLength===0);if(e.length>1||e.length===1&&e[0].originalStart!==c.length)return}let f=a.text.length-i;for(let e of l){let t=a.range.startColumn+e.originalStart+e.originalLength;if(n===`subwordSmart`&&r&&r.lineNumber===a.range.startLineNumber&&t<r.column||e.originalLength>0)return;if(e.modifiedLength===0)continue;let i=e.modifiedStart+e.modifiedLength,o=Math.max(e.modifiedStart,Math.min(i,f)),s=a.text.substring(e.modifiedStart,o),c=a.text.substring(o,Math.max(e.modifiedStart,i));s.length>0&&d.push(new kA(t,s,!1)),c.length>0&&d.push(new kA(t,c,!0))}return new OA(u,d)}var LA=void 0;function RA(e,t){if(LA?.originalValue===e&&LA?.newValue===t)return LA?.changes;{let n=BA(e,t,!0);if(n){let r=zA(n);if(r>0){let i=BA(e,t,!1);i&&zA(i)<r&&(n=i)}}return LA={originalValue:e,newValue:t,changes:n},n}}function zA(e){let t=0;for(let n of e)t+=n.originalLength;return t}function BA(e,t,n){if(e.length>5e3||t.length>5e3)return;function r(e){let t=0;for(let n=0,r=e.length;n<r;n++){let r=e.charCodeAt(n);r>t&&(t=r)}return t}let i=Math.max(r(e),r(t));function a(e){if(e<0)throw Error(`unexpected`);return i+e+1}function o(e){let t=0,r=0,i=new Int32Array(e.length);for(let o=0,s=e.length;o<s;o++)if(n&&e[o]===`(`){let e=r*100+t;i[o]=a(2*e),t++}else if(n&&e[o]===`)`){t=Math.max(t-1,0);let e=r*100+t;i[o]=a(2*e+1),t===0&&r++}else i[o]=e.charCodeAt(o);return i}let s=o(e),c=o(t);return new Ia({getElements:()=>s},{getElements:()=>c}).ComputeDiff(!1).changes}function VA(e,t){let n,r=!1,i=new Qo(new qd(e,void 0,t.update),(e,i)=>{r||=(n=t.initial instanceof Function?t.initial():t.initial,!0);let a=t.update(e,n,i);return n=a,a},t.changeTracker,()=>{r&&=(t.disposeFinal?.(n),!1)},t.equalityComparer??of,(e,t,a)=>{if(!r)throw new To(`Can only set when there is a listener! This is to prevent leaks.`);pd(t,t=>{n=e,i.setValue(e,t,a)})},Af.ofCaller());return i}var HA=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},UA=function(e,t){return function(n,r){t(n,r,e)}},WA=class{constructor(e,t){this._baseService=e,this._intercept=t}publicLog2(e,t){this._intercept(e,t),this._baseService.publicLog2(e,t)}},GA=class extends WA{constructor(e,t){super(e,(e,n)=>{let r=!0;n&&KA in n&&(r=!!n[KA]),r&&t.getDataChannel(`editTelemetry`).sendData({eventName:e,data:n??{}})})}};GA=HA([UA(0,St),UA(1,cr)],GA);var KA=Symbol(`shouldForwardToChannel`);function qA(e){return{[KA]:e}}function JA(e){if(!e)return!1;let t=e.toLowerCase();return t===`github.copilot`||t===`github.copilot-chat`}function YA(e,t){e.publicLog2(`inlineCompletion.endOfLife`,t)}var XA=new Set(`;,=+-*/{}()[]<>:.!?&|^%@#~\`\\'"$`.split(``));function ZA(e){return XA.has(e)}function QA(e){return/[a-zA-Z0-9_]/.test(e)}function $A(e){return e===` `||e===` `}function ej(e){let t=e.split(/\r\n|\r|\n/);if(t.length>1)return{kind:`multiLine`,lineCount:t.length};let n=e.length===1,r;n&&(ZA(e)?r=`syntactical`:QA(e)?r=`identifier`:$A(e)&&(r=`whitespace`));let i=e.match(/[ \t]+/g)||[],a=i.some(e=>e.length>1),o=i.some(e=>e.includes(` `)||e.includes(` `)),s=e.split(/\s+/).filter(e=>e.length>0),c=s.length===1&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s[0]),l=s.length>1;return{kind:`singleLine`,isSingleCharacter:n,singleCharacterKind:r,isWord:c,isMultipleWords:l,isMultipleWhitespace:a,hasDuplicatedWhitespace:o}}var tj=class{constructor(e){this.edits=e}toString(){return JSON.stringify({edits:this.edits})}};function nj(e,t,n){if(e.replacements.length!==0)return new tj(e.replacements.map(e=>ij(e,t)))}function rj(e){return e.length===0?0:e.split(/\r\n|\r|\n/).length-1}function ij(e,t,n){let r=e.replaceRange,i=e.newText,a=r.length,o=i.length,s=rj(i);switch(r.isEmpty?`insert`:i.length===0?`delete`:`replace`){case`insert`:return{operation:`insert`,properties:aj(r.start,i,t),charactersInserted:o,charactersDeleted:0,linesInserted:s,linesDeleted:0};case`delete`:{let e=t.getValue().substring(r.start,r.endExclusive);return{operation:`delete`,properties:oj(r.start,r.endExclusive,t),charactersInserted:0,charactersDeleted:a,linesInserted:0,linesDeleted:rj(e)}}case`replace`:{let e=t.getValue().substring(r.start,r.endExclusive);return{operation:`replace`,properties:sj(e,i),charactersInserted:o,charactersDeleted:a,linesInserted:s,linesDeleted:rj(e)}}}}function aj(e,t,n,r){let i=ej(t),a=n.getPositionAt(e),o=n.getLineContent(a.lineNumber),s=o.length,c,l=o.trim().length===0,u=a.column>s,d=a.column===1;c=l?`emptyLine`:u?`endOfLine`:d?`startOfLine`:`middleOfLine`;let f;return{textShape:i,locationShape:c,relativeToCursor:f}}function oj(e,t,n){let r=ej(n.getValue().substring(e,t)),i=n.getPositionAt(e),a=n.getPositionAt(t),o=n.getLineContent(a.lineNumber);return{textShape:r,isAtEndOfLine:a.column>o.length,deletesEntireLineContent:i.lineNumber===a.lineNumber&&i.column===1&&a.column>o.length}}function sj(e,t){let n=ej(e),r=ej(t),i=n.kind===`singleLine`&&n.isWord,a=r.kind===`singleLine`&&r.isWord;return{isWordToWordReplacement:i&&a,isAdditive:t.length>e.length,isSubtractive:t.length<e.length,isSingleLineToSingleLine:n.kind===`singleLine`&&r.kind===`singleLine`,isSingleLineToMultiLine:n.kind===`singleLine`&&r.kind===`multiLine`,isMultiLineToSingleLine:n.kind===`multiLine`&&r.kind===`singleLine`}}function cj(e,t,n,r){let i=NA(e,n),a=e.range;if(!a||t&&!t.getStartPosition().equals(a.getStartPosition())||r.lineNumber!==i.range.startLineNumber||i.isEmpty)return!1;let o=n.getValueInRange(i.range,1),s=i.text,c=Math.max(0,r.column-i.range.startColumn),l=s.substring(0,c),u=s.substring(c),d=o.substring(0,c),f=o.substring(c),p=n.getLineIndentColumn(i.range.startLineNumber);return i.range.startColumn<=p&&(d=d.trimStart(),d.length===0&&(f=f.trimStart()),l=l.trimStart(),l.length===0&&(u=u.trimStart())),l.startsWith(d)&&!!Dr(f,u)}var lj;(function(e){function t(e){return e?.command.id??void 0}e.toString=t})(lj||={});var uj=class e extends fa{static snapshot(t){return new e(t)}constructor(e){super(),this._textModel=e,this._version=e.getVersionId()}get uri(){return this._textModel.uri}_assertValid(){this._textModel.getVersionId()!==this._version&&at(Error(`TextModel has changed: expected version ${this._version}, got ${this._textModel.getVersionId()}`))}targets(e){return this._textModel.uri.toString()===e.uri.toString()}getValueOfRange(e){return this._assertValid(),this._textModel.getValueInRange(e)}getLineLength(e){return this._assertValid(),this._textModel.getLineLength(e)}get length(){this._assertValid();let e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new wa(e-1,t)}getEOL(){return this._assertValid(),this._textModel.getEOL()}getPositionAt(e){return this._assertValid(),this._textModel.getPositionAt(e)}getValueInRange(e){return this._assertValid(),this._textModel.getValueInRange(e)}getVersionId(){return this._version}dangerouslyGetUnderlyingModel(){return this._textModel}},dj;(function(e){function t(e,t,n=!0){return!e.isInlineEdit&&!e.action?.uri&&e.action?.kind===`edit`?gj.create(e,t,e.action):_j.create(e,t,n)}e.create=t})(dj||={});function fj(e){let t=e?.kind===`edit`?{...e,alternativeAction:lj.toString(e.alternativeAction),target:e?.target.uri.toString()}:{...e,target:e?.target.uri.toString()};return JSON.stringify(t)}var pj=class{constructor(e,t,n,r){this._data=e,this.identity=t,this.hint=n,this.originalTextRef=r}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===wi.Explicit}get forwardStable(){return this.source.inlineSuggestions.enableForwardStability??!1}get targetRange(){if(this.hint)return this.hint.range;if(this.action?.kind===`edit`)return this.action.textReplacement.range;if(this.action?.kind===`jumpTo`)return w.fromPositions(this.action.position);throw new To(`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 fj(this.action)}get requestUuid(){return this._data.context.requestUuid}get partialAccepts(){return this._data.partialAccepts}get _sourceInlineCompletion(){return this._data.sourceInlineCompletion}addRef(){this.identity.addRef(),this.source.addRef()}removeRef(){this.identity.removeRef(),this.source.removeRef()}reportInlineEditShown(e,t,n,r,i){let a=this.action?.kind===`edit`?this.action.textReplacement.text:``;this._data.reportInlineEditShown(e,a,t,n,this.computeEditKind(r),i)}reportPartialAccept(e,t,n){this._data.reportPartialAccept(e,t,n)}reportEndOfLife(e){this._data.reportEndOfLife(e)}setEndOfLifeReason(e){this._data.setEndOfLifeReason(e)}setIsPreceeded(e){this._data.setIsPreceeded(e.partialAccepts)}setNotShownReasonIfNotSet(e){this._data.setNotShownReason(e)}getSourceCompletion(){return this._sourceInlineCompletion}setRenameProcessingInfo(e){this._data.setRenameProcessingInfo(e)}withAction(e){return this._data.withAction(e)}addPerformanceMarker(e){this._data.addPerformanceMarker(e)}},mj=class e{constructor(){this._onDispose=wd(this),this.onDispose=this._onDispose,this._jumpedTo=ls(this,!1),this._refCount=0,this.id=`InlineCompletionIdentity`+e.idCounter++}static{this.idCounter=0}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){this._refCount--,this._refCount===0&&this._onDispose.trigger(void 0)}setJumpTo(e){this._jumpedTo.set(!0,e)}},hj=class e{static create(t){return new e(w.lift(t.range),t.content,t.style)}constructor(e,t,n){this.range=e,this.content=t,this.style=n}withEdit(t,n){let r=new li(n.getOffset(this.range.getStartPosition()),n.getOffset(this.range.getEndPosition())),i=es([r],t)[0];if(!i)return;let a=n.getRange(i);return new e(a,this.content,this.style)}},gj=class e extends pj{static create(t,n,r){let i=new mj,a=n.getTransformer(),o=r.insertText.replace(/\r\n|\r|\n/g,n.getEOL()),s=xj(new Ac(a.getOffsetRange(r.range),o),n),c=s.removeCommonSuffixAndPrefix(n.getValue()),l=a.getTextReplacement(s),u=t.hint?hj.create(t.hint):void 0;return new e(s,c,l,l.range,r.snippetInfo,t.additionalTextEdits,t,i,u,n)}constructor(e,t,n,r,i,a,o,s,c,l){super(o,s,c,l),this._edit=e,this._trimmedEdit=t,this._textEdit=n,this._originalRange=r,this.snippetInfo=i,this.additionalTextEdits=a,this.isInlineEdit=!1}get action(){return{kind:`edit`,textReplacement:this.getSingleTextEdit(),snippetInfo:this.snippetInfo,stringEdit:new Hc([this._trimmedEdit]),alternativeAction:void 0,target:this.originalTextRef}}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(t){return new e(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,t,this.hint,this.originalTextRef)}withEdit(t,n){if(!this.originalTextRef.targets(n))return this;let r=es([this._edit.replaceRange],t);if(r.length===0)return;let i=new Ac(r[0],this._textEdit.text),a=fA(n),o=a.getTextReplacement(i),s=this.hint;if(s&&(s=s.withEdit(t,a),!s))return;let c=i.removeCommonSuffixAndPrefix(n.getValue());return new e(i,c,o,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,s,this.originalTextRef)}canBeReused(e,t){let n=this._textEdit.range;return!!n&&n.containsPosition(t)&&this.isVisible(e,t)&&wa.ofRange(n).isGreaterThanOrEqualTo(wa.ofRange(this._originalRange))}isVisible(e,t){return cj(this.getSingleTextEdit(),this._originalRange,e,t)}computeEditKind(e){return nj(new Hc([this._edit]),e)}get editRange(){return this.getSingleTextEdit().range}},_j=class e extends pj{static create(t,n,r=!0){let i,a=[];if(t.action?.kind===`edit`){let e=r?vj(n,t.action.range,t.action.insertText):yj(n,t.action.range,t.action.insertText),o=Cs.fromStringEdit(e,n),s=e.isEmpty()?new bf(new w(1,1,1,1),``):o.toReplacement(n);a=e.replacements.map(e=>{let t=w.fromPositions(n.getPositionAt(e.replaceRange.start),n.getTransformer().getPosition(e.replaceRange.endExclusive)),r=n.getValueInRange(t);return bj.create(e,r)}),i={kind:`edit`,snippetInfo:t.action.snippetInfo,stringEdit:e,textReplacement:s,alternativeAction:t.action.alternativeAction,target:n}}else if(t.action?.kind===`jumpTo`)i={kind:`jumpTo`,position:t.action.position,offset:n.getTransformer().getOffset(t.action.position),target:n};else if(i=void 0,!t.hint)throw new To(`InlineEditItem: action is undefined and no hint is provided`);let o=new mj,s=t.hint?hj.create(t.hint):void 0;return new e(i,t,o,a,s,!1,n.getVersionId(),n)}constructor(e,t,n,r,i,a=!1,o,s){super(t,n,i,s),this._action=e,this._edits=r,this._lastChangePartOfInlineEdit=a,this._inlineEditModelVersion=o,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get action(){return this._action}withIdentity(t){return new e(this._action,this._data,t,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion,this.originalTextRef)}canBeReused(e,t){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===e.getVersionId()}withEdit(e,t){return this.originalTextRef.targets(t)?this._applyTextModelChanges(e,this._edits,t):this}_applyTextModelChanges(t,n,r){let i=fA(r),a=!1,o=this._inlineEditModelVersion,s,c=uj.snapshot(r);if(this.action?.kind===`edit`){if(n=n.map(e=>e.applyTextModelChanges(t)),n.some(e=>e.edit===void 0))return;let e=r.getVersionId();if(a=n.some(e=>e.lastChangeUpdatedEdit),a&&(o=e??-1),e===null||o+20<e||(n=n.filter(e=>!e.edit.isEmpty),n.length===0))return;let l=new Hc(n.map(e=>e.edit));s={kind:`edit`,textReplacement:i.getTextEdit(l).toReplacement(new Ko(r)),snippetInfo:this.snippetInfo,stringEdit:l,alternativeAction:this.action.alternativeAction,target:c}}else if(this.action?.kind===`jumpTo`){let e=this.action.offset,n=t.applyToOffsetOrUndefined(e);if(n===void 0)return;s={kind:`jumpTo`,position:i.getPosition(n),offset:n,target:c}}else s=void 0;let l=this.hint;if(!(l&&(l=l.withEdit(t,i),!l)))return new e(s,this._data,this.identity,n,l,a,o,c)}computeEditKind(e){let t=this.action?.kind===`edit`?this.action.stringEdit:void 0;if(t)return nj(t,e)}};function vj(e,t,n){let r=e.getEOL(),i=e.getValueOfRange(t),a=n.replace(/\r\n|\r|\n/g,r),o=Yl.getDefault().computeDiff($l(i),$l(a),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:50}).changes.flatMap(e=>e.innerChanges??[]);function s(e,t){let n=wa.fromPosition(t.getStartPosition());return wa.ofRange(t).createRange(n.addToPosition(e))}let c=new Ht(a);return new Hc(o.map(n=>{let r=s(t.getStartPosition(),n.originalRange),i=e.getTransformer().getOffsetRange(r),a=c.getValueOfRange(n.modifiedRange);return Sj(new Ac(i,a),e.getValueOfRange(r),o.length,e)}))}function yj(e,t,n){return new Hc([new Ac(e.getTransformer().getOffsetRange(t),n)])}var bj=class e{static create(t,n){let r=zo(t.newText,n),i=Hi(t.newText,n),a=t.newText.substring(r,t.newText.length-i);return new e(t,a,r,i)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(e,t,n,r,i=!1){this._edit=e,this._trimmedNewText=t,this._prefixLength=n,this._suffixLength=r,this._lastChangeUpdatedEdit=i}applyTextModelChanges(e){let t=this._clone();return t._applyTextModelChanges(e),t}_clone(){return new e(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(e){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new To(`UpdatedInnerEdits: No edit to apply changes to`);let t=this._applyChanges(this._edit,e);t?(this._edit=t.edit,this._lastChangeUpdatedEdit=t.editHasChanged):this._edit=void 0}_applyChanges(e,t){let n=e.replaceRange.start,r=e.replaceRange.endExclusive,i=e.newText,a=!1,o=this._prefixLength>0||this._suffixLength>0;for(let s=t.replacements.length-1;s>=0;s--){let c=t.replacements[s],l=c.newText.length>0&&c.replaceRange.isEmpty;if(l&&!o&&c.replaceRange.start===n&&i.startsWith(c.newText))n+=c.newText.length,i=i.substring(c.newText.length),r+=c.newText.length,a=!0;else if(l&&o&&c.replaceRange.start===n+this._prefixLength&&this._trimmedNewText.startsWith(c.newText))r+=c.newText.length,a=!0,this._prefixLength+=c.newText.length,this._trimmedNewText=this._trimmedNewText.substring(c.newText.length);else if(c.newText.length===0&&c.replaceRange.length>0&&c.replaceRange.start>=n+this._prefixLength&&c.replaceRange.endExclusive<=r-this._suffixLength)r-=c.replaceRange.length,a=!0;else if(c.equals(e))a=!0,n=c.replaceRange.endExclusive,i=``;else if(!(c.replaceRange.start>r)){if(c.replaceRange.endExclusive<n)n+=c.newText.length-c.replaceRange.length,r+=c.newText.length-c.replaceRange.length;else return}}return this._trimmedNewText.length===0&&n+this._prefixLength===r-this._suffixLength?{edit:new Ac(new li(n+this._prefixLength,n+this._prefixLength),``),editHasChanged:!0}:{edit:new Ac(new li(n,r),i),editHasChanged:a}}};function xj(e,t){let n=t.getEOL();return e.replaceRange.isEmpty&&e.newText.includes(n)&&(e=Cj(e,t)),e}function Sj(e,t,n,r){let i=r.getEOL();if(e.newText.endsWith(i)&&t.endsWith(i)&&(e=new Ac(e.replaceRange.deltaEnd(-i.length),e.newText.slice(0,-i.length))),n===1&&e.replaceRange.isEmpty&&e.newText.includes(i)){let t=r.getTransformer().getPosition(e.replaceRange.start);r.getLineLength(t.lineNumber)!==0&&(e=Cj(e,r))}if(n===1){let n=zo(t,e.newText),r=Hi(t.slice(n),e.newText.slice(n));if(n+r===t.length)return new Ac(e.replaceRange.deltaStart(n).deltaEnd(-r),e.newText.substring(n,e.newText.length-r));if(n+r===e.newText.length)return new Ac(e.replaceRange.deltaStart(n).deltaEnd(-r),``)}return e}function Cj(e,t){if(!e.replaceRange.isEmpty)throw new To(`Unexpected original range`);if(e.replaceRange.start===0)return e;let n=t.getEOL(),r=t.getTransformer().getPosition(e.replaceRange.start),i=r.column,a=r.lineNumber;return i===1&&a>1&&e.newText.endsWith(n)&&!e.newText.startsWith(n)?new Ac(e.replaceRange.delta(-1),n+e.newText.slice(0,-n.length)):e}function wj(e,t){let n=new jc,r=new Xl(n,e=>t.getLanguageConfiguration(e)),i=new Uc(new Tj([e]),r),a=Nu(i,[],void 0,!0),o=``,s=e.getLineContent();function c(e,t){if(e.kind===2){if(c(e.openingBracket,t),t=ts(t,e.openingBracket.length),e.child&&(c(e.child,t),t=ts(t,e.child.length)),e.closingBracket)c(e.closingBracket,t),t=ts(t,e.closingBracket.length);else{let t=r.getSingleLanguageBracketTokens(e.openingBracket.languageId).findClosingTokenText(e.openingBracket.bracketIds);o+=t}}else if(e.kind!==3){if(e.kind===0||e.kind===1)o+=s.substring(Xd(t),Xd(ts(t,e.length)));else if(e.kind===4)for(let n of e.children)c(n,t),t=ts(t,n.length)}}return c(a,0),o}var Tj=class{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}},Ej;(function(e){e.Jump=`jump`,e.Accept=`accept`,e.Inactive=`inactive`})(Ej||={});var Dj=class e{static create(t,n=!1){return new e(new Hu(cl(t),t),n)}constructor(e,t=!1){this.event=e,this.alternativeAction=t}},Oj;(function(e){e.GhostText=`ghostText`,e.Custom=`custom`,e.SideBySide=`sideBySide`,e.Deletion=`deletion`,e.InsertionInline=`insertionInline`,e.InsertionMultiLine=`insertionMultiLine`,e.WordReplacements=`wordReplacements`,e.LineReplacement=`lineReplacement`,e.Collapsed=`collapsed`,e.JumpTo=`jumpTo`})(Oj||={});var kj=class{constructor(e,t,n,r,i,a,o,s){this.cursorColumnDistance=e,this.cursorLineDistance=t,this.lineCountOriginal=n,this.lineCountModified=r,this.characterCountOriginal=i,this.characterCountModified=a,this.disjointReplacements=o,this.sameShapeReplacements=s,this.longDistanceHintVisible=void 0,this.longDistanceHintDistance=void 0,this.isForAnotherDocument=void 0}setLongDistanceViewData(e,t){this.longDistanceHintVisible=!0,this.longDistanceHintDistance=Math.abs(t-e)}getData(){return{cursorColumnDistance:this.cursorColumnDistance,cursorLineDistance:this.cursorLineDistance,lineCountOriginal:this.lineCountOriginal,lineCountModified:this.lineCountModified,characterCountOriginal:this.characterCountOriginal,characterCountModified:this.characterCountModified,disjointReplacements:this.disjointReplacements,sameShapeReplacements:this.sameShapeReplacements,longDistanceHintVisible:this.longDistanceHintVisible,longDistanceHintDistance:this.longDistanceHintDistance,isForAnotherDocument:this.isForAnotherDocument}}},Aj=class e{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(t,n){let r=new e;for(let e of t)r._nodes.add(e);for(let e of t){let t=n(e);if(t.length>0){let n=new Set;for(let e of t)n.add(e);r._outgoingEdges.set(e,n)}}return r}removeCycles(){let e=[],t=new Set,n=new Set,r=[],i=a=>{t.add(a),n.add(a);let o=this._outgoingEdges.get(a);if(o)for(let s of o)t.has(s)?n.has(s)&&(e.push(s),r.push({from:a,to:s})):i(s);n.delete(a)};for(let e of this._nodes)t.has(e)||i(e);for(let{from:e,to:t}of r){let n=this._outgoingEdges.get(e);n&&n.delete(t)}return{foundCycles:e}}getOutgoing(e){let t=this._outgoingEdges.get(e);return t?Array.from(t):[]}};function jj(e,t,n,r,i,a){let o=bs(`icr`),s=new No,c,l={...r,requestUuid:o},u=Rj(t,n),d=pa(e,e=>e.groupId),f=Aj.from(e,e=>e.yieldsToGroupIds?.flatMap(e=>d.get(e)??[])??[]),{foundCycles:p}=f.removeCycles();p.length>0&&ec(Error(`Inline completions: cyclic yield-to dependency detected. Path: ${p.map(e=>e.toString?e.toString():``+e).join(` -> `)}`));let m=0,h=new is(async e=>{try{if(m++,s.token.isCancellationRequested)return;let r=f.getOutgoing(e);for(let e of r){let r=await h.get(e);if(r){for(let e of r.inlineSuggestions.items)if(e.isInlineEdit||typeof e.insertText!=`string`&&e.insertText!==void 0||e.insertText!==void 0&&cj(new bf(w.lift(e.range)??u,e.insertText),void 0,n,t))return}}let o,d=Date.now();try{o=await e.provideInlineCompletions(n,t,l,s.token)}catch(e){ec(e);return}let p=Date.now();if(!o)return;let g=[],_=new Lj(o,g,e);if(_.addRef(),Mj(s.token,()=>_.removeRef(c)),s.token.isCancellationRequested)return;for(let e of o.items){let t=Nj(e,_,u,n,a,l,i,{startTime:d,endTime:p});SA.is(t)?t.logError():g.push(t)}return _}finally{m--}});return{contextWithUuid:l,get didAllProvidersReturn(){return m===0},lists:Ai.fromPromisesResolveOrder(e.map(e=>h.get(e))).filter(Zi),cancelAndDispose:e=>{c===void 0&&(c=e,s.dispose(!0))}}}function Mj(e,t){if(e.isCancellationRequested)return t(),K.None;{let n=e.onCancellationRequested(()=>{n.dispose(),t()});return{dispose:()=>n.dispose()}}}function Nj(e,t,n,r,i,a,o,s){let c,l=e.uri?Qn.revive(e.uri):void 0;if(e.jumpToPosition!==void 0)c={kind:`jumpTo`,position:j.lift(e.jumpToPosition),uri:l};else if(e.insertText!==void 0){let t,a,o=e.range?w.lift(e.range):n;if(typeof e.insertText==`string`){if(t=e.insertText,i&&e.completeBracketPairs){t=zj(t,o.getStartPosition(),r,i);let n=t.length-e.insertText.length;n!==0&&(o=new w(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+n))}a=void 0}else if(`snippet`in e.insertText){let n=e.insertText.snippet.length;if(i&&e.completeBracketPairs){e.insertText.snippet=zj(e.insertText.snippet,o.getStartPosition(),r,i);let t=e.insertText.snippet.length-n;t!==0&&(o=new w(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+t))}let s=new km().parse(e.insertText.snippet);s.children.length===1&&s.children[0]instanceof bm?(t=s.children[0].value,a=void 0):(t=s.toString(),a={snippet:e.insertText.snippet,range:o})}else Bu(e.insertText);c={kind:`edit`,range:o,insertText:t,snippetInfo:a,uri:l,alternativeAction:void 0}}else if(c=void 0,!e.hint)return SA.message(`Inline completion has no insertText, jumpToPosition nor hint.`);return new Pj(c,e.hint,e.additionalTextEdits||hA(),e,t,a,e.isInlineEdit??!1,e.supportsRename??!1,o,s,e.correlationId)}var Pj=class{get action(){return this._action}constructor(e,t,n,r,i,a,o,s,c,l,u){this._action=e,this.hint=t,this.additionalTextEdits=n,this.sourceInlineCompletion=r,this.source=i,this.context=a,this.isInlineEdit=o,this.supportsRename=s,this._requestInfo=c,this._providerRequestInfo=l,this._correlationId=u,this._didShow=!1,this._timeUntilShown=void 0,this._timeUntilActuallyShown=void 0,this._showStartTime=void 0,this._shownDuration=0,this._showUncollapsedStartTime=void 0,this._showUncollapsedDuration=0,this._notShownReason=void 0,this._didReportEndOfLife=!1,this._lastSetEndOfLifeReason=void 0,this._isPreceeded=!1,this._partiallyAcceptedCount=0,this._partiallyAcceptedSinceOriginal={characters:0,ratio:0,count:0},this._renameInfo=void 0,this._editKind=void 0,this.performance=new Fj,this._viewData={editorType:c.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(e,t,n,r,i,a){if(this.updateShownDuration(n),this._didShow||this._didReportEndOfLife)return;this.addPerformanceMarker(`shown`),this._didShow=!0,this._editKind=i,this._viewData.viewKind=n,this._viewData.renderData=r,this._timeUntilShown=a-this._requestInfo.startTime,this._timeUntilActuallyShown=Date.now()-this._requestInfo.startTime;let o=new Nf(r.lineCountModified,r.lineCountOriginal,r.characterCountModified,r.characterCountOriginal);this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,t,o),this.sourceInlineCompletion.shownCommand&&await e.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(e,t,n){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=n.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*n.ratio,1),this._partiallyAcceptedSinceOriginal.count+=n.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}reportEndOfLife(e){if(!this._didReportEndOfLife&&(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),e||=this._lastSetEndOfLifeReason??{kind:_n.Ignored,userTypingDisagreed:!1,supersededBy:void 0},e.kind===_n.Rejected&&!this._didShow&&(e={kind:_n.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),e.kind===_n.Rejected&&this.source.provider.handleRejection&&this.source.provider.handleRejection(this.source.inlineSuggestions,this.sourceInlineCompletion),this.source.provider.handleEndOfLifetime)){let t={requestUuid:this.context.requestUuid,correlationId:this._correlationId,selectedSuggestionInfo:!!this.context.selectedSuggestionInfo,partiallyAccepted:this._partiallyAcceptedCount,partiallyAcceptedCountSinceOriginal:this._partiallyAcceptedSinceOriginal.count,partiallyAcceptedRatioSinceOriginal:this._partiallyAcceptedSinceOriginal.ratio,partiallyAcceptedCharactersSinceOriginal:this._partiallyAcceptedSinceOriginal.characters,shown:this._didShow,shownDuration:this._shownDuration,shownDurationUncollapsed:this._showUncollapsedDuration,editKind:this._editKind?.toString(),preceeded:this._isPreceeded,timeUntilShown:this._timeUntilShown,timeUntilActuallyShown:this._timeUntilActuallyShown,timeUntilProviderRequest:this._providerRequestInfo.startTime-this._requestInfo.startTime,timeUntilProviderResponse:this._providerRequestInfo.endTime-this._requestInfo.startTime,editorType:this._viewData.editorType,languageId:this._requestInfo.languageId,requestReason:this._requestInfo.reason,viewKind:this._viewData.viewKind,notShownReason:this._notShownReason,performanceMarkers:this.performance.toString(),renameCreated:this._renameInfo?.createdRename,renameDuration:this._renameInfo?.duration,renameTimedOut:this._renameInfo?.timedOut,renameDroppedOtherEdits:this._renameInfo?.droppedOtherEdits,renameDroppedRenameEdits:this._renameInfo?.droppedRenameEdits,typingInterval:this._requestInfo.typingInterval,typingIntervalCharacterCount:this._requestInfo.typingIntervalCharacterCount,skuPlan:this._requestInfo.sku?.plan,skuType:this._requestInfo.sku?.type,availableProviders:this._requestInfo.availableProviders.map(e=>e.toString()).join(`,`),...this._viewData.renderData?.getData()};this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions,this.sourceInlineCompletion,e,t)}}setIsPreceeded(e){this._isPreceeded=!0,(this._partiallyAcceptedSinceOriginal.characters!==0||this._partiallyAcceptedSinceOriginal.ratio!==0||this._partiallyAcceptedSinceOriginal.count!==0)&&console.warn(`Expected partiallyAcceptedCountSinceOriginal to be { characters: 0, rate: 0, partialAcceptances: 0 } before setIsPreceeded.`),this._partiallyAcceptedSinceOriginal=e}setNotShownReason(e){this._notShownReason??=e}setEndOfLifeReason(e){this.reportInlineEditHidden(),this._lastSetEndOfLifeReason=e}updateShownDuration(e){let t=Date.now();this._showStartTime||=t;let n=e===Oj.Collapsed;!n&&this._showUncollapsedStartTime===void 0&&(this._showUncollapsedStartTime=t),n&&this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=t-this._showUncollapsedStartTime)}reportInlineEditHidden(){if(this._showStartTime===void 0)return;let e=Date.now();this._shownDuration+=e-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=e-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0)}setRenameProcessingInfo(e){if(this._renameInfo)throw new To(`Rename info has already been set.`);this._renameInfo=e}withAction(e){return this._action=e,this}addPerformanceMarker(e){this.performance.mark(e)}},Fj=class{constructor(){this.markers=[],this.markers.push({name:`start`,timeStamp:Date.now()})}mark(e){this.markers.push({name:e,timeStamp:Date.now()})}toString(){let e=[];for(let t=1;t<this.markers.length;t++){let n=this.markers[t].timeStamp-this.markers[t-1].timeStamp;e.push({[this.markers[t].name]:n})}return JSON.stringify(e)}},Ij;(function(e){e.TextEditor=`textEditor`,e.DiffEditor=`diffEditor`,e.Notebook=`notebook`})(Ij||={});var Lj=class{constructor(e,t,n){this.inlineSuggestions=e,this.inlineSuggestionsData=t,this.provider=n,this.refCount=0}addRef(){this.refCount++}removeRef(e={kind:`other`}){if(this.refCount--,this.refCount===0){for(let e of this.inlineSuggestionsData)e.reportEndOfLife();this.provider.disposeInlineCompletions(this.inlineSuggestions,e)}else this.refCount<0&&at(new To(`InlineSuggestionList (provider=${this.provider.providerId?.toString()}) refCount went negative (${this.refCount}) — more removeRef than addRef calls.`))}};function Rj(e,t){let n=t.getWordAtPosition(e),r=t.getLineMaxColumn(e.lineNumber);return n?new w(e.lineNumber,n.startColumn,e.lineNumber,r):w.fromPositions(e,e.with(void 0,r))}function zj(e,t,n,r){let i=n.getLineContent(t.lineNumber),a=Ac.replace(new li(t.column-1,i.length),e),o=n.tokenization.tokenizeLinesAt(t.lineNumber,[a.replace(i)])?.[0].sliceZeroCopy(a.getRangeAfterReplace());return o?wj(o,r):e}var Bj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vj=function(e,t){return function(n,r){t(n,r,e)}},Hj=new M(`renameInputVisible`,!1,S(1460,`Whether the rename input widget is visible`));new M(`renameInputFocused`,!1,S(1461,`Whether the rename input widget is focused`));var Uj=class{constructor(e,t,n,r,i,a){this._editor=e,this._acceptKeybindings=t,this._themeService=n,this._keybindingService=r,this._logService=a,this.allowEditorOverflow=!0,this._disposables=new I,this._visibleContextKey=Hj.bindTo(i),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new js,this._inputWithButton=new Gj,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._updateFont()})),this._disposables.add(n.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return`__renameInputWidget`}getDomNode(){return this._domNode||(this._domNode=document.createElement(`div`),this._domNode.className=`monaco-editor rename-box`,this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new Wj(this._domNode,{fontInfo:this._editor.getOption(59),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{this._renameCandidateListView?.focusedCandidate!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()})),this._label=document.createElement(`div`),this._label.className=`rename-label`,this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;let t=e.getColor(mi),n=e.getColor(Jt);this._domNode.style.backgroundColor=String(e.getColor(It)??``),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:``,this._domNode.style.border=n?`1px solid ${n}`:``,this._domNode.style.color=String(e.getColor(Na)??``);let r=e.getColor(Kn);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(Ga)??``),this._inputWithButton.input.style.backgroundColor=String(e.getColor(Ga)??``),this._inputWithButton.domNode.style.borderWidth=r?`1px`:`0px`,this._inputWithButton.domNode.style.borderStyle=r?`solid`:`none`,this._inputWithButton.domNode.style.borderColor=r?.toString()??`none`}_updateFont(){if(this._domNode===void 0)return;tr(this._label!==void 0,`RenameWidget#_updateFont: _label must not be undefined given _domNode is defined`),this._editor.applyFontInfo(this._inputWithButton.input);let e=this._editor.getOption(59);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;let e=Lt(this.getDomNode().ownerDocument.body),t=ya(this._editor.getDomNode()),n=this._getTopForPosition();this._nPxAvailableAbove=n+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;let r=this._editor.getOption(75),{totalHeight:i}=Kj.getLayoutInfo({lineHeight:r}),a=this._nPxAvailableBelow>i*6?[2,1]:[1,2];return{position:this._position,preference:a}}beforeRender(){let[e,t]=this._acceptKeybindings;return this._label.innerText=S(1462,`{0} to Rename, {1} to Preview`,this._keybindingService.lookupKeybinding(e)?.getLabel(),this._keybindingService.lookupKeybinding(t)?.getLabel()),this._domNode.style.minWidth=`200px`,null}afterRender(e){if(e===null){this.cancelInput(!0,`afterRender (because position is null)`);return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;tr(this._renameCandidateListView),tr(this._nPxAvailableAbove!==void 0),tr(this._nPxAvailableBelow!==void 0);let t=yl(this._inputWithButton.domNode),n=yl(this._label),r;r=e===2?this._nPxAvailableBelow:this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-n-t,width:gt(this._inputWithButton.domNode)})}acceptInput(e){this._trace(`invoking acceptInput`),this._currentAcceptInput?.(e)}cancelInput(e,t){this._currentCancelInput?.(e)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,n,r,i){let{start:a,end:o}=this._getSelection(e,t);this._renameCts=i;let s=new I;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,r===void 0?this._inputWithButton.button.style.display=`none`:(this._inputWithButton.button.style.display=`flex`,this._requestRenameCandidatesOnce=r,this._requestRenameCandidates(t,!1),s.add(L(this._inputWithButton.button,`click`,()=>this._requestRenameCandidates(t,!0))),s.add(L(this._inputWithButton.button,jl.KEY_DOWN,e=>{let n=new hr(e);(n.equals(3)||n.equals(10))&&(n.stopPropagation(),n.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle(`preview`,n),this._position=new j(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute(`selectionStart`,a.toString()),this._inputWithButton.input.setAttribute(`selectionEnd`,o.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),s.add(Yo(()=>{this._renameCts=void 0,i.dispose(!0)})),s.add(Yo(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),s.add(Yo(()=>this._candidates.clear()));let c=new Cn;return c.p.finally(()=>{s.dispose(),this._hide()}),this._currentCancelInput=e=>(this._trace(`invoking _currentCancelInput`),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),c.complete(e),!0),this._currentAcceptInput=e=>{this._trace(`invoking _currentAcceptInput`),tr(this._renameCandidateListView!==void 0);let r=this._renameCandidateListView.nCandidates,i,a,o=this._renameCandidateListView.focusedCandidate;o===void 0?(this._trace(`using new name from inputField`),i=this._inputWithButton.input.value,a=this._isEditingRenameCandidate?{k:`userEditedRenameSuggestion`}:{k:`inputField`}):(this._trace(`using new name from renameSuggestion`),i=o,a={k:`renameSuggestion`}),i===t||i.trim().length===0?this.cancelInput(!0,`_currentAcceptInput (because newName === value || newName.trim().length === 0)`):(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),c.complete({newName:i,wantsPreview:n&&e,stats:{source:a,nRenameSuggestions:r,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}}))},s.add(i.token.onCancellationRequested(()=>this.cancelInput(!0,`cts.token.onCancellationRequested`))),s.add(this._editor.onDidBlurEditorWidget(()=>this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),`editor.onDidBlurEditorWidget`))),this._show(),c.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),tr(this._renameCts),this._inputWithButton.buttonState!==`stop`)){this._renameCandidateProvidersCts=new No;let n=t?wt.Invoke:wt.Automatic,r=this._requestRenameCandidatesOnce(n,this._renameCandidateProvidersCts.token);if(r.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(r,e,this._renameCts.token)}}_getSelection(e,t){tr(this._editor.hasModel());let n=this._editor.getSelection(),r=0,i=t.length;return!w.isEmpty(n)&&!w.spansMultipleLines(n)&&w.containsRange(e,n)&&(r=Math.max(0,n.startColumn-e.startColumn),i=Math.min(e.endColumn,n.endColumn)-e.startColumn),{start:r,end:i}}_show(){this._trace(`invoking _show`),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute(`selectionStart`)),parseInt(this._inputWithButton.input.getAttribute(`selectionEnd`)))},100)}async _updateRenameCandidates(e,t,n){let r=(...e)=>this._trace(`_updateRenameCandidates`,...e);r(`start`);let i=await Pa(Promise.allSettled(e),n);if(this._inputWithButton.setSparkleButton(),i===void 0){r(`returning early - received updateRenameCandidates results - undefined`);return}let a=i.flatMap(e=>e.status===`fulfilled`&&Zi(e.value)?e.value:[]);r(`received updateRenameCandidates results - total (unfiltered) ${a.length} candidates.`);let o=Nl(a,e=>e.newSymbolName);r(`distinct candidates - ${o.length} candidates.`);let s=o.filter(({newSymbolName:e})=>e.trim().length>0&&e!==this._inputWithButton.input.value&&e!==t&&!this._candidates.has(e));r(`valid distinct candidates - ${a.length} candidates.`),s.forEach(e=>this._candidates.add(e.newSymbolName)),s.length<1?r(`returning early - no valid distinct candidates`):(r(`setting candidates`),this._renameCandidateListView.setCandidates(s),r(`asking editor to re-layout`),this._editor.layoutContentWidget(this))}_hide(){this._trace(`invoked _hide`),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){let e=this._editor.getVisibleRanges(),t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn(`RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty`),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace(`RenameWidget`,...e)}};Uj=Bj([Vj(2,Xn),Vj(3,Ta),Vj(4,Ra),Vj(5,Pu)],Uj);var Wj=class e{constructor(t,n){this._disposables=new I,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=n.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=n.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement(`div`),this._listContainer.className=`rename-box rename-candidate-list-container`,t.appendChild(this._listContainer),this._listWidget=e._createListWidget(this._listContainer,this._candidateViewHeight,n.fontInfo),this._disposables.add(this._listWidget.onDidChangeFocus(e=>{e.elements.length===1&&n.onFocusChange(e.elements[0].newSymbolName)},this._disposables)),this._disposables.add(this._listWidget.onDidChangeSelection(e=>{e.elements.length===1&&n.onSelectionChange()},this._disposables)),this._disposables.add(this._listWidget.onDidBlur(e=>{this._listWidget.setFocus([])})),this._listWidget.style(br({listInactiveFocusForeground:ki,listInactiveFocusBackground:oi}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);let t=this._pickListHeight(this._listWidget.length),n=this._pickListWidth(e);this._listWidget.layout(t,n),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${n}px`,uo(S(1463,`Received {0} rename suggestions`,e.length))}clearCandidates(){this._listContainer.style.height=`0px`,this._listContainer.style.width=`0px`,this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;let e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;let t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;let e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;let e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();let e=this._listWidget.getFocus()[0];return this._listWidget.reveal(e),!0}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){let{totalHeight:e}=Kj.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){let t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){let t=Math.ceil(Math.max(...e.map(e=>e.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,n){let r=new class{getTemplateId(e){return`candidate`}getHeight(e){return t}},i=new class{constructor(){this.templateId=`candidate`}renderTemplate(e){return new Kj(e,n)}renderElement(e,t,n){n.populate(e)}disposeTemplate(e){e.dispose()}};return new Wo(`NewSymbolNameCandidates`,e,r,[i],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}},Gj=class{constructor(){this._buttonHoverContent=``,this._disposables=new I,this._onDidInputChange=this._disposables.add(new P),this.onDidInputChange=this._onDidInputChange.event}get domNode(){return this._domNode||(this._domNode=document.createElement(`div`),this._domNode.className=`rename-input-with-button`,this._domNode.style.display=`flex`,this._domNode.style.flexDirection=`row`,this._domNode.style.alignItems=`center`,this._inputNode=document.createElement(`input`),this._inputNode.className=`rename-input`,this._inputNode.type=`text`,this._inputNode.style.border=`none`,this._inputNode.setAttribute(`aria-label`,S(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=S(1465,`Generate New Name Suggestions`),this._buttonCancelHoverText=S(1466,`Cancel`),this._buttonHoverContent=this._buttonGenHoverText,this._disposables.add(ft().setupDelayedHover(this._buttonNode,()=>({content:this._buttonHoverContent,style:1}))),this._domNode.appendChild(this._buttonNode),this._disposables.add(L(this.input,jl.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(L(this.input,jl.KEY_DOWN,e=>{let t=new hr(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(L(this.input,jl.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(L(this.input,jl.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(L(this.input,jl.BLUR,()=>{this.domNode.style.outline=`none`}))),this._domNode}get input(){return tr(this._inputNode),this._inputNode}get button(){return tr(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState=`sparkle`,this._sparkleIcon??=yt(A.sparkle),Df(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??=yt(A.stopCircle),Df(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()}},Kj=class e{static{this._PADDING=2}constructor(t,n){this._domNode=document.createElement(`div`),this._domNode.className=`rename-box rename-candidate`,this._domNode.style.display=`flex`,this._domNode.style.columnGap=`5px`,this._domNode.style.alignItems=`center`,this._domNode.style.height=`${n.lineHeight}px`,this._domNode.style.padding=`${e._PADDING}px`;let r=document.createElement(`div`);r.style.display=`flex`,r.style.alignItems=`center`,r.style.width=r.style.height=`${n.lineHeight*.8}px`,this._domNode.appendChild(r),this._icon=yt(A.sparkle),this._icon.style.display=`none`,r.appendChild(this._icon),this._label=document.createElement(`div`),Xu(this._label,n),this._domNode.appendChild(this._label),t.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){let t=!!e.tags?.includes(Ol.AIGenerated);this._icon.style.display=t?`inherit`:`none`}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:t}){return{totalHeight:t+e._PADDING*2}}dispose(){}},qj=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jj=function(e,t){return function(n,r){t(n,r,e)}},Yj,Xj=class{constructor(e,t,n){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=n.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){let t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){let n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;let r=await n.resolveRenameLocation(this.model,this.position,e);if(r){if(r.rejectReason)t.push(r.rejectReason);else return r}}this._providerRenameIdx=0;let n=this.model.getWordAtPosition(this.position);return n?{range:new w(this.position.lineNumber,n.startColumn,this.position.lineNumber,n.endColumn),text:n.word,rejectReason:t.length>0?t.join(`
|
|
38
38
|
`):void 0}:{range:w.fromPositions(this.position),text:``,rejectReason:t.length>0?t.join(`
|
|
39
39
|
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,n,r){let i=this._providers[t];if(!i)return{edits:[],rejectReason:n.join(`
|
|
40
|
-
`)};let a=await i.provideRenameEdits(this.model,this.position,e,r);return a?a.rejectReason?this._provideRenameEdits(e,t+1,n.concat(a.rejectReason),r):a:this._provideRenameEdits(e,t+1,n.concat(S(1449,`No result.`)),r)}};function Zj(e,t){return e.ordered(t).length>0}async function Qj(e,t,n,r,i){return new Xj(t,n,e).provideRenameEdits(r,i??E.None)}async function $j(e,t,n,r){let i=new Xj(t,n,e),a=await i.resolveRenameLocation(E.None);return a?.rejectReason?{edits:[],rejectReason:a.rejectReason}:i.provideRenameEdits(r,E.None)}var eM=class{static{Yj=this}static{this.ID=`editor.contrib.renameController`}static get(e){return e.getContribution(Yj.ID)}constructor(e,t,n,r,i,a,o,s){this.editor=e,this._instaService=t,this._notificationService=n,this._bulkEditService=r,this._progressService=i,this._logService=a,this._configService=o,this._languageFeaturesService=s,this._disposableStore=new I,this._cts=new No,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Uj,this.editor,[`acceptRenameInput`,`acceptRenameInputWithPreview`]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){let e=this._logService.trace.bind(this._logService,`[rename]`);if(this._cts.dispose(!0),this._cts=new No,!this.editor.hasModel()){e(`editor has no model`);return}let t=this.editor.getPosition(),n=new Xj(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!n.hasProvider()){e(`skeleton has no provider`);return}let r=new Ad(this.editor,5,void 0,this._cts.token),i;try{e(`resolving rename location`);let t=n.resolveRenameLocation(r.token);this._progressService.showWhile(t,250),i=await t,e(`resolved rename location`)}catch(n){n instanceof po?e(`resolve rename location cancelled`,JSON.stringify(n,null,` `)):(e(`resolve rename location failed`,n instanceof Error?n:JSON.stringify(n,null,` `)),(typeof n==`string`||Rr(n))&&im.get(this.editor)?.showMessage(n||S(1450,`An unknown error occurred while resolving rename location`),t));return}finally{r.dispose()}if(!i){e(`returning early - no loc`);return}if(i.rejectReason){e(`returning early - rejected with reason: ${i.rejectReason}`,i.rejectReason),im.get(this.editor)?.showMessage(i.rejectReason,t);return}if(r.token.isCancellationRequested){e(`returning early - cts1 cancelled`);return}let a=new Ad(this.editor,5,i.range,this._cts.token),o=this.editor.getModel(),s=this._languageFeaturesService.newSymbolNamesProvider.all(o),c=await Promise.all(s.map(async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1])),l=(e,t)=>{let n=c.slice();return e===wt.Automatic&&(n=n.filter(([e,t])=>t)),n.map(([n])=>n.provideNewSymbolNames(o,i.range,e,t))};e(`creating rename input field and awaiting its result`);let u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,`editor.rename.enablePreview`),d=await this._renameWidget.getInput(i.range,i.text,u,s.length>0?l:void 0,a);if(e(`received response from rename input field`),typeof d==`boolean`){e(`returning early - rename input field response - ${d}`),d&&this.editor.focus(),a.dispose();return}this.editor.focus(),e(`requesting rename edits`);let f=Pa(n.provideRenameEdits(d.newName,a.token),a.token).then(async t=>{t?this.editor.hasModel()?t.rejectReason?(e(`returning early - rejected with reason: ${t.rejectReason}`),this._notificationService.info(t.rejectReason)):(this.editor.setSelection(w.fromPositions(this.editor.getSelection().getPosition())),e(`applying edits`),this._bulkEditService.apply(t,{editor:this.editor,showPreview:d.wantsPreview,label:S(1451,`Renaming '{0}' to '{1}'`,i?.text,d.newName),code:`undoredo.rename`,quotableLabel:S(1452,`Renaming {0} to {1}`,i?.text,d.newName),respectAutoSaveConfig:!0,reason:ws.rename(i?.text,d.newName)}).then(t=>{e(`edits applied`),t.ariaSummary&&Co(S(1453,`Successfully renamed '{0}' to '{1}'. Summary: {2}`,i.text,d.newName,t.ariaSummary))}).catch(t=>{e(`error when applying edits ${JSON.stringify(t,null,` `)}`),this._notificationService.error(S(1454,`Rename failed to apply edits`)),this._logService.error(t)})):e(`returning early - no model after rename edits are provided`):e(`returning early - no rename edits result`)},t=>{e(`error when providing rename edits`,JSON.stringify(t,null,` `)),this._notificationService.error(S(1455,`Rename failed to compute edits`)),this._logService.error(t)}).finally(()=>{a.dispose()});return e(`returning rename operation`),this._progressService.showWhile(f,250),f}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,`cancelRenameInput command`)}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}};eM=Yj=qj([Jj(1,W),Jj(2,xt),Jj(3,ad),Jj(4,bc),Jj(5,Pu),Jj(6,Ld),Jj(7,z)],eM);var tM=class extends G{constructor(){super({id:`editor.action.rename`,label:R(1457,`Rename Symbol`),precondition:T.and(D.writable,D.hasRenameProvider),kbOpts:{kbExpr:D.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:`1_modification`,order:1.1},canTriggerInlineEdits:!0})}runCommand(e,t){let n=e.get($s),[r,i]=Array.isArray(t)&&t||[void 0,void 0];return Qn.isUri(r)&&j.isIPosition(i)?n.openCodeEditor({resource:r},n.getActiveCodeEditor()).then(e=>{e&&(e.setPosition(i),e.invokeWithinContext(t=>(this.reportTelemetry(t,e),this.run(t,e))))},at):super.runCommand(e,t)}run(e,t){let n=e.get(Pu),r=eM.get(t);return r?(n.trace(`[RenameAction] got controller, running...`),r.run()):(n.trace(`[RenameAction] returning early - controller missing`),Promise.resolve())}};Ls(eM.ID,eM,4),B(tM);var nM=id.bindToContribution(eM.get);U(new nM({id:`acceptRenameInput`,precondition:Hj,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:D.focus,primary:3}})),U(new nM({id:`acceptRenameInputWithPreview`,precondition:T.and(Hj,T.has(`config.editor.rename.enablePreview`)),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:D.focus,primary:2051}})),U(new nM({id:`cancelRenameInput`,precondition:Hj,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:D.focus,primary:9,secondary:[1033]}})),ra(class extends ml{constructor(){super({id:`focusNextRenameSuggestion`,title:{...R(1458,`Focus Next Rename Suggestion`)},precondition:Hj,keybinding:[{primary:18,weight:199}]})}run(e){let t=e.get($s).getFocusedCodeEditor();if(!t)return;let n=eM.get(t);n&&n.focusNextRenameSuggestion()}}),ra(class extends ml{constructor(){super({id:`focusPreviousRenameSuggestion`,title:{...R(1459,`Focus Previous Rename Suggestion`)},precondition:Hj,keybinding:[{primary:16,weight:199}]})}run(e){let t=e.get($s).getFocusedCodeEditor();if(!t)return;let n=eM.get(t);n&&n.focusPreviousRenameSuggestion()}}),zd(`_executeDocumentRenameProvider`,function(e,t,n,...r){let[i]=r;tr(typeof i==`string`);let{renameProvider:a}=e.get(z);return $j(a,t,n,i)}),zd(`_executePrepareRename`,async function(e,t,n){let{renameProvider:r}=e.get(z),i=await new Xj(t,n,r).resolveRenameLocation(E.None);if(i?.rejectReason)throw Error(i.rejectReason);return i}),Nt.as(Wu.Configuration).registerConfiguration({id:`editor`,properties:{"editor.rename.enablePreview":{scope:6,description:S(1456,`Enable/disable the ability to preview changes before renaming`),default:!0,type:`boolean`}}});var rM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iM=function(e,t){return function(n,r){t(n,r,e)}},aM;(function(e){e.no=`no`,e.yes=`yes`,e.maybe=`maybe`})(aM||={}),(function(e){function t(t){switch(t){case`no`:return e.no;case`yes`:return e.yes;case`maybe`:return e.maybe;default:return e.no}}e.fromString=t})(aM||={});var oM=class{constructor(){}inferRename(e,t,n,r){let i=new w(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),a=t.startColumn-i.startColumn,o=i.endColumn-t.endColumn,s=e.getValueInRange(i),c=e.getValueInRange(new w(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn+a))+n+e.getValueInRange(new w(i.endLineNumber,i.endColumn-o,i.endLineNumber,i.endColumn)),l=[],u=[],d,f,p,m=e.getOffsetAt(i.getStartPosition()),{changes:h}=new Ia(new ao(s),new ao(c)).ComputeDiff(!0);if(h.length===0)return;let g=[];for(let t of h){if(g.length===0){g.push(t);continue}let n=g[g.length-1],r=t.originalStart-(n.originalStart+n.originalLength);if(r>0){let i=m+n.originalStart+n.originalLength,a=e.getPositionAt(i),o=e.getWordAtPosition(a);if(o){let s=e.getOffsetAt(new j(a.lineNumber,o.startColumn)),c=e.getOffsetAt(new j(a.lineNumber,o.endColumn)),l=i+r;if(s<=i&&l<=c&&s<=l&&l<=c){n.originalLength=t.originalStart+t.originalLength-n.originalStart,n.modifiedLength=t.modifiedStart+t.modifiedLength-n.modifiedStart;continue}}}g.push(t)}let _=0;for(let t of g){let n=s.substring(t.originalStart,t.originalStart+t.originalLength),i=c.substring(t.modifiedStart,t.modifiedStart+t.modifiedLength),a=m+t.originalStart,o=e.getPositionAt(a),h=a+t.originalLength,g=e.getPositionAt(h),v=w.fromPositions(o,g),y=i.length-t.originalLength;if(/\s/.test(n)){l.push(new bf(v,i)),_+=y;continue}if(n.length>0){r.lastIndex=0;let e=r.exec(n);if(e===null||e.index!==0||e[0].length!==n.length){l.push(new bf(v,i)),_+=y;continue}}if(/\s/.test(i)){l.push(new bf(v,i)),_+=y;continue}if(i.length>0){r.lastIndex=0;let e=r.exec(i);if(e===null||e.index!==0||e[0].length!==i.length){l.push(new bf(v,i)),_+=y;continue}}let b=e.getWordAtPosition(o);if(b===null){l.push(new bf(v,i)),_+=y;continue}let ee=t.originalStart+1,x=t.originalLength===0&&t.modifiedLength>0,te;if(te=x&&ee===b.endColumn&&b.endColumn>b.startColumn?this.getTokenAtPosition(e,new j(o.lineNumber,b.startColumn)):this.getTokenAtPosition(e,o),b.startColumn!==te.range.startColumn||b.endColumn!==te.range.endColumn)l.push(new bf(v,i)),_+=y;else if(te.type===0){let t=e.getValueInRange(te.range);if(t.length===0){l.push(new bf(v,i)),_+=y;continue}if(d===void 0)d=t;else if(d!==t){l.push(new bf(v,i)),_+=y;continue}let n=e.getOffsetAt(te.range.getStartPosition())-m+_,r=e.getOffsetAt(te.range.getEndPosition())-m+_;if(t=c.substring(n,r+y),t.length===0){l.push(new bf(v,i)),_+=y;continue}if(f===void 0)f=t;else if(f!==t){l.push(new bf(v,i)),_+=y;continue}p===void 0&&(p=te.range.getStartPosition()),d!==void 0&&f!==void 0&&d.length>0&&f.length>0&&d!==f?u.push(new bf(te.range,f)):u.push(new bf(v,i)),_+=y}else l.push(new bf(v,i)),_+=i.length-t.originalLength}if(d===void 0||f===void 0||p===void 0||d.length===0||f.length===0||d===f)return;r.lastIndex=0;let v=r.exec(d);if(v!==null&&v.index===0&&v[0].length===d.length&&(r.lastIndex=0,v=r.exec(f),v!==null&&v.index===0&&v[0].length===f.length))return{renames:{edits:u,position:p,oldName:d,newName:f},others:{edits:l}}}getTokenAtPosition(e,t){e.tokenization.tokenizeIfCheap(t.lineNumber);let n=e.tokenization.getLineTokens(t.lineNumber),r=n.findTokenIndexAtOffset(t.column-1);return{type:n.getStandardTokenType(r),range:new w(t.lineNumber,1+n.getStartOffset(r),t.lineNumber,1+n.getEndOffset(r))}}},sM=class e{static create(t,n){let r=t.getFocusedCodeEditor();if(r!==null&&r.getModel()===n)return new e(r,n.getVersionId())}constructor(e,t){this.editor=e,this.versionId=t}equals(e){return e!==void 0&&this.editor===e.editor&&this.versionId===e.versionId}},cM=class{constructor(e,t,n,r,i,a,o,s,c){this._result=void 0,this._commandService=t,this._textModel=r,this._state=i,this._requestUuid=n,this._cancellationTokenSource=new No,this._promise=s===void 0||c===void 0?Qj(e.renameProvider,r,a,o,this._cancellationTokenSource.token):this.sendNesRenameRequest(r,a,c,o,s)}get requestUuid(){return this._requestUuid}isValid(e){return this._state.equals(sM.create(e,this._textModel))}cancel(){this._cancellationTokenSource.cancel()}async getCount(){if(this._cancellationTokenSource.token.isCancellationRequested)return 0;let e=await this.getResult();return e===void 0||this._cancellationTokenSource.token.isCancellationRequested?0:e.edits.length}async getWorkspaceEdit(){return this.getResult()}async getResult(){if(!this._cancellationTokenSource.token.isCancellationRequested&&(this._result===void 0&&(this._result=await this._promise),!(this._result.rejectReason||this._cancellationTokenSource.token.isCancellationRequested)))return this._result}async sendNesRenameRequest(e,t,n,r,i){try{let a=await this._commandService.executeCommand(`github.copilot.nes.postRename`,e.uri,t,n,r,i);if(a===void 0)return{rejectReason:`Rename failed`,edits:[]};let o=[];for(let e of a)for(let t of e.changes){let n=new w(t.range.start.line+1,t.range.start.character+1,t.range.end.line+1,t.range.end.character+1),i=new il(e.file,new bf(n,t.newText??r));o.push(i)}return{edits:o}}catch{return{rejectReason:`Rename failed`,edits:[]}}}},lM=class extends K{constructor(e,t,n,r,i,a){super(),this._commandService=e,this._languageFeaturesService=t,this._languageConfigurationService=n,this._renameSymbolTrackerService=i,this._codeEditorService=a,this._renameInferenceEngine=new oM,this._renameRunnable=void 0,this._register(zn.registerCommand(X_,async(e,t,n)=>{if(n!==void 0&&n.isValid(this._codeEditorService))try{let e=await n.getWorkspaceEdit();if(e===void 0)return;r.apply(e,{reason:t})}finally{this._renameRunnable===n&&(this._renameRunnable=void 0)}}))}async proposeRenameRefactoring(e,t,n){if(!t.supportsRename||t.action?.kind!==`edit`||n.selectedSuggestionInfo||!Zj(this._languageFeaturesService.renameProvider,e))return t;let r=sM.create(this._codeEditorService,e);if(r===void 0)return t;let i=Date.now(),a=t.action.textReplacement,o=this._languageConfigurationService.getLanguageConfiguration(e.getLanguageId()),s=this._renameInferenceEngine.inferRename(e,a.range,a.text,o.wordDefinition);if(s===void 0||s.renames.edits.length===0)return t;let{oldName:c,newName:l,position:u,edits:d}=s.renames,f=this._renameSymbolTrackerService.trackedWord.get(),p;f!==void 0&&f.model===e&&f.originalWord===c&&f.currentWord===l&&(p=f.currentRange);let m=!1,h=await Fn(this.checkRenamePrecondition(t,e,u,c,l,p),100,()=>{m=!0}),g=this.isRenamePossible(t,h,r,e);if(t.setRenameProcessingInfo({createdRename:g,duration:Date.now()-i,timedOut:m,droppedOtherEdits:g?s.others.edits.length:void 0,droppedRenameEdits:g?d.length-1:void 0}),!g)return t;this._renameRunnable===void 0&&(this._renameRunnable=new cM(this._languageFeaturesService,this._commandService,t.requestUuid,e,r,u,l,p,p===void 0?void 0:c));let _=ws.inlineCompletionAccept({nes:t.isInlineEdit,requestUuid:t.requestUuid,providerId:t.source.provider.providerId,languageId:e.getLanguageId(),correlationId:t.getSourceCompletion().correlationId}),v={id:X_,title:S(1274,`Rename`),arguments:[_,this._renameRunnable]},y={label:S(1275,`Rename`),icon:A.replaceAll,command:v,count:this._renameRunnable.getCount()},b={kind:`edit`,range:d[0].range,insertText:d[0].text,snippetInfo:t.snippetInfo,alternativeAction:y,uri:e.uri},ee=uj.snapshot(e);return dj.create(t.withAction(b),ee,!1)}async checkRenamePrecondition(e,t,n,r,i,a){let o={canRename:aM.no,timedOut:!1};try{let s=await this._commandService.executeCommand(`github.copilot.nes.prepareRename`,t.uri,n,r,i,e.requestUuid,a);if(s===void 0)return o;if(typeof s==`string`){let e=aM.fromString(s);return e===aM.yes||e===aM.maybe?{canRename:e,oldName:r,onOldState:!1}:{canRename:e,timedOut:!1}}return s}catch{return o}}isRenamePossible(e,t,n,r){return t===void 0||t.canRename===aM.no||!n.equals(sM.create(this._codeEditorService,r))?!1:this._renameRunnable===void 0||this._renameRunnable.requestUuid!==e.requestUuid&&(this._renameRunnable.cancel(),this._renameRunnable=void 0,!0)}};lM=rM([iM(0,kr),iM(1,z),iM(2,Ln),iM(3,ad),iM(4,du),iM(5,$s)],lM);var uM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dM=function(e,t){return function(n,r){t(n,r,e)}},fM,pM=class extends K{static{fM=this}static{this._requestId=0}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._textModel=e,this._versionId=t,this._debounceValue=n,this._cursorPosition=r,this._languageConfigurationService=a,this._logService=o,this._configurationService=s,this._instantiationService=c,this._contextKeyService=l,this._textModelService=u,this._updateOperation=this._register(new fc),this._state=VA(this,{initial:()=>({inlineCompletions:vM.createEmpty(),suggestWidgetInlineCompletions:vM.createEmpty()}),disposeFinal:e=>{e.inlineCompletions.dispose(),e.suggestWidgetInlineCompletions.dispose()},changeTracker:Js(()=>({versionId:this._versionId})),update:(e,t,n)=>{let r=Hc.compose(n.changes.map(e=>e.change?vc(e.change.changes):Hc.empty).filter(Zi));if(r.isEmpty())return t;try{return{inlineCompletions:t.inlineCompletions.createStateWithAppliedEdit(r,this._textModel),suggestWidgetInlineCompletions:t.suggestWidgetInlineCompletions.createStateWithAppliedEdit(r,this._textModel)}}finally{t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,e=>e.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,e=>e.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=V(this,e=>{this._versionId.read(e),this._updateOperation.clear()}),this._loadingCount=ls(this,0),this.loading=this._loadingCount.map(this,e=>e>0),this._dataChannelTelemetryService=this._instantiationService.createInstance(GA),this._loggingEnabled=Wr(`editor.inlineSuggest.logFetch`,!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=Wr(`editor.inlineSuggest.emptyResponseInformation`,!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(Rk.cast(),`editor.inlineSuggest.logFetch.commandId`)),this._renameProcessor=this._store.add(this._instantiationService.createInstance(lM)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store),i&&(this._updateCompletionsEnablement(i),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(i)&&this._updateCompletionsEnablement(i)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(e){let t=this._configurationService.getValue(e);this._completionsEnabled=Wa(t)?t:void 0}_log(e){this._loggingEnabled.get()&&this._logService.info(Lk(e)),this._structuredFetchLogger.log(e)}fetch(e,t,n,r,i,a,o){let s=new mM(this._cursorPosition.get(),n,this._textModel.getVersionId(),new Set(e)),c=n.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(s))return this._updateOperation.value.promise;if(c?.request?.satisfies(s))return Promise.resolve(!0);let l=!!this._updateOperation.value;this._updateOperation.clear();let u=new No,d=(async()=>{let c=new I;this._loadingCount.set(this._loadingCount.get()+1,void 0);let d=!1,f=()=>{d||(d=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};c.add(new Lr(()=>f(),1e4)).schedule();let p=new hM(n,o,e.filter(e=>e.providerId));try{let d=this._debounceValue.get(this._textModel),f=fl(e.map(e=>e.debounceDelayMs),Ms(Rc))??d;if((l||i&&n.triggerKind===wi.Automatic)&&await xA(f,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId)return p.setNoSuggestionReasonIfNotSet(`canceled:beforeFetch`),!1;let m=fM._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:`InlineCompletions.fetch`,kind:`start`,requestId:m,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:n.triggerKind,suggestInfo:n.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:t});let h=new Date,g=jj(e,this._cursorPosition.get(),this._textModel,n,o,this._languageConfigurationService);Mj(u.token,()=>g.cancelAndDispose({kind:`tokenCancellation`}));let _=!1,v=!1,y=[];for await(let e of g.lists)if(e){e.addRef(),c.add(Yo(()=>e.removeRef(e.inlineSuggestionsData.length===0?{kind:`empty`}:{kind:`notTaken`})));for(let t of e.inlineSuggestionsData){if(v=!0,!n.includeInlineEdits&&(t.isInlineEdit||t.showInlineEditMenu)){t.setNotShownReason(`notInlineEditRequested`);continue}if(!n.includeInlineCompletions&&!(t.isInlineEdit||t.showInlineEditMenu)){t.setNotShownReason(`notInlineCompletionRequested`);continue}t.addPerformanceMarker(`providerReturned`);let e=t.action?.uri,r,i;if(e&&e.toString()!==this._textModel.uri.toString()){let t=await this._textModelService.createModelReference(e);r=t.object.textEditorModel,i=t}else r=this._textModel,i=void 0;let a=uj.snapshot(r),o=dj.create(t,a);if(i){let e=tn(o.identity.onDispose,()=>{i?.dispose(),e.dispose()})}t.addPerformanceMarker(`itemCreated`),y.push(o),!o.isInlineEdit&&!o.showInlineEditMenu&&n.triggerKind===wi.Automatic&&o.isVisible(this._textModel,this._cursorPosition.get())&&(_=!0)}if(_)break}y.forEach(e=>e.addPerformanceMarker(`providersResolved`));let b=await Promise.all(y.map(async e=>this._renameProcessor.proposeRenameRefactoring(this._textModel,e,n)));if(b.forEach(e=>e.addPerformanceMarker(`renameProcessed`)),g.cancelAndDispose({kind:`lostRace`}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let e=g.didAllProvidersReturn,t;(u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId)&&(t=`canceled`);let n=b.map(e=>{let t=e.getSourceCompletion();if(t.doNotLog)return;let n={insertText:t.insertText,range:t.range,additionalTextEdits:t.additionalTextEdits,uri:t.uri,command:t.command,gutterMenuLinkAction:t.gutterMenuLinkAction,shownCommand:t.shownCommand,completeBracketPairs:t.completeBracketPairs,isInlineEdit:t.isInlineEdit,showInlineEditMenu:t.showInlineEditMenu,showRange:t.showRange,warning:t.warning,hint:t.hint,supportsRename:t.supportsRename,correlationId:t.correlationId,jumpToPosition:t.jumpToPosition};return{...qr(n,e=>w.isIRange(e)?w.lift(e).toString():j.isIPosition(e)?j.lift(e).toString():If.is(e)?{$commandId:e.id}:e),$providerId:e.source.provider.providerId?.toString()}}).filter(e=>e!==void 0);this._log({sourceId:`InlineCompletions.fetch`,kind:`end`,requestId:m,durationMs:Date.now()-h.getTime(),error:t,result:n,time:Date.now(),didAllProvidersReturn:e})}if(p.setRequestUuid(g.contextWithUuid.requestUuid),v)p.setHasProducedSuggestion(),b.length>0&&u.token.isCancellationRequested&&b.forEach(e=>e.setNotShownReasonIfNotSet(`canceled:whileAwaitingOtherProviders`));else if(u.token.isCancellationRequested)p.setNoSuggestionReasonIfNotSet(`canceled:whileFetching`);else{let e=this._contextKeyService.getContextKeyValue(`completionsQuotaExceeded`);p.setNoSuggestionReasonIfNotSet(e?`completionsQuotaExceeded`:`noSuggestion`)}let ee=n.earliestShownDateTime-Date.now();if(ee>0&&await xA(ee,u.token),b.forEach(e=>e.addPerformanceMarker(`minShowDelayPassed`)),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId||a.get()){let e=u.token.isCancellationRequested?`canceled:afterMinShowDelay`:this._store.isDisposed?`canceled:disposed`:this._textModel.getVersionId()===s.versionId?a.get()?`canceled:userJumped`:`unknown`:`canceled:documentChanged`;return b.forEach(t=>t.setNotShownReasonIfNotSet(e)),!1}let x=new Date;this._debounceValue.update(this._textModel,x.getTime()-h.getTime());let te=this._cursorPosition.get();this._updateOperation.clear(),Ps(e=>{let t=this._state.get();n.selectedSuggestionInfo?this._state.set({inlineCompletions:vM.createEmpty(),suggestWidgetInlineCompletions:t.suggestWidgetInlineCompletions.createStateWithAppliedResults(b,s,this._textModel,te,r)},e):this._state.set({inlineCompletions:t.inlineCompletions.createStateWithAppliedResults(b,s,this._textModel,te,r),suggestWidgetInlineCompletions:vM.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()})}finally{c.dispose(),f(),this._sendInlineCompletionsRequestTelemetry(p)}return!0})(),f=new _M(s,u,d);return this._updateOperation.value=f,d}clear(e){if(this._store.isDisposed)return;this._updateOperation.clear();let t=this._state.get();this._state.set({inlineCompletions:vM.createEmpty(),suggestWidgetInlineCompletions:vM.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let e=this.inlineCompletions.get(),t=this.suggestWidgetInlineCompletions.get();t&&Ps(n=>{if(!e||(t.request?.versionId??-1)>(e.request?.versionId??-1)){e?.dispose();let r=this._state.get();this._state.set({inlineCompletions:t.clone(),suggestWidgetInlineCompletions:vM.createEmpty()},n),r.inlineCompletions.dispose(),r.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(n)})}seedWithCompletion(e,t){let n=this._state.get();this._state.set({inlineCompletions:new vM([e],void 0),suggestWidgetInlineCompletions:vM.createEmpty()},t),n.inlineCompletions.dispose(),n.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(e){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue(`isRunningUnificationExperiment`)||e.requestUuid===void 0||e.hasProducedSuggestion||!Is(this._completionsEnabled,this._textModel.getLanguageId())||!e.providers.some(e=>JA(e.providerId?.extensionId)))return;let t={opportunityId:e.requestUuid,noSuggestionReason:e.noSuggestionReason??`unknown`,extensionId:`vscode-core`,extensionVersion:`0.0.0`,groupId:`empty`,shown:!1,skuPlan:e.requestInfo.sku?.plan,skuType:e.requestInfo.sku?.type,editorType:e.requestInfo.editorType,requestReason:e.requestInfo.reason,typingInterval:e.requestInfo.typingInterval,typingIntervalCharacterCount:e.requestInfo.typingIntervalCharacterCount,languageId:e.requestInfo.languageId,selectedSuggestionInfo:!!e.context.selectedSuggestionInfo,availableProviders:e.providers.map(e=>e.providerId?.toString()).filter(Zi).join(`,`),...qA(e.providers.some(e=>JA(e.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,acceptedAlternativeAction:void 0,correlationId:void 0,shownDuration:void 0,shownDurationUncollapsed:void 0,timeUntilShown:void 0,partiallyAccepted:void 0,partiallyAcceptedCountSinceOriginal:void 0,partiallyAcceptedRatioSinceOriginal:void 0,partiallyAcceptedCharactersSinceOriginal:void 0,cursorColumnDistance:void 0,cursorLineDistance:void 0,lineCountOriginal:void 0,lineCountModified:void 0,characterCountOriginal:void 0,characterCountModified:void 0,disjointReplacements:void 0,sameShapeReplacements:void 0,longDistanceHintVisible:void 0,longDistanceHintDistance:void 0,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};YA(this._dataChannelTelemetryService,t)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};pM=fM=uM([dM(5,Ln),dM(6,Pu),dM(7,Wi),dM(8,W),dM(9,Ra),dM(10,Ki)],pM);var mM=class{constructor(e,t,n,r){this.position=e,this.context=t,this.versionId=n,this.providers=r}satisfies(e){return this.position.equals(e.position)&&ua(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,dn())&&(e.context.triggerKind===wi.Automatic||this.context.triggerKind===wi.Explicit)&&this.versionId===e.versionId&&gM(e.providers,this.providers)}},hM=class{constructor(e,t,n){this.context=e,this.requestInfo=t,this.providers=n,this.hasProducedSuggestion=!1}setRequestUuid(e){this.requestUuid=e}setNoSuggestionReasonIfNotSet(e){this.noSuggestionReason??=e}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}};function gM(e,t){return[...e].every(e=>t.has(e))}var _M=class{constructor(e,t,n){this.request=e,this.cancellationTokenSource=t,this.promise=n}dispose(){this.cancellationTokenSource.cancel()}},vM=class e extends K{static createEmpty(){return new e([],void 0)}constructor(e,t){super(),this.inlineCompletions=e,this.request=t;for(let e of this.inlineCompletions)e.addRef();this._register({dispose:()=>{for(let e of this.inlineCompletions)e.removeRef()}})}_findById(e){return this.inlineCompletions.find(t=>t.identity===e)}_findByHash(e){return this.inlineCompletions.find(t=>t.hash===e)}createStateWithAppliedEdit(t,n){let r=this.inlineCompletions.map(e=>e.withEdit(t,n)).filter(Zi);return new e(r,this.request)}createStateWithAppliedResults(t,n,r,i,a){let o;if(a){let e=this._findById(a);if(e&&e.canBeReused(r,n.position)){o=e;let n=t.find(t=>t.hash===e.hash);t=n?bM(n,t):[e,...t]}}let s=o?!o.isInlineEdit:t.some(e=>!e.isInlineEdit&&e.isVisible(r,i)),c=[];for(let e of t){let t=this._findByHash(e.hash),n;t&&t!==e?(n=e.withIdentity(t.identity),e.setIsPreceeded(t),t.setEndOfLifeReason({kind:_n.Ignored,userTypingDisagreed:!1,supersededBy:e.getSourceCompletion()})):n=e,s!==n.isInlineEdit&&c.push(n)}return c.sort(dd(e=>e.showInlineEditMenu,ss)),c=yM(c,e=>e.semanticId),new e(c,n)}clone(){return new e(this.inlineCompletions,this.request)}};function yM(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return!n.has(r)&&(n.add(r),!0)})}function bM(e,t){let n=t.indexOf(e);return n>-1?[e,...t.slice(0,n),...t.slice(n+1)]:t}var xM=class e extends K{static{this.MAX_SESSION_GAP_MS=3e3}static{this.MIN_SESSION_DURATION_MS=1e3}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=3e5}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){return(this._cacheInvalidated||this._cachedTypingIntervalResult===null)&&(this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1),this._cachedTypingIntervalResult}constructor(e){super(),this._textModel=e,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent(e=>this._updateTypingSpeed(e)))}_updateTypingSpeed(t){let n=Date.now();this._isUserTyping(t)?(this._currentSession&&n-this._lastChangeTime>e.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||={startTime:n,endTime:n,characterCount:0},this._currentSession.endTime=n,this._currentSession.characterCount+=this._getActualCharacterCount(t),this._lastChangeTime=n,this._cacheInvalidated=!0):this._finalizeCurrentSession()}_getActualCharacterCount(e){let t=0;for(let n of e.changes)t+=Math.max(n.text.length,n.rangeLength);return t}_isUserTyping(e){if(!e.detailedReasons||e.detailedReasons.length===0)return!1;for(let t of e.detailedReasons)if(this._isUserTypingReason(t))return!0;return!1}_isUserTypingReason(e){if(e.metadata.isUndoing||e.metadata.isRedoing)return!1;switch(e.metadata.source){case`cursor`:{let t=e.metadata.kind;return t===`type`||t===`compositionType`||t===`compositionEnd`}default:return!1}}_finalizeCurrentSession(){this._currentSession&&=(this._currentSession.endTime-this._currentSession.startTime>=e.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>e.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),null)}_calculateTypingInterval(){if(this._currentSession){let t={...this._currentSession};if(t.endTime-t.startTime>=e.MIN_SESSION_DURATION_MS&&t.characterCount>0){let e=[...this._typingSessions,t];return this._calculateSpeedFromSessions(e)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(t){if(t.length===0)return{averageInterval:0,characterCount:0};let n=[...t].sort((e,t)=>t.endTime-e.endTime),r=Date.now()-e.TYPING_SPEED_WINDOW_MS,i=n.filter(e=>e.endTime>r),a=n.splice(i.length),o=Gd(i.map(e=>e.characterCount));for(let t=0;t<a.length&&o<e.MIN_CHARS_FOR_RELIABLE_SPEED;t++)i.push(a[t]),o+=a[t].characterCount;let s=Gd(i.map(e=>e.endTime-e.startTime));if(s===0||o<=1)return{averageInterval:0,characterCount:o};let c=s/Math.max(1,o-1);return{averageInterval:Math.round(c),characterCount:o}}dispose(){this._finalizeCurrentSession(),super.dispose()}},SM;function CM(e){return SM?.(e)??null}function wM(e){SM=e}var TM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},EM=function(e,t){return function(n,r){t(n,r,e)}},DM=class extends K{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){super(),this.textModel=e,this._selectedSuggestItem=t,this._textModelVersionId=n,this._positions=r,this._debounceValue=i,this._enabled=a,this._isSuppressed=o,this._editor=s,this._instantiationService=c,this._commandService=l,this._languageConfigurationService=u,this._accessibilityService=d,this._languageFeaturesService=f,this._codeEditorService=p,this._inlineCompletionsService=m,this._isActive=ls(this,!1),this._onlyRequestInlineEditsSignal=wd(this),this._forceUpdateExplicitlySignal=wd(this),this._noDelaySignal=wd(this),this._fetchSpecificProviderSignal=wd(this),this._selectedInlineCompletionId=ls(this,void 0),this.primaryPosition=V(this,e=>this._positions.read(e)[0]??new j(1,1)),this.allPositions=V(this,e=>this._positions.read(e)),this.sku=ls(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=V(this,e=>{let t=this.state.read(e);return!t||!t.inlineSuggestion?!1:jM(this._editor,t.inlineSuggestion,e)}),this._onDidAccept=this._register(new P),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=Bc({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(e,t)=>(t.didUndo=e.didChange(this._textModelVersionId)&&!!e.change?.isUndoing,!0)}},(e,t)=>{let n=this._textModelVersionId.read(e);return n!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===n-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&t.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([OM.Redo,OM.Undo,OM.AcceptWord]),this.dontRefetchSignal=wd(this),this._fetchInlineCompletionsPromise=Bc({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:wi.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:``}),handleChange:(e,t)=>{if(e.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(e.change))&&(t.preserveCurrentCompletion=!0);let n=e.change?.detailedReasons??[];t.changeReason=n.length>0?n[0].getType():``,t.textChange=!0}else e.didChange(this._forceUpdateExplicitlySignal)?(t.preserveCurrentCompletion=!0,t.inlineCompletionTriggerKind=wi.Explicit):e.didChange(this.dontRefetchSignal)?t.dontRefetch=!0:e.didChange(this._onlyRequestInlineEditsSignal)?t.onlyRequestInlineEdits=!0:e.didChange(this._fetchSpecificProviderSignal)&&(t.provider=e.change?.provider,t.changeHint=e.change?.changeHint);return!0}}},(e,t)=>{if(this._source.clearOperationOnTextModelChange.read(e),this._noDelaySignal.read(e),this.dontRefetchSignal.read(e),this._onlyRequestInlineEditsSignal.read(e),this._forceUpdateExplicitlySignal.read(e),this._fetchSpecificProviderSignal.read(e),this._isSuppressed()||(!this._enabled.read(e)||!this._selectedSuggestItem.read(e))&&!this._isActive.read(e)||this._inlineCompletionsService.isSnoozing()&&t.inlineCompletionTriggerKind!==wi.Explicit){this._source.cancelUpdate();return}this._textModelVersionId.read(e);let n=this._source.suggestWidgetInlineCompletions.read(void 0),r=this._selectedSuggestItem.read(e);if(this._shouldShowOnSuggestConflict.read(void 0)&&(r=void 0),n&&!r&&this._source.seedInlineCompletionsWithSuggestWidget(),t.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(e)&&t.inlineCompletionTriggerKind!==wi.Explicit){Ps(e=>{this._source.clear(e)});return}let i=``;t.provider?i+=`providerOnDidChange`:t.inlineCompletionTriggerKind===wi.Explicit&&(i+=`explicit`),t.changeReason&&(i+=i.length>0?`:${t.changeReason}`:t.changeReason);let a=this._typing.getTypingInterval(),o={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:i,typingInterval:a.averageInterval,typingIntervalCharacterCount:a.characterCount,availableProviders:[],sku:this.sku.read(void 0)},s={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:r?.toSelectedSuggestionInfo(),includeInlineCompletions:!t.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(e),requestIssuedDateTime:o.startTime,earliestShownDateTime:o.startTime+(t.inlineCompletionTriggerKind===wi.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:t.changeHint};s.triggerKind===wi.Automatic&&t.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(s={...s,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});let c=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,l=t.preserveCurrentCompletion||c?.forwardStable?c:void 0,u=this._jumpedToId.map(e=>!!e&&e===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),d=t.provider?{providers:[t.provider],label:`single:`+t.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},f=this.getAvailableProviders(d.providers);return o.availableProviders=f.map(e=>e.providerId).filter(Zi),this._source.fetch(f,d.label,s,l?.identity,t.shouldDebounce,u,o)}),this._inlineSuggestionItems=Oc({owner:this},e=>{let t=this._source.inlineCompletions.read(e);if(!t)return;let n=this.primaryPosition.read(e),r,i=[];for(let e of t.inlineCompletions)e.isInlineEdit?r=e:e.isVisible(this.textModel,n)&&i.push(e);return i.length!==0&&(r=void 0),{inlineCompletions:i,inlineEdit:r}}),this._inlineCompletionItems=Oc({owner:this,equalsFn:xs()},e=>this._inlineSuggestionItems.read(e)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=V(this,e=>{let t=this._selectedInlineCompletionId.read(e),n=this._inlineCompletionItems.read(e),r=this._selectedInlineCompletionId===void 0?-1:n.findIndex(e=>e.semanticId===t);return r===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):r}),this.selectedInlineCompletion=V(this,e=>this._inlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)]),this.activeCommands=Oc({owner:this,equalsFn:xs()},e=>this.selectedInlineCompletion.read(e)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=V(this,e=>{if(this.lastTriggerKind.read(e)===wi.Explicit)return this._inlineCompletionItems.read(e).length}),this._hasVisiblePeekWidgets=V(this,e=>this._editorObs.openedPeekWidgets.read(e)>0),this._shouldShowOnSuggestConflict=V(this,e=>{let t=this._showOnSuggestConflict.read(e);if(t!==`never`&&this.selectedInlineCompletion.read(e)){let n=this._selectedSuggestItem.read(e);return n?t!==`whenSuggestListIsIncomplete`||n.listIncomplete:!1}return!1}),this.state=Oc({owner:this,equalsFn:(e,t)=>!e||!t?e===t:e.kind===`ghostText`&&t.kind===`ghostText`?jA(e.ghostTexts,t.ghostTexts)&&e.inlineSuggestion===t.inlineSuggestion&&e.suggestItem===t.suggestItem:e.kind===`inlineEdit`&&t.kind===`inlineEdit`&&e.inlineSuggestion===t.inlineSuggestion},e=>{let t=this.textModel;if(this._suppressInSnippetMode.read(e)&&this._isInSnippetMode.read(e))return;let n=this._inlineSuggestionItems.read(e),r=n?.inlineEdit;if(r){if(this._hasVisiblePeekWidgets.read(e))return;let t=this.primaryPosition.map(e=>pn.fromRangeInclusive(r.targetRange).addMargin(1,1).contains(e.lineNumber)),i=r.action?.kind===`edit`?r.action.stringEdit:void 0,a=i?Cs.fromStringEdit(i,new Ko(this.textModel)).replacements:[],o=(n.inlineEdit?.command?.id===`vscode.open`||n.inlineEdit?.command?.id===`_workbench.open`)&&n.inlineEdit?.command.arguments?.length?Qn.from(n.inlineEdit?.command.arguments[0]):void 0;return r.originalTextRef.targets(this.textModel)||(o=r.originalTextRef.uri),{kind:`inlineEdit`,inlineSuggestion:r,edits:a,cursorAtInlineEdit:t,nextEditUri:o}}let i=this._selectedSuggestItem.read(e);if(!this._shouldShowOnSuggestConflict.read(e)&&i){let n=NA(i.getSingleTextEdit(),t),r=this._computeAugmentation(n,e);if(!this._suggestPreviewEnabled.read(e)&&!r)return;let a=r?.edit??n,o=r?r.edit.text.length-n.text.length:0,s=this._suggestPreviewMode.read(e),c=this._positions.read(e),l=[a,...kM(this.textModel,c,a)].map((e,n)=>({edit:e,ghostText:e?IA(e,t,s,c[n],o):void 0})).filter(({edit:e,ghostText:t})=>e!==void 0&&t!==void 0),u=l.map(({edit:e})=>e),d=l.map(({ghostText:e})=>e);return{kind:`ghostText`,edits:u,primaryGhostText:d[0]??new OA(a.range.endLineNumber,[]),ghostTexts:d,inlineSuggestion:r?.completion,suggestItem:i}}{if(!this._isActive.read(e))return;let n=this.selectedInlineCompletion.read(e);if(!n)return;let r=n.getSingleTextEdit(),i=this._inlineSuggestMode.read(e),a=this._positions.read(e),o=[r,...kM(this.textModel,a,r)].map((e,n)=>({edit:e,ghostText:e?IA(e,t,i,a[n],0):void 0})).filter(({edit:e,ghostText:t})=>e!==void 0&&t!==void 0),s=o.map(({edit:e})=>e),c=o.map(({ghostText:e})=>e);return c[0]?{kind:`ghostText`,edits:s,primaryGhostText:c[0],ghostTexts:c,inlineSuggestion:n,suggestItem:void 0}:void 0}}),this.status=V(this,e=>{if(this._source.loading.read(e))return`loading`;let t=this.state.read(e);return t?.kind===`ghostText`?`ghostText`:t?.kind===`inlineEdit`?`inlineEdit`:`noSuggestion`}),this.inlineCompletionState=V(this,e=>{let t=this.state.read(e);if(t&&t.kind===`ghostText`&&!this._editorObs.inComposition.read(e))return t}),this.inlineEditState=V(this,e=>{let t=this.state.read(e);if(t&&t.kind===`inlineEdit`)return t}),this.inlineEditAvailable=V(this,e=>!!this.inlineEditState.read(e)),this.warning=V(this,e=>this.inlineCompletionState.read(e)?.inlineSuggestion?.warning),this.ghostTexts=Oc({owner:this,equalsFn:jA},e=>{let t=this.inlineCompletionState.read(e);if(t)return t.ghostTexts}),this.primaryGhostText=Oc({owner:this,equalsFn:MA},e=>{let t=this.inlineCompletionState.read(e);if(t)return t?.primaryGhostText}),this.showCollapsed=V(this,e=>{let t=this.state.read(e);if(!t||t.kind!==`inlineEdit`||t.inlineSuggestion.hint||t.inlineSuggestion.action?.kind===`jumpTo`)return!1;let n=t.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(e);return(this._inlineEditsShowCollapsedEnabled.read(e)||!n)&&this._jumpedToId.read(e)!==t.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(e)}),this._tabShouldIndent=V(this,e=>{if(this._inAcceptFlow.read(e))return!1;function t(e){return e.startLineNumber!==e.endLineNumber}function n(e,t){let n=e.getLineIndentColumn(t),r=e.getLineLastNonWhitespaceColumn(t);return new w(t,n,t,Math.max(r,n))}return this._editorObs.selections.read(e)?.some(e=>e.isEmpty()?this.textModel.getLineLength(e.startLineNumber)===0:t(e)||e.containsRange(n(this.textModel,e.startLineNumber)))}),this.tabShouldJumpToInlineEdit=V(this,e=>{if(this._tabShouldIndent.read(e))return!1;let t=this.inlineEditState.read(e);return t?t.inlineSuggestion.action?.kind===`jumpTo`||this.showCollapsed.read(e)?!0:this._inAcceptFlow.read(e)&&this._appearedInsideViewport.read(e)?!1:!t.cursorAtInlineEdit.read(e):!1}),this.tabShouldAcceptInlineEdit=V(this,e=>{let t=this.inlineEditState.read(e);return!t||t.inlineSuggestion.action?.kind===`jumpTo`||this.showCollapsed.read(e)||this._tabShouldIndent.read(e)?!1:this._inAcceptFlow.read(e)&&this._appearedInsideViewport.read(e)||t.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(e)||this._jumpedToId.read(e)===t.inlineSuggestion.semanticId?!0:t.cursorAtInlineEdit.read(e)}),this._jumpedToId=ls(this,void 0),this._inAcceptFlow=ls(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(pM,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition,_r.defaultChatAgent?.completionsEnablementSetting)),this.lastTriggerKind=this._source.inlineCompletions.map(this,e=>e?.request?.context.triggerKind),this._editorObs=gs(this._editor);let g=this._editorObs.getOption(134);this._suggestPreviewEnabled=g.map(e=>e.preview),this._suggestPreviewMode=g.map(e=>e.previewMode);let _=this._editorObs.getOption(71);this._inlineSuggestMode=_.map(e=>e.mode),this._suppressedInlineCompletionGroupIds=_.map(e=>new Set(e.experimental.suppressInlineSuggestions.split(`,`))),this._inlineEditsEnabled=_.map(e=>!!e.edits.enabled),this._inlineEditsShowCollapsedEnabled=_.map(e=>e.edits.showCollapsed),this._triggerCommandOnProviderChange=_.map(e=>e.triggerCommandOnProviderChange),this._minShowDelay=_.map(e=>e.minShowDelay),this._showOnSuggestConflict=_.map(e=>e.experimental.showOnSuggestConflict),this._suppressInSnippetMode=_.map(e=>e.suppressInSnippetMode);let v=uA.get(this._editor);this._isInSnippetMode=v?.isInSnippetObservable??qi(!1),h.getDefaultAccount().then(PM(e=>this.sku.set(MM(e),void 0),this._store)),this._register(h.onDidChangeDefaultAccount(e=>this.sku.set(MM(e),void 0))),this._typing=this._register(new xM(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(e=>{e&&this.stop()}));{let e=this.textModel.uri.scheme===ul.vscodeNotebookCell,[t]=this._codeEditorService.listDiffEditors().filter(e=>e.getOriginalEditor().getId()===this._editor.getId()||e.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!t,this.editorType=e?Ij.Notebook:this.isInDiffEditor?Ij.DiffEditor:Ij.TextEditor}this._register(nc(this.state,e=>{e&&e.inlineSuggestion&&this._inlineCompletionsService.reportNewCompletion(e.inlineSuggestion.requestUuid)})),this._register(nc(this._fetchInlineCompletionsPromise)),this._register(Fl(e=>{this._editorObs.versionId.read(e),this._inAcceptFlow.set(!1,void 0)})),this._register(Fl(e=>{this.state.map((e,t)=>!e||e.kind===`inlineEdit`&&!e.cursorAtInlineEdit.read(t)).read(e)&&this._jumpedToId.set(void 0,void 0)})),this._register(Fl(e=>{let t=this.state.map(e=>e?.inlineSuggestion).read(e);t&&t.addPerformanceMarker(`activeSuggestion`)}));let y=this.inlineEditState.map(e=>e?.inlineSuggestion.semanticId);this._register(Fl(e=>{y.read(e)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion})}));let b=ou(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(e));zi(this,b,(e,t)=>{e.onDidChangeInlineCompletions&&t.add(e.onDidChangeInlineCompletions(t=>{if(!this._enabled.get()||(this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}let n=this.state.get();n&&(n.inlineSuggestion||n.edits)&&n.inlineSuggestion?.source.provider!==e||Ps(n=>{this._fetchSpecificProviderSignal.trigger(n,{provider:e,changeHint:t??void 0}),this.trigger(n)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(e){let t=!1,n=!0,r=this?.primaryGhostText.read(e);if(this?._selectedSuggestItem&&r&&r.parts.length>0){let{column:e,lines:i}=r.parts[0],a=i[0].line;if(e<=this.textModel.getLineIndentColumn(r.lineNumber)){let e=al(a);e===-1&&(e=a.length-1),t=e>0;let r=this.textModel.getOptions().tabSize;n=Zt.visibleColumnFromColumn(a,e+1,r)<r}}return{startsWithIndentation:t,startsWithIndentationLessThanTabSize:n}}_getReason(e){return e?.isUndoing?OM.Undo:e?.isRedoing?OM.Redo:this.isAcceptingPartially?OM.AcceptWord:OM.Other}getAvailableProviders(e){let t=this._suppressedInlineCompletionGroupIds.get(),n=e.filter(e=>!(e.groupId&&t.has(e.groupId))),r=new Set;for(let e of n)e.excludesGroupIds?.forEach(e=>r.add(e));let i=[];for(let e of n)e.groupId&&r.has(e.groupId)||i.push(e);return i}async trigger(e,t={}){pd(e,e=>{t.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(e),t.noDelay&&this._noDelaySignal.trigger(e),this._isActive.set(!0,e),t.explicit&&(this._inAcceptFlow.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)),t.provider&&this._fetchSpecificProviderSignal.trigger(e,{provider:t.provider,changeHint:t.changeHint})}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e,t=!1){return this.trigger(e,{onlyFetchInlineEdits:t,explicit:!0})}stop(e=`automatic`,t){pd(t,t=>{if(e===`explicitCancel`){let e=this.state.get()?.inlineSuggestion;e&&e.reportEndOfLife({kind:_n.Rejected})}this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){let n=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),i=r?r.inlineCompletions.filter(e=>!e.isInlineEdit):[this.selectedInlineCompletion.read(t)].filter(Zi);return Zr(i,t=>{let r=t.getSingleTextEdit();return r=NA(r,n,w.fromPositions(r.range.getStartPosition(),e.range.getEndPosition())),PA(r,e)?{completion:t,edit:r}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._inlineCompletionItems.get()||[];if(t.length>0){let n=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[n].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(e,t,n=void 0){return n?ws.inlineCompletionPartialAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t,type:n,correlationId:e.getSourceCompletion().correlationId}):ws.inlineCompletionAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,correlationId:e.getSourceCompletion().correlationId,providerId:e.source.provider.providerId,languageId:t})}async accept(e=this._editor,t=!1){if(e.getModel()!==this.textModel)throw new To;let n,r=!1,i=this.state.get();if(i?.kind===`ghostText`){if(!i||i.primaryGhostText.isEmpty()||!i.inlineSuggestion)return;n=i.inlineSuggestion}else if(i?.kind===`inlineEdit`)n=i.inlineSuggestion,r=!!i.nextEditUri;else return;n.addRef();try{let a=!1;if(e.pushUndoStop(),!n.originalTextRef.targets(this.textModel)){let e=await this._codeEditorService.openCodeEditor({resource:n.originalTextRef.uri},this._editor);if(e){let t=CM(e)?.model.get();e.focus(),t?.transplantCompletion(n),e.revealLineInCenter(n.targetRange.startLineNumber)}}else if(!r&&n.action?.kind===`edit`){let r=n.action;if(t&&r.alternativeAction){a=!0;let e=r.alternativeAction.command;await this._commandService.executeCommand(e.id,...e.arguments||[]).then(void 0,ec)}else if(r.snippetInfo){let t=bf.delete(r.textReplacement.range),i=n.additionalTextEdits.map(e=>new bf(w.lift(e.range),e.text??``)),a=Cs.fromParallelReplacementsUnsorted([t,...i]);e.edit(a,this._getMetadata(n,this.textModel.getLanguageId())),e.setPosition(r.snippetInfo.range.getStartPosition(),`inlineCompletionAccept`),uA.get(e)?.insert(r.snippetInfo.snippet,{undoStopBefore:!1})}else{let t=i.edits,r=t;i.kind===`ghostText`&&(r=vA(t,this.textModel));let a=gA(r).map(e=>J.fromPositions(e)),o=n.additionalTextEdits.map(e=>new bf(w.lift(e.range),e.text??``)),s=Cs.fromParallelReplacementsUnsorted([...t,...o]);if(e.edit(s,this._getMetadata(n,this.textModel.getLanguageId())),n.hint===void 0&&e.setSelections(i.kind===`inlineEdit`?a.slice(-1):a,`inlineCompletionAccept`),i.kind===`inlineEdit`&&!this._accessibilityService.isMotionReduced()){let t=s.getNewRanges(),n=this._store.add(new AM(e,t,()=>{this._store.delete(n)}))}}}this._onDidAccept.fire(),this.stop(),n.command&&await this._commandService.executeCommand(n.command.id,...n.command.arguments||[]).then(void 0,ec),a&&this.trigger(void 0),n.reportEndOfLife({kind:_n.Accepted,alternativeAction:t})}finally{n.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:n}}}async acceptNextWord(){await this._acceptNext(this._editor,`word`,(e,t)=>{let n=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),r=this._languageConfigurationService.getLanguageConfiguration(n),i=new RegExp(r.wordDefinition.source,r.wordDefinition.flags.replace(`g`,``)),a=t.match(i),o=0;o=a&&a.index!==void 0?a.index===0?a[0].length:a.index:t.length;let s=/\s+/g.exec(t);return s&&s.index!==void 0&&s.index+s[0].length<o&&(o=s.index+s[0].length),o},0)}async acceptNextLine(){await this._acceptNext(this._editor,`line`,(e,t)=>{let n=t.match(/\n/);return n&&n.index!==void 0?n.index+1:t.length},1)}async _acceptNext(e,t,n,r){if(e.getModel()!==this.textModel)throw new To;let i=this.inlineCompletionState.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineSuggestion)return;let a=i.primaryGhostText,o=i.inlineSuggestion;if(o.snippetInfo){await this.accept(e);return}let s=a.parts[0],c=new j(a.lineNumber,s.column),l=s.text,u=n(c,l);if(u===l.length&&a.parts.length===1){this.accept(e);return}let d=l.substring(0,u),f=this._positions.get(),p=f[0];o.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let n=w.fromPositions(p,c),r=e.getModel().getValueInRange(n)+d,i=new bf(n,r),a=[i,...kM(this.textModel,f,i)].filter(Zi),s=gA(a).map(e=>J.fromPositions(e));e.edit(Cs.fromParallelReplacementsUnsorted(a),this._getMetadata(o,this.textModel.getLanguageId(),t)),e.setSelections(s,`inlineCompletionPartialAccept`),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),0)}finally{this._isAcceptingPartially=!1}let n=w.fromPositions(o.editRange.getStartPosition(),wa.ofText(d).addToPosition(c)),i=e.getModel().getValueInRange(n,1).length;o.reportPartialAccept(i,{kind:r,acceptedLength:i},{characters:u,ratio:u/l.length,count:1})}finally{o.removeRef()}}handleSuggestAccepted(e){let t=NA(e.getSingleTextEdit(),this.textModel),n=this._computeAugmentation(t,void 0);if(!n)return;let r=this.textModel.getValueInRange(n.completion.editRange,1).length+t.text.length;n.completion.reportPartialAccept(t.text.length,{kind:2,acceptedLength:r},{characters:t.text.length,count:1,ratio:1})}extractReproSample(){return{documentValue:this.textModel.getValue(),inlineCompletion:(this.state.get()?.inlineSuggestion)?.getSourceCompletion()}}jump(){let e=this.inlineEditState.get();if(!e)return;let t=e.inlineSuggestion;if(!t.originalTextRef.targets(this.textModel))this.accept(this._editor);else{t.addRef();try{Ps(n=>{t.action?.kind===`jumpTo`&&(this.stop(void 0,n),t.reportEndOfLife({kind:_n.Accepted,alternativeAction:!1})),this._jumpedToId.set(e.inlineSuggestion.semanticId,n),this.dontRefetchSignal.trigger(n);let r=e.inlineSuggestion.targetRange,i=r.getStartPosition();if(this._editor.setPosition(i,`inlineCompletions.jump`),r.isSingleLine()&&(e.inlineSuggestion.hint||e.inlineSuggestion.action?.kind===`edit`&&!e.inlineSuggestion.action.textReplacement.text.includes(`
|
|
41
|
-
`))||e.inlineSuggestion.action?.kind===`jumpTo`)this._editor.revealPosition(i,0);else{let e=new w(r.startLineNumber-1,1,r.endLineNumber+1,1);this._editor.revealRange(e,0)}e.inlineSuggestion.identity.setJumpTo(n),this._editor.focus()})}finally{t.removeRef()}}}async handleInlineSuggestionShown(e,t,n,r){await e.reportInlineEditShown(this._commandService,t,n,this.textModel,r)}transplantCompletion(e){Ps(t=>{this._source.seedWithCompletion(e,t),this._isActive.set(!0,t),this._inAcceptFlow.set(!0,t),this.dontRefetchSignal.trigger(t)})}};DM=TM([EM(8,W),EM(9,kr),EM(10,Ln),EM(11,jn),EM(12,z),EM(13,$s),EM(14,Jl),EM(15,On)],DM);var OM;(function(e){e[e.Undo=0]=`Undo`,e[e.Redo=1]=`Redo`,e[e.AcceptWord=2]=`AcceptWord`,e[e.Other=3]=`Other`})(OM||={});function kM(e,t,n){if(t.length===1)return[];let r=new Ko(e),i=r.getTransformer(),a=i.getOffset(t[0]),o=t.slice(1).map(e=>i.getOffset(e));n=n.removeCommonPrefixAndSuffix(r);let s=i.getStringReplacement(n),c=s.replaceRange.start-a,l=s.replaceRange.join(li.emptyAt(a)),u=r.getValueOfOffsetRange(l);return o.map(e=>{let t=e+c,n=t+s.replaceRange.length,a=new li(t,n),o=a.join(li.emptyAt(e));if(r.getValueOfOffsetRange(o)!==u)return;let l=new Ac(a,s.newText);return i.getTextReplacement(l)}).filter(Zi)}var AM=class extends K{constructor(e,t,n){super(),n&&this._register({dispose:()=>n()}),this._register(gs(e).setDecorations(qi(t.map(e=>({range:e,options:{description:`animation`,className:`edits-fadeout-decoration`,zIndex:1}})))));let r=new EA(CA.startNow(1,0,1e3,TA));this._register(Fl(t=>{let n=r.getValue(t);e.getContainerDomNode().style.setProperty(`--animation-opacity`,n.toString()),r.isFinished(t)&&this.dispose()}))}};function jM(e,t,n=void 0){let r=t.targetRange;gs(e).scrollTop.read(n);let i=e.getVisibleRanges();return i.length<1?!1:new w(i[0].startLineNumber,i[0].startColumn,i[i.length-1].endLineNumber,i[i.length-1].endColumn).containsRange(r)}function MM(e){if(e?.entitlementsData?.access_type_sku&&e?.entitlementsData?.copilot_plan)return{type:e.entitlementsData.access_type_sku,plan:e.entitlementsData.copilot_plan}}var NM=class{constructor(e){this.handler=e=>this._cb?.(e),this._cb=e}dispose(){this._cb=void 0}};function PM(e,t){let n=new NM(e);return t.add(n),n.handler}var FM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},IM=function(e,t){return function(n,r){t(n,r,e)}},LM,RM=class{constructor(e){this.name=e}select(e,t,n){if(n.length===0)return 0;let r=n[0].score[0];for(let e=0;e<n.length;e++){let{score:t,completion:i}=n[e];if(t[0]!==r)break;if(i.preselect)return e}return 0}},zM=class extends RM{constructor(){super(`first`)}memorize(e,t,n){}toJSON(){}fromJSON(){}},BM=class extends RM{constructor(){super(`recentlyUsed`),this._cache=new Si(300,.66),this._seq=0}memorize(e,t,n){let r=`${e.getLanguageId()}/${n.textLabel}`;this._cache.set(r,{touch:this._seq++,type:n.completion.kind,insertText:n.completion.insertText})}select(e,t,n){if(n.length===0)return 0;let r=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(r))return super.select(e,t,n);let i=n[0].score[0],a=-1,o=-1,s=-1;for(let t=0;t<n.length&&n[t].score[0]===i;t++){let r=`${e.getLanguageId()}/${n[t].textLabel}`,i=this._cache.peek(r);if(i&&i.touch>s&&i.type===n[t].completion.kind&&i.insertText===n[t].completion.insertText&&(s=i.touch,o=t),n[t].completion.preselect&&a===-1)return a=t}return o===-1?a===-1?0:a:o}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(let[t,n]of e)n.touch=0,n.type=typeof n.type==`number`?n.type:Ds.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}},VM=class extends RM{constructor(){super(`recentlyUsedByPrefix`),this._trie=el.forStrings(),this._seq=0}memorize(e,t,n){let{word:r}=e.getWordUntilPosition(t),i=`${e.getLanguageId()}/${r}`;this._trie.set(i,{type:n.completion.kind,insertText:n.completion.insertText,touch:this._seq++})}select(e,t,n){let{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,n);let i=`${e.getLanguageId()}/${r}`,a=this._trie.get(i);if(a||=this._trie.findSubstr(i),a)for(let e=0;e<n.length;e++){let{kind:t,insertText:r}=n[e].completion;if(t===a.type&&r===a.insertText)return e}return super.select(e,t,n)}toJSON(){let e=[];return this._trie.forEach((t,n)=>e.push([n,t])),e.sort((e,t)=>-(e[1].touch-t[1].touch)).forEach((e,t)=>e[1].touch=t),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(let[t,n]of e)n.type=typeof n.type==`number`?n.type:Ds.fromString(n.type),this._trie.set(t,n)}}},HM=class{static{LM=this}static{this._strategyCtors=new Map([[`recentlyUsedByPrefix`,VM],[`recentlyUsed`,BM],[`first`,zM]])}static{this._storagePrefix=`suggest/memories`}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new I,this._persistSoon=new Lr(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===$o.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,n){this._withStrategy(e,t).memorize(e,t,n),this._persistSoon.schedule()}select(e,t,n){return this._withStrategy(e,t).select(e,t,n)}_withStrategy(e,t){let n=this._configService.getValue(`editor.suggestSelection`,{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==n){this._saveState();let e=LM._strategyCtors.get(n)||zM;this._strategy=new e;try{let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=this._storageService.get(`${LM._storagePrefix}/${n}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch{}}return this._strategy}_saveState(){if(this._strategy){let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=JSON.stringify(this._strategy);this._storageService.store(`${LM._storagePrefix}/${this._strategy.name}`,t,e,1)}}};HM=LM=FM([IM(0,kc),IM(1,Wi)],HM);var UM=nu(`ISuggestMemories`);_o(UM,HM,1);var WM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},GM=function(e,t){return function(n,r){t(n,r,e)}},KM,qM=class{static{KM=this}static{this.AtEnd=new M(`atEndOfWord`,!1,{type:`boolean`,description:S(1568,`A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled`)})}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=KM.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){let e=this._editor.getOption(139)===`on`;if(this._enabled!==e){if(this._enabled=e,this._enabled){let e=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());n?this._ckAtEnd.set(n.endColumn===t.getStartPosition().column&&t.getStartPosition().lineNumber===t.getEndPosition().lineNumber):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&=(this._ckAtEnd.reset(),this._selectionListener.dispose(),void 0)}}};qM=KM=WM([GM(1,Ra)],qM);var JM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YM=function(e,t){return function(n,r){t(n,r,e)}},XM,ZM=class{static{XM=this}static{this.OtherSuggestions=new M(`hasOtherSuggestions`,!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=XM.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){e.items.length===0||XM._moveIndex(!0,e,t)===t?this.reset():(this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0))}static _moveIndex(e,t,n){let r=n;for(let i=t.items.length;i>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,r!==n&&t.items[r].completion.additionalTextEdits);i--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=XM._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};ZM=XM=JM([YM(1,Ra)],ZM);var QM=class{constructor(e,t,n,r){this._disposables=new I,this._disposables.add(n.onDidSuggest(e=>{e.completionModel.items.length===0&&this.reset()})),this._disposables.add(n.onDidCancel(e=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(i=>{if(this._active&&!t.isFrozen()&&n.state!==0){let t=i.charCodeAt(i.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!ku(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;let t=new Yn;for(let n of e.item.completion.commitCharacters)n.length>0&&t.add(n.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}},$M=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}},eN=class e{constructor(t,n,r,i,a,o,s=At.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=i,this._options=a,this._refilterKind=1,this._lineContext=r,this._fuzzyScoreOptions=s,o===`top`?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:o===`bottom`&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();let e=new Set;for(let[t,n]of this.getItemsByProvider())n.length>0&&n[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;let e=[],{leadingLineContent:t,characterCountDelta:n}=this._lineContext,r=``,i=``,a=this._refilterKind===1?this._items:this._filteredItems,o=[],s=!this._options.filterGraceful||a.length>2e3?Fa:io;for(let c=0;c<a.length;c++){let l=a[c];if(l.isInvalid)continue;let u=this._itemsByProvider.get(l.provider);u?u.push(l):this._itemsByProvider.set(l.provider,[l]);let d=l.position.column-l.editStart.column,f=d+n-(l.position.column-this._column);if(r.length!==f&&(r=f===0?``:t.slice(-f),i=r.toLowerCase()),l.word=r,f===0)l.score=Uf.Default;else{let e=0;for(;e<d;){let t=r.charCodeAt(e);if(t===32||t===9)e+=1;else break}if(e>=f)l.score=Uf.Default;else if(typeof l.completion.filterText==`string`){let t=s(r,i,e,l.completion.filterText,l.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;cc(l.completion.filterText,l.textLabel)===0?l.score=t:(l.score=qa(r,i,e,l.textLabel,l.labelLow,0),l.score[0]=t[0])}else{let t=s(r,i,e,l.textLabel,l.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;l.score=t}}l.idx=c,l.distance=this._wordDistance.distance(l.position,l.completion),o.push(l),e.push(l.textLabel.length)}this._filteredItems=o.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Ec(e.length-.85,e,(e,t)=>e-t):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:+(e.idx>t.idx)}static _compareCompletionItemsSnippetsDown(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return 1;if(n.completion.kind===28)return-1}return e._compareCompletionItems(t,n)}static _compareCompletionItemsSnippetsUp(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return-1;if(n.completion.kind===28)return 1}return e._compareCompletionItems(t,n)}},tN=class e{async provideSelectionRanges(t,n){let r=[];for(let i of n){let n=[];r.push(n);let a=new Map;await new Promise(n=>e._bracketsRightYield(n,0,t,i,a)),await new Promise(r=>e._bracketsLeftYield(r,0,t,i,a,n))}return r}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(t,n,r,i,a){let o=new Map,s=Date.now();for(;;){if(n>=e._maxRounds||!i){t();break}let c=r.bracketPairs.findNextBracket(i);if(!c){t();break}if(Date.now()-s>e._maxDuration){setTimeout(()=>e._bracketsRightYield(t,n+1,r,i,a));break}if(c.bracketInfo.isOpeningBracket){let e=c.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{let e=c.bracketInfo.getOpeningBrackets()[0].bracketText,t=o.has(e)?o.get(e):0;if(--t,o.set(e,Math.max(0,t)),t<0){let t=a.get(e);t||(t=new Ml,a.set(e,t)),t.push(c.range)}}i=c.range.getEndPosition()}}static _bracketsLeftYield(t,n,r,i,a,o){let s=new Map,c=Date.now();for(;;){if(n>=e._maxRounds&&a.size===0||!i){t();break}let l=r.bracketPairs.findPrevBracket(i);if(!l){t();break}if(Date.now()-c>e._maxDuration){setTimeout(()=>e._bracketsLeftYield(t,n+1,r,i,a,o));break}if(l.bracketInfo.isOpeningBracket){let t=l.bracketInfo.bracketText,n=s.has(t)?s.get(t):0;if(--n,s.set(t,Math.max(0,n)),n<0){let n=a.get(t);if(n){let i=n.shift();n.size===0&&a.delete(t);let s=w.fromPositions(l.range.getEndPosition(),i.getStartPosition()),c=w.fromPositions(l.range.getStartPosition(),i.getEndPosition());o.push({range:s}),o.push({range:c}),e._addBracketLeading(r,c,o)}}}else{let e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}i=l.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;let r=t.startLineNumber,i=e.getLineFirstNonWhitespaceColumn(r);i!==0&&i!==t.startColumn&&(n.push({range:w.fromPositions(new j(r,i),t.getEndPosition())}),n.push({range:w.fromPositions(new j(r,1),t.getEndPosition())}));let a=r-1;if(a>0){let r=e.getLineFirstNonWhitespaceColumn(a);r===t.startColumn&&r!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:w.fromPositions(new j(a,r),t.getEndPosition())}),n.push({range:w.fromPositions(new j(a,1),t.getEndPosition())}))}}},nN=class e{static{this.None=new class extends e{distance(){return 0}}}static async create(t,n){if(!n.getOption(134).localityBonus||!n.hasModel())return e.None;let r=n.getModel(),i=n.getPosition();if(!t.canComputeWordRanges(r.uri))return e.None;let[a]=await new tN().provideSelectionRanges(r,[i]);if(a.length===0)return e.None;let o=await t.computeWordRanges(r.uri,a[0].range);if(!o)return e.None;let s=r.getWordUntilPosition(i);return delete o[s.word],new class extends e{distance(e,t){if(!i.equals(n.getPosition()))return 0;if(t.kind===17)return 2<<20;let r=typeof t.label==`string`?t.label:t.label.label,s=o[r];if(pc(s))return 2<<20;let c=Qu(s,w.fromPositions(e),w.compareRangesUsingStarts),l=c>=0?s[c]:s[Math.max(0,~c-1)],u=a.length;for(let e of a){if(!w.containsRange(e.range,l))break;--u}return u}}}},rN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iN=function(e,t){return function(n,r){t(n,r,e)}},aN,oN=class{static shouldAutoTrigger(e){if(!e.hasModel())return!1;let t=e.getModel(),n=e.getPosition();t.tokenization.tokenizeIfCheap(n.lineNumber);let r=t.getWordAtPosition(n);return!(!r||r.endColumn!==n.column&&r.startColumn+1!==n.column||!isNaN(Number(r.word)))}constructor(e,t,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=n}};function sN(e,t,n){if(!t.getContextKeyValue(qO.inlineSuggestionVisible.key))return!0;let r=t.getContextKeyValue(qO.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}function cN(e,t,n){if(!t.getContextKeyValue(`inlineSuggestionVisible`))return!0;let r=t.getContextKeyValue(qO.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}var lN=aN=class{constructor(e,t,n,r,i,a,o,s,c){this._editor=e,this._editorWorkerService=t,this._clipboardService=n,this._telemetryService=r,this._logService=i,this._contextKeyService=a,this._configurationService=o,this._languageFeaturesService=s,this._envService=c,this._toDispose=new I,this._triggerCharacterListener=new I,this._triggerQuickSuggest=new $i,this._triggerState=void 0,this._completionDisposables=new I,this._onDidCancel=new P,this._onDidTrigger=new P,this._onDidSuggest=new P,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new J(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let l=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{l=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{l=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{l||this._onCursorChange(e)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!l&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Lc(this._triggerCharacterListener),Lc([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._waitForInlineCompletions?.dispose(),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(104)||!this._editor.hasModel()||!this._editor.getOption(137))return;let e=new Map;for(let t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let n of t.triggerCharacters||[]){let r=e.get(n);r||(r=new Set,e.set(n,r)),r.add(t)}let t=t=>{if(!cN(this._editor,this._contextKeyService,this._configurationService)||oN.shouldAutoTrigger(this._editor))return;if(!t){let e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let n=``;Vd(t.charCodeAt(t.length-1))?Bl(t.charCodeAt(t.length-2))&&(n=t.substr(t.length-2)):n=t.charAt(t.length-1);let r=e.get(n);if(r){let e=new Map;if(this._completionModel)for(let[t,n]of this._completionModel.getItemsByProvider())r.has(t)||e.set(t,n);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:r,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){this._triggerQuickSuggest.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerState!==void 0&&(this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;let t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!==`keyboard`&&e.source!==`deleteLeft`?this.cancel():this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){KO.isAllOff(this._editor.getOption(102))||this._editor.getOption(134).snippetsPreventQuickSuggestions&&uA.get(this._editor)?.isInSnippet()||(this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!oN.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(102);if(KO.isAllOff(n))return;let r=!1;if(!KO.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);let i=e.tokenization.getLineTokens(t.lineNumber),a=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(t.column-1-1,0))),o=KO.valueFor(n,a);if(o===`off`||o===`inline`)return;o===`offWhenInlineCompletions`&&(r=this._languageFeaturesService.inlineCompletionsProvider.has(e)&&this._editor.getOption(71).enabled)}sN(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&(r?this._waitForInlineCompletionsAndTrigger(e,t):this.trigger({auto:!0}))},this._editor.getOption(103)))}_waitForInlineCompletionsAndTrigger(e,t){let n=e.getVersionId(),r=CM(this._editor),i=r?.model.get();if(!r||!i){this.trigger({auto:!0});return}if(i.state.get()?.inlineSuggestion)return;let a=new I;this._waitForInlineCompletions=a;let o=r=>{if(a.dispose(),this._waitForInlineCompletions===a&&(this._waitForInlineCompletions=void 0),this._triggerState!==void 0||!r)return;let i=this._editor.getModel(),o=this._editor.getPosition();i===e&&i.getVersionId()===n&&o?.equals(t)&&this._editor.hasWidgetFocus()&&this.trigger({auto:!0})};Ka(()=>{o(!0),i.stop(`automatic`)},750,a),hc(a,e=>{if(r.model.read(e)!==i){e.dispose(),o(!1);return}let t=i.status.read(e),n=i.state.read(e);(n||t!==`loading`)&&(e.dispose(),o(!n))})}_refilterCompletionItems(){tr(this._editor.hasModel()),tr(this._triggerState!==void 0);let e=new oN(this._editor.getModel(),this._editor.getPosition(),{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=new oN(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=n;let r={triggerKind:e.triggerKind??0};e.triggerCharacter&&(r={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new No;let i=this._editor.getOption(128),a=1;switch(i){case`top`:a=0;break;case`bottom`:a=2}let{itemKind:o,showDeprecated:s}=aN.createSuggestFilter(this._editor),c=new LO(a,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,s),l=nN.create(this._editorWorkerService,this._editor),u=zO(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),c,r,this._requestToken.token);Promise.all([u,l]).then(async([t,n])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){t.disposable.dispose();return}let r=e?.clipboardText;if(!r&&t.needsClipboard&&(r=await this._clipboardService.readText()),this._triggerState===void 0){t.disposable.dispose();return}let i=new oN(this._editor.getModel(),this._editor.getPosition(),e),a={...At.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new eN(t.items,this._context.column,{leadingLineContent:i.leadingLineContent,characterCountDelta:i.column-this._context.column},n,this._editor.getOption(134),this._editor.getOption(128),a,r),this._completionDisposables.add(t.disposable),this._onNewContext(i),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(let e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)}).catch(at)}_reportDurationsTelemetry(e){Math.random()>1e-4||setTimeout(()=>{this._telemetryService.publicLog2(`suggest.durations.json`,{data:JSON.stringify(e)}),this._logService.debug(`suggest.durations.json`,e)})}static createSuggestFilter(e){let t=new Set;e.getOption(128)===`none`&&t.add(28);let n=e.getOption(134);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(28),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber)this.cancel();else if(wu(e.leadingLineContent)!==wu(this._context.leadingLineContent))this.cancel();else if(e.column<this._context.column)e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();else if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(oN.shouldAutoTrigger(this._editor)&&this._context){let e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){let e=new Map,t=new Set;for(let[n,r]of this._completionModel.getItemsByProvider())r.length>0&&r[0].container.incomplete?t.add(n):e.set(n,r);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{let t=this._completionModel.lineContext,n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){let r=oN.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto||(this._completionModel.lineContext=t,n=this._completionModel.items.length>0,n&&e.leadingWord.word.length===0)){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}}}};lN=aN=rN([iN(1,dr),iN(2,us),iN(3,St),iN(4,Pu),iN(5,Ra),iN(6,Wi),iN(7,z),iN(8,gc)],lN);var uN=class e{static{this._maxSelectionLength=51200}constructor(t,n){this._disposables=new I,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType(()=>{if(this._locked||!t.hasModel())return;let n=t.getSelections(),r=n.length,i=!1;for(let e=0;e<r;e++)if(!n[e].isEmpty()){i=!0;break}if(!i){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];let a=t.getModel();for(let t=0;t<r;t++){let r=n[t];if(a.getValueLengthInRange(r)>e._maxSelectionLength)return;this._lastOvertyped[t]={value:a.getValueInRange(r),multiline:r.startLineNumber!==r.endLineNumber}}})),this._disposables.add(n.onDidTrigger(e=>{this._locked=!0})),this._disposables.add(n.onDidCancel(e=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}},dN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fN=function(e,t){return function(n,r){t(n,r,e)}},pN=class{constructor(e,t,n,r,i,a){this._menuId=t,this._menuService=i,this._contextKeyService=a,this._menuDisposables=new I,this.element=q(e,N(`.suggest-status-bar`));let o=(e=>n?.showIconsNoKeybindings?e instanceof Pi?r.createInstance(ia,e,void 0):void 0:e instanceof Pi?r.createInstance(qf,e,{useComma:!1}):void 0);this._leftActions=new Hr(this.element,{actionViewItemProvider:o}),this._rightActions=new Hr(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add(`left`),this._rightActions.domNode.classList.add(`right`)}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){let e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{let t=[],n=[];for(let[r,i]of e.getActions())r===`left`?t.push(...i):n.push(...i);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};pN=dN([fN(3,W),fN(4,$r),fN(5,Ra)],pN);var mN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hN=function(e,t){return function(n,r){t(n,r,e)}};function gN(e){return!!e&&!!(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}var _N=class{constructor(e,t,n){this._editor=e,this._themeService=t,this._markdownRendererService=n,this._onDidClose=new P,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new P,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new I,this._renderDisposeable=new I,this._size=new hu(330,0),this.domNode=N(`.suggest-details`),this.domNode.classList.add(`no-docs`),this._body=N(`.body`),this._scrollbar=new la(this._body,{alwaysConsumeMouseWheel:!0}),q(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=q(this._body,N(`.header`)),this._close=q(this._header,N(`span`+H.asCSSSelector(A.close))),this._close.title=S(1563,`Close`),this._close.ariaLabel=S(1564,`Close`),this._close.role=`button`,this._close.tabIndex=-1,this._type=q(this._header,N(`p.type`)),this._docs=q(this._body,N(`p.docs`)),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){let e=this._editor.getOptions(),t=e.get(59),n=t.getMassagedFontFamily(),r=e.get(135)||t.fontSize,i=e.get(136)||t.lineHeight,a=t.fontWeight,o=`${r}px`,s=`${i}px`;this.domNode.style.fontSize=o,this.domNode.style.lineHeight=`${i/r}`,this.domNode.style.fontWeight=a,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=s,this._close.style.width=s}getLayoutInfo(){let e=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,t=_t(this._themeService.getColorTheme().type)?2:1;return{lineHeight:e,borderWidth:t,borderHeight:t*2,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=S(1565,`Loading...`),this._docs.textContent=``,this.domNode.classList.remove(`no-docs`,`no-type`),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:n,documentation:r}=e.completion;if(t){let t=``;t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??`(no prefix)`}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+` (filterText)`:e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||`label`}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join(``)}\n`,r=new ji().appendCodeblock(`empty`,t),n=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!gN(e))this.clearContents();else{if(this.domNode.classList.remove(`no-docs`,`no-type`),n){let e=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=e,this._type.title=e,Cr(this._type),this._type.classList.toggle(`auto-wrap`,!/\r?\n^\s+/gim.test(e))}else Df(this._type),this._type.title=``,ii(this._type),this.domNode.classList.add(`no-type`);if(Df(this._docs),typeof r==`string`)this._docs.classList.remove(`markdown-docs`),this._docs.textContent=r;else if(r){this._docs.classList.add(`markdown-docs`),Df(this._docs);let e=this._markdownRendererService.render(r,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(e.element),this._renderDisposeable.add(e)}this.domNode.classList.toggle(`detail-and-doc`,!!n&&!!r),this.domNode.style.userSelect=`text`,this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}}clearContents(){this.domNode.classList.add(`no-docs`),this._type.textContent=``,this._docs.textContent=``}get isEmpty(){return this.domNode.classList.contains(`no-docs`)}get size(){return this._size}layout(e,t){let n=new hu(e,t);hu.equals(n,this._size)||(this._size=n,zu(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};_N=mN([hN(1,Xn),hN(2,Ca)],_N);var vN=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new I,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new pv,this._resizable.domNode.classList.add(`suggest-details-container`),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n,r,i=0,a=0;this._disposables.add(this._resizable.onDidWillResize(()=>{n=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(e=>{if(n&&r){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(a=r.width-e.dimension.width,t=!0),e.north&&(i=r.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:n.top+i,left:n.left+a})}e.done&&(n=void 0,r=void 0,i=0,a=0,this._userSize=e.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return`suggest.details`}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||=(this._editor.addOverlayWidget(this),!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){let n=e.getBoundingClientRect();this._anchorBox=n,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,n){let r=Lt(this.getDomNode().ownerDocument.body),i=this.widget.getLayoutInfo(),a=new hu(220,2*i.lineHeight),o=e.top,s=(function(){let n=r.width-(e.left+e.width+i.borderWidth+i.horizontalPadding),s=-i.borderWidth+e.left+e.width,c=new hu(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),c=(function(){let n=e.left-i.borderWidth-i.horizontalPadding,s=Math.max(i.horizontalPadding,e.left-t.width-i.borderWidth),c=new hu(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),l=(function(){let n=e.left,o=-i.borderWidth+e.top+e.height,s=new hu(e.width-i.borderHeight,r.height-e.top-e.height-i.verticalPadding);return{top:o,left:n,fit:s.height-t.height,maxSizeBottom:s,maxSizeTop:s,minSize:a.with(s.width)}})(),u=(function(){let n=e.left,r=new hu(e.width-i.borderHeight,e.top-i.verticalPadding);return{top:Math.max(i.verticalPadding,e.top-t.height),left:n,fit:r.height-t.height,maxSizeTop:r,maxSizeBottom:r,minSize:a.with(r.width)}})(),d=[s,c,n?l:u],f=d.find(e=>e.fit>=0)??d.sort((e,t)=>t.fit-e.fit)[0],p=e.top+e.height-i.borderHeight,m,h=t.height,g=Math.max(f.maxSizeTop.height,f.maxSizeBottom.height);h>g&&(h=g);let _;n?h<=f.maxSizeTop.height?(m=!0,_=f.maxSizeTop):(m=!1,_=f.maxSizeBottom):h<=f.maxSizeBottom.height?(m=!1,_=f.maxSizeBottom):(m=!0,_=f.maxSizeTop);let{top:v,left:y}=f;f===u?v=e.top-h+i.borderWidth:!m&&h>e.height&&(v=p-h);let b=this._editor.getDomNode();if(b){let e=b.getBoundingClientRect();v-=e.top,y-=e.left}this._applyTopLeft({left:y,top:v}),f===u?this._resizable.enableSashes(!0,!1,!1,!0):this._resizable.enableSashes(!m,f===s,m,f!==s),this._resizable.minSize=f.minSize,this._resizable.maxSize=_,this._resizable.layout(h,Math.min(_.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}},yN=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function bN(e,t,n,r,i){if(H.isThemeIcon(i))return[`codicon-${i.id}`,`predefined-file-icon`];if(Qn.isUri(i))return[];let a=r===uD.ROOT_FOLDER?[`rootfolder-icon`]:r===uD.FOLDER?[`folder-icon`]:[`file-icon`];if(n){let i;if(n.scheme===ul.data)i=ns.parseMetaData(n).get(ns.META_DATA_LABEL);else{let e=n.path.match(yN);e?(i=SN(e[2].toLowerCase()),e[1]&&a.push(`${SN(e[1].toLowerCase())}-name-dir-icon`)):i=SN(n.authority.toLowerCase())}if(r===uD.ROOT_FOLDER)a.push(`${i}-root-name-folder-icon`);else if(r===uD.FOLDER)a.push(`${i}-name-folder-icon`);else{if(i){if(a.push(`${i}-name-file-icon`),a.push(`name-file-icon`),i.length<=255){let e=i.split(`.`);for(let t=1;t<e.length;t++)a.push(`${e.slice(t).join(`.`)}-ext-file-icon`)}a.push(`ext-file-icon`)}let r=xN(e,t,n);r&&a.push(`${SN(r)}-lang-file-icon`)}}return a}function xN(e,t,n){if(!n)return null;let r=null;if(n.scheme===ul.data){let e=ns.parseMetaData(n).get(ns.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{let t=e.getModel(n);t&&(r=t.getLanguageId())}return r&&r!==`plaintext`?r:t.guessLanguageIdByFilepathOrFirstLine(n)}function SN(e){return e.replace(/[\s]/g,`/`)}var CN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wN=function(e,t){return function(n,r){t(n,r,e)}},TN=Mr(`suggest-more-info`,A.chevronRight,S(1566,`Icon for more information in the suggest widget.`)),EN=new class e{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=RegExp(`^${e._regexRelaxed.source}$`,`i`)}extract(t,n){if(t.textLabel.match(e._regexStrict))return n[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return n[0]=t.completion.detail,!0;if(t.completion.documentation){let r=typeof t.completion.documentation==`string`?t.completion.documentation:t.completion.documentation.value,i=e._regexRelaxed.exec(r);if(i&&(i.index===0||i.index+i[0].length===r.length))return n[0]=i[0],!0}return!1}},DN=class{constructor(e,t,n,r){this._editor=e,this._modelService=t,this._languageService=n,this._themeService=r,this._onDidToggleDetails=new P,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId=`suggestion`}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){let t=new I,n=e;n.classList.add(`show-file-icons`);let r=q(e,N(`.icon`)),i=q(r,N(`span.colorspan`)),a=q(e,N(`.contents`)),o=q(a,N(`.main`)),s=q(o,N(`.icon-label.codicon`)),c=q(o,N(`span.left`)),l=q(o,N(`span.right`)),u=new Va(c,{supportHighlights:!0,supportIcons:!0});t.add(u);let d=q(c,N(`span.signature-label`)),f=q(c,N(`span.qualifier-label`)),p=q(l,N(`span.details-label`)),m=q(l,N(`span.readMore`+H.asCSSSelector(TN)));return m.title=S(1567,`Read More`),{root:n,left:c,right:l,icon:r,colorspan:i,iconLabel:u,iconContainer:s,parametersLabel:d,qualifierLabel:f,detailsLabel:p,readMore:m,disposables:t,configureFont:()=>{let e=this._editor.getOptions(),t=e.get(59),i=t.getMassagedFontFamily(),a=t.fontFeatureSettings,s=t.fontVariationSettings,c=e.get(135)||t.fontSize,l=e.get(136)||t.lineHeight,u=t.fontWeight,d=t.letterSpacing,f=`${c}px`,p=`${l}px`,h=`${d}px`;n.style.fontSize=f,n.style.fontWeight=u,n.style.letterSpacing=h,o.style.fontFamily=i,o.style.fontFeatureSettings=a,o.style.fontVariationSettings=s,o.style.lineHeight=p,r.style.height=p,r.style.width=p,m.style.height=p,m.style.width=p}}}renderElement(e,t,n){n.configureFont();let{completion:r}=e;n.colorspan.style.backgroundColor=``;let i={labelEscapeNewLines:!0,matches:Jn(e.score)},a=[];if(r.kind===19&&EN.extract(e,a))n.icon.className=`icon customcolor`,n.iconContainer.className=`icon hide`,n.colorspan.style.backgroundColor=a[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`;let t=bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:e.textLabel}),uD.FILE),a=bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:r.detail}),uD.FILE);i.extraClasses=t.length>a.length?t:a}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`,i.extraClasses=[bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:e.textLabel}),uD.FOLDER),bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:r.detail}),uD.FOLDER)].flat()):(n.icon.className=`icon hide`,n.iconContainer.className=``,n.iconContainer.classList.add(`suggest-icon`,...H.asClassNameArray(Ds.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(i.extraClasses=(i.extraClasses||[]).concat([`deprecated`]),i.matches=[]),n.iconLabel.setLabel(e.textLabel,void 0,i),typeof r.label==`string`?(n.parametersLabel.textContent=``,n.detailsLabel.textContent=ON(r.detail||``),n.root.classList.add(`string-label`)):(n.parametersLabel.textContent=ON(r.label.detail||``),n.detailsLabel.textContent=ON(r.label.description||``),n.root.classList.remove(`string-label`)),this._editor.getOption(134).showInlineDetails?Cr(n.detailsLabel):ii(n.detailsLabel),gN(e)?(n.right.classList.add(`can-expand-details`),Cr(n.readMore),n.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},n.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(n.right.classList.remove(`can-expand-details`),ii(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};DN=CN([wN(1,dt),wN(2,Vo),wN(3,Xn)],DN);function ON(e){return e.replace(/\r\n|\r|\n/g,``)}var kN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},AN=function(e,t){return function(n,r){t(n,r,e)}},jN,MN=k(`editorSuggestWidget.background`,It,S(1545,`Background color of the suggest widget.`));k(`editorSuggestWidget.border`,tf,S(1546,`Border color of the suggest widget.`));var NN=k(`editorSuggestWidget.foreground`,cd,S(1547,`Foreground color of the suggest widget.`)),PN=k(`editorSuggestWidget.selectedForeground`,{dark:ki,light:ki,hcDark:MN,hcLight:MN},S(1548,`Foreground color of the selected entry in the suggest widget.`));k(`editorSuggestWidget.selectedIconForeground`,{dark:Sn,light:Sn,hcDark:MN,hcLight:MN},S(1549,`Icon foreground color of the selected entry in the suggest widget.`));var FN=k(`editorSuggestWidget.selectedBackground`,{dark:oi,light:oi,hcDark:NN,hcLight:NN},S(1550,`Background color of the selected entry in the suggest widget.`)),IN=k(`editorSuggestWidget.focusOutline`,ht,S(1551,`Outline color of the focused (keyboard-navigated) entry in the suggest widget.`));k(`editorSuggestWidget.highlightForeground`,Tr,S(1552,`Color of the match highlights in the suggest widget.`)),k(`editorSuggestWidget.focusHighlightForeground`,{dark:Pn,light:Pn,hcDark:PN,hcLight:PN},S(1553,`Color of the match highlights in the suggest widget when an item is focused.`)),k(`editorSuggestWidgetStatus.foreground`,Rf(NN,.5),S(1554,`Foreground color of the suggest widget status.`));var LN=class{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Xb}`}restore(){let e=this._service.get(this._key,0)??``;try{let t=JSON.parse(e);if(hu.is(t))return hu.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}},RN=class{static{jN=this}static{this.LOADING_MESSAGE=S(1555,`Loading...`)}static{this.NO_SUGGESTIONS_MESSAGE=S(1556,`No suggestions.`)}constructor(e,t,n,r,i){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._loadingTimeout=new fc,this._pendingLayout=new fc,this._pendingShowDetails=new fc,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new $i,this._disposables=new I,this._onDidSelect=new ud,this._onDidFocus=new ud,this._onDidHide=new P,this._onDidShow=new P,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new P,this.element=new pv,this.element.domNode.classList.add(`editor-widget`,`suggest-widget`),this._contentWidget=new zN(this,e),this._persistedSize=new LN(t,e);class a{constructor(e,t,n=!1,r=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=n,this.persistWidth=r}}let o;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),o=new a(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(e=>{if(this._resize(e.dimension.width,e.dimension.height),o&&(o.persistHeight=o.persistHeight||!!e.north||!!e.south,o.persistWidth=o.persistWidth||!!e.east||!!e.west),e.done){if(o){let{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),n=Math.round(e/2),{width:r,height:i}=this.element.size;(!o.persistHeight||Math.abs(o.currentSize.height-i)<=n)&&(i=o.persistedSize?.height??t.height),(!o.persistWidth||Math.abs(o.currentSize.width-r)<=n)&&(r=o.persistedSize?.width??t.width),this._persistedSize.store(new hu(r,i))}this._contentWidget.unlockPreference(),o=void 0}})),this._messageElement=q(this.element.domNode,N(`.message`)),this._listElement=q(this.element.domNode,N(`.tree`));let s=this._disposables.add(i.createInstance(_N,this.editor));s.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new vN(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 u=i.createInstance(DN,this.editor);this._disposables.add(u),this._disposables.add(u.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Wo(`SuggestWidget`,this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>`suggestion`},[u],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>Xt?`listitem`:`option`,getWidgetAriaLabel:()=>S(1557,`Suggest`),getWidgetRole:()=>`listbox`,getAriaLabel:e=>{let t=e.textLabel,n=Ds.toLabel(e.completion.kind);if(typeof e.completion.label!=`string`){let{detail:r,description:i}=e.completion.label;r&&i?t=S(1558,`{0} {1}, {2}, {3}`,t,r,i,n):r?t=S(1559,`{0} {1}, {2}`,t,r,n):i&&(t=S(1560,`{0}, {1}, {2}`,t,i,n))}else t=S(1561,`{0}, {1}`,t,n);if(!e.isResolved||!this._isDetailsVisible())return t;let{documentation:r,detail:i}=e.completion,a=hs(`{0}{1}`,i||``,r?typeof r==`string`?r:r.value:``);return S(1562,`{0}, docs: {1}`,t,a)}}}),this._list.style(br({listInactiveFocusBackground:FN,listInactiveFocusOutline:IN})),this._status=i.createInstance(pN,this.element.domNode,FO,void 0);let d=()=>this.element.domNode.classList.toggle(`with-status-bar`,this.editor.getOption(134).showStatusBar);d(),this._disposables.add(this._list.onMouseDown(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onTap(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onDidChangeSelection(e=>this._onListSelection(e))),this._disposables.add(this._list.onDidChangeFocus(e=>this._onListFocus(e))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(e=>{e.hasChanged(134)&&(d(),c(),l()),this._completionModel&&(e.hasChanged(59)||e.hasChanged(135)||e.hasChanged(136))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=$.Visible.bindTo(n),this._ctxSuggestWidgetDetailsVisible=$.DetailsVisible.bindTo(n),this._ctxSuggestWidgetMultipleSuggestions=$.MultipleSuggestions.bindTo(n),this._ctxSuggestWidgetHasFocusedSuggestion=$.HasFocusedSuggestion.bindTo(n),this._ctxSuggestWidgetDetailsFocused=$.DetailsFocused.bindTo(n);let f=fr(this._details.widget.domNode);this._disposables.add(f),this._disposables.add(f.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(f.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(Jo(this._details.widget.domNode,`keydown`,e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidHide.dispose(),this._onDidShow.dispose(),this._onDetailsKeydown.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){e.element!==void 0&&e.index!==void 0&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){let n=this._completionModel;n&&(this._onDidSelect.fire({item:e,index:t,model:n}),this.editor.focus())}_onListFocus(e){if(this._ignoreFocusEvents)return;if(this._state===5&&this._setState(3),!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);let t=e.elements[0],n=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(n),this._currentSuggestionDetails=kt(async e=>{let n=Ka(()=>{this._isDetailsVisible()&&this._showDetails(!0,!1)},250),r=e.onCancellationRequested(()=>n.dispose());try{return await t.resolve(e)}finally{n.dispose(),r.dispose()}}),this._currentSuggestionDetails.then(()=>{n>=this._list.length||t!==this._list.element(n)||(this._ignoreFocusEvents=!0,this._list.splice(n,1,[t]),this._list.setFocus([n]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this._showDetails(!1,!1):this.element.domNode.classList.remove(`docs-side`),this.editor.setAriaOptions({activeDescendant:this._list.getElementID(n)}))}).catch(at)),this._onDidFocus.fire({item:t,index:n,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle(`frozen`,e===4),this.element.domNode.classList.remove(`message`),e){case 0:ii(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=jN.LOADING_MESSAGE,ii(this._listElement,this._status.element),Cr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uo(jN.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add(`message`),this._messageElement.textContent=jN.NO_SUGGESTIONS_MESSAGE,ii(this._listElement,this._status.element),Cr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uo(jN.NO_SUGGESTIONS_MESSAGE);break;case 3:ii(this._messageElement),Cr(this._listElement,this._status.element),this._show();break;case 4:ii(this._messageElement),Cr(this._listElement,this._status.element),this._show();break;case 5:ii(this._messageElement),Cr(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add(`visible`),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout.value=Ka(()=>this._setState(1),t)))}showSuggestions(e,t,n,r,i){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&this._state!==2&&this._state!==0){this._setState(4);return}let a=this._completionModel.items.length,o=a===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(a>1),o)this._setState(r?0:2),this._completionModel=void 0;else{this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0,t===0?0:this.getLayoutInfo().itemHeight*.33),this._list.setFocus(i?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Wn(cl(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove(`focused`)})}}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._list.setFocus(this._list.getFocus()),this._setState(3)):this._state===3&&(this._setState(5),this._isDetailsVisible()?this._details.widget.focus():this.toggleDetails(!0))}toggleDetails(e=!1){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove(`shows-details`)):(gN(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this._showDetails(!1,e))}_showDetails(e,t){this._pendingShowDetails.value=Wn(cl(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let n=!1;e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add(`shows-details`),t&&(this._details.widget.focus(),n=!0)),n||this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this._showDetails(!1,!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout.clear(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();let e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){e===null?this._isDetailsVisible()&&this._details.hide():this._state!==2&&this._state!==1&&(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){if(!this.editor.hasModel()||!this.editor.getDomNode())return;let t=Lt(this.element.domNode.ownerDocument.body),n=this.getLayoutInfo();e||=n.defaultSize;let r=e.height,i=e.width;if(this._status.element.style.height=`${n.itemHeight}px`,this._state===2||this._state===1)r=n.itemHeight+n.borderHeight,i=n.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new hu(i,r),this._contentWidget.setPreference(2);else{let a=t.width-n.borderHeight-2*n.horizontalPadding;i>a&&(i=a);let o=this._completionModel?this._completionModel.stats.pLabelLen*n.typicalHalfwidthCharacterWidth:i;if(this.editor.getOption(134).fitWidthToDetails&&this._completionModel&&!this._persistedSize.restore()){let e=Math.min(a,this.editor.getLayoutInfo().width),t=Math.min(e,this._measureContentWidth(n));i=Math.max(i,t),o=Math.max(o,t)}let s=n.statusBarHeight+this._list.contentHeight+n.borderHeight,c=n.itemHeight+n.statusBarHeight,l=ya(this.editor.getDomNode()),u=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),d=l.top+u.top+u.height,f=Math.min(t.height-d-n.verticalPadding,s),p=l.top+u.top-n.verticalPadding,m=Math.min(p,s),h=Math.min(Math.max(m,f)+n.borderHeight,s);r===this._cappedHeight?.capped&&(r=this._cappedHeight.wanted),r<c&&(r=c),r>h&&(r=h),r>f&&m>f||this._forceRenderingAbove&&p>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),h=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),h=f),this.element.preferredSize=new hu(o,n.defaultSize.height),this.element.maxSize=new hu(a,h),this.element.minSize=new hu(220,c),this._cappedHeight=r===s?{wanted:this._cappedHeight?.wanted??e.height,capped:r}:void 0}this._resize(i,r)}_resize(e,t){let{width:n,height:r}=this.element.maxSize;e=Math.min(n,e),t=Math.min(r,t);let{statusBarHeight:i}=this.getLayoutInfo();this._list.layout(t-i,e),this._listElement.style.height=`${t-i}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}_measureContentWidth(e){let t=this._completionModel;if(!t)return 0;if(this._fitContentWidth?.model===t)return this._fitContentWidth.width;this._measureContext===void 0&&(this._measureContext=N(`canvas`).getContext(`2d`));let n;if(this._measureContext){let e=this.editor.getOptions(),r=e.get(59),i=e.get(135)||r.fontSize;this._measureContext.font=`${r.fontWeight} ${i}px ${r.getMassagedFontFamily()}`,n=0;for(let e of t.items){let{completion:t}=e,r=e.textLabel;typeof t.label==`string`?r+=t.detail??``:r+=(t.label.detail??``)+(t.label.description??``),n=Math.max(n,this._measureContext.measureText(r).width)}}else n=t.stats.pLabelLen*e.typicalHalfwidthCharacterWidth;let r=2*e.itemHeight+2*e.horizontalPadding+20,i=n+r;return this._fitContentWidth={model:t,width:i},i}getLayoutInfo(){let e=this.editor.getOption(59),t=Qt(this.editor.getOption(136)||e.lineHeight,8,1e3),n=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.getLayoutInfo().borderWidth;return{itemHeight:t,statusBarHeight:n,borderWidth:r,borderHeight:2*r,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new hu(430,n+12*t)}}_isDetailsVisible(){return this._storageService.getBoolean(`expandSuggestionDocs`,0,!1)}_setDetailsVisible(e){this._storageService.store(`expandSuggestionDocs`,e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};RN=jN=kN([AN(1,kc),AN(2,Ra),AN(3,Xn),AN(4,W)],RN);var zN=class{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return`editor.widget.suggestWidget`}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){let{height:e,width:t}=this._widget.element.size,{borderWidth:n,horizontalPadding:r}=this._widget.getLayoutInfo();return new hu(t+2*n+r,e+2*n)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}},BN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VN=function(e,t){return function(n,r){t(n,r,e)}},HN,UN=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=F.register({description:`suggest-line-suffix`,stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){let n=e.getOffsetAt(t),r=e.getPositionAt(n+1);e.changeDecorations(e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(w.fromPositions(t,r),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){let t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}},WN=class{static{HN=this}static{this.ID=`editor.contrib.suggestController`}static get(e){return e.getContribution(HN.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(e,t,n,r,i,a,o){this._memoryService=t,this._commandService=n,this._contextKeyService=r,this._instantiationService=i,this._logService=a,this._telemetryService=o,this._lineSuffix=new fc,this._toDispose=new I,this._selectors=new GN(e=>e.priority),this._onWillInsertSuggestItem=new P,this._wantsForceRenderingAbove=!1,this.editor=e,this.model=i.createInstance(lN,this.editor),this._selectors.register({priority:0,select:(e,t,n)=>this._memoryService.select(e,t,n)});let s=$.InsertMode.bindTo(r);s.set(e.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>s.set(e.getOption(134).insertMode))),this.widget=this._toDispose.add(new dc(cl(e.getDomNode()),()=>{let e=this._instantiationService.createInstance(RN,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));let t=new QM(this.editor,e,this.model,e=>this._insertSuggestion(e,2));this._toDispose.add(t);let n=$.MakesTextEdit.bindTo(this._contextKeyService),r=$.HasInsertAndReplaceRange.bindTo(this._contextKeyService),i=$.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Yo(()=>{n.reset(),r.reset(),i.reset()})),this._toDispose.add(e.onDidFocus(({item:e})=>{let t=this.editor.getPosition(),a=e.editStart.column,o=t.column,s=!0;this.editor.getOption(1)===`smart`&&this.model.state===2&&!e.completion.additionalTextEdits&&!(e.completion.insertTextRules&4)&&o-a===e.completion.insertText.length&&(s=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:a,endLineNumber:t.lineNumber,endColumn:o})!==e.completion.insertText),n.set(s),r.set(!j.equals(e.editInsertEnd,e.editReplaceEnd)),i.set(!!e.provider.resolveCompletionItem||!!e.completion.documentation||e.completion.detail!==e.completion.label)})),this._wantsForceRenderingAbove&&e.forceRenderingAbove(),e})),this._overtypingCapturer=this._toDispose.add(new dc(cl(e.getDomNode()),()=>this._toDispose.add(new uN(this.editor,this.model)))),this._alternatives=this._toDispose.add(new dc(cl(e.getDomNode()),()=>this._toDispose.add(new ZM(this.editor,this._contextKeyService)))),this._toDispose.add(i.createInstance(qM,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new UN(this.editor.getModel(),e.position)})),this._toDispose.add(this.model.onDidSuggest(e=>{if(e.triggerOptions.shy)return;let t=-1;for(let n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),t!==-1)break;if(t===-1&&(t=0),this.model.state===0)return;let n=!1;if(e.triggerOptions.auto){let t=this.editor.getOption(134);t.selectionMode===`never`||t.selectionMode===`always`?n=t.selectionMode===`never`:t.selectionMode===`whenTriggerCharacter`?n=e.triggerOptions.triggerKind!==1:t.selectionMode===`whenQuickSuggestion`&&(n=e.triggerOptions.triggerKind===1&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,n)})),this._toDispose.add(this.model.onDidCancel(e=>{e.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let c=$.AcceptSuggestionsOnEnter.bindTo(r),l=()=>{let e=this.editor.getOption(1);c.set(e===`on`||e===`smart`)};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>l())),l()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;let n=uA.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});let r=this.editor.getModel(),i=r.getAlternativeVersionId(),{item:a}=e,o=[],s=new No;t&1||this.editor.pushUndoStop();let c=this.getOverwriteInfo(a,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),a);let l=a.isResolved,u=-1,d=-1;if(Array.isArray(a.completion.additionalTextEdits)){this.model.cancel();let e=mt.capture(this.editor);this.editor.executeEdits(`suggestController.additionalTextEdits.sync`,a.completion.additionalTextEdits.map(e=>{let t=w.lift(e.range);if(t.startLineNumber===a.position.lineNumber&&t.startColumn>a.position.column){let e=this.editor.getPosition().column-a.position.column,n=e,r=w.spansMultipleLines(t)?0:e;t=new w(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+r)}return sc.replaceMove(t,e.text)})),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!l){let e=new js,n,i=r.onDidChangeContent(e=>{if(e.isFlush)s.cancel(),i.dispose();else for(let t of e.changes){let e=w.getEndPosition(t.range);(!n||j.isBefore(e,n))&&(n=e)}}),c=t;t|=2;let l=!1,u=this.editor.onWillType(()=>{u.dispose(),l=!0,c&2||this.editor.pushUndoStop()});o.push(a.resolve(s.token).then(()=>{if(!a.completion.additionalTextEdits||s.token.isCancellationRequested)return;if(n&&a.completion.additionalTextEdits.some(e=>j.isBefore(n,w.getStartPosition(e.range))))return!1;l&&this.editor.pushUndoStop();let e=mt.capture(this.editor);return this.editor.executeEdits(`suggestController.additionalTextEdits.async`,a.completion.additionalTextEdits.map(e=>sc.replaceMove(w.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),(l||!(c&2))&&this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace(`[suggest] async resolving of edits DONE (ms, applied?)`,e.elapsed(),t),d=t===!0?1:t===!1?0:-2}).finally(()=>{i.dispose(),u.dispose()}))}let{insertText:f}=a.completion;if(a.completion.insertTextRules&4||(f=km.escape(f)),this.model.cancel(),n.insert(f,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(a.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:ws.suggest({providerId:gl.fromExtensionId(a.extensionId?.value)})}),t&2||this.editor.pushUndoStop(),a.completion.command){if(a.completion.command.id===KN.id)this.model.trigger({auto:!0,retrigger:!0});else{let e=new js;o.push(this._commandService.executeCommand(a.completion.command.id,...a.completion.command.arguments?[...a.completion.command.arguments]:[]).catch(e=>{a.completion.extensionId?ec(e):at(e)}).finally(()=>{u=e.elapsed()}))}}t&4&&this._alternatives.value.set(e,e=>{for(s.cancel();r.canUndo();){i!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(e,3|(t&8?8:0));break}}),this._alertCompletionItem(a),Promise.all(o).finally(()=>{this._reportSuggestionAcceptedTelemetry(a,r,l,u,d,e.index,e.model.items),this.model.clear(),s.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,n,r,i,a,o){if(Math.random()>1e-4)return;let s=new Map;for(let e=0;e<Math.min(30,o.length);e++){let t=o[e].textLabel;s.has(t)?s.get(t).push(e):s.set(t,[e])}let c=s.get(e.textLabel),l=c&&c.length>1?c[0]:-1;this._telemetryService.publicLog2(`suggest.acceptedSuggestion`,{extensionId:e.extensionId?.value??`unknown`,providerId:e.provider._debugDisplayName??`unknown`,kind:e.completion.kind,basenameHash:Sl(Zd(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:ma(t.uri),resolveInfo:e.provider.resolveCompletionItem?+!!n:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:i,index:a,firstIndex:l})}getOverwriteInfo(e,t){tr(this.editor.hasModel());let n=this.editor.getOption(134).insertMode===`replace`;t&&(n=!n);let r=e.position.column-e.editStart.column,i=(n?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,a=this.editor.getPosition().column-e.position.column,o=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+a,overwriteAfter:i+o}}_alertCompletionItem(e){if(ku(e.completion.additionalTextEdits)){let t=S(1534,`Accepting '{0}' made {1} additional edits`,e.textLabel,e.completion.additionalTextEdits.length);Co(t)}}triggerSuggest(e,t,n){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:n?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;let t=this.editor.getPosition(),n=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=e=>{if(e.completion.insertTextRules&4||e.completion.additionalTextEdits)return!0;let t=this.editor.getPosition(),n=e.editStart.column,r=t.column;return r-n!==e.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText};gu.once(this.model.onDidTrigger)(e=>{let t=[];gu.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Lc(t),n()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(Lc(t),e.items.length===0){n();return}let i=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),a=e.items[i];r(a)?(this.editor.pushUndoStop(),this._insertSuggestion({index:i,item:a,model:e},7)):n()},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){let n=this.widget.value.getFocusedItem(),r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(n,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.isInitialized?this.widget.value.forceRenderingAbove():this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){this.widget.isInitialized?this.widget.value.stopForceRenderingAbove():this._wantsForceRenderingAbove=!1}registerSelector(e){return this._selectors.register(e)}};WN=HN=BN([VN(1,UM),VN(2,kr),VN(3,Ra),VN(4,W),VN(5,Pu),VN(6,St)],WN);var GN=class{constructor(e){this.prioritySelector=e,this._items=[]}register(e){if(this._items.indexOf(e)!==-1)throw Error(`Value is already registered`);return this._items.push(e),this._items.sort((e,t)=>this.prioritySelector(t)-this.prioritySelector(e)),{dispose:()=>{let t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}},KN=class e extends G{static{this.id=`editor.action.triggerSuggest`}constructor(){super({id:e.id,label:R(1543,`Trigger Suggest`),precondition:T.and(D.writable,D.hasCompletionItemProvider,$.Visible.toNegated()),kbOpts:{kbExpr:D.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){let r=WN.get(t);if(!r)return;let i;n&&typeof n==`object`&&n.auto===!0&&(i=!0),r.triggerSuggest(void 0,i,void 0)}};Ls(WN.ID,WN,2),B(KN);var qN=190,JN=id.bindToContribution(WN.get);U(new JN({id:`acceptSelectedSuggestion`,precondition:T.and($.Visible,$.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:T.and($.Visible,D.textInputFocus),weight:qN},{primary:3,kbExpr:T.and($.Visible,D.textInputFocus,$.AcceptSuggestionsOnEnter,$.MakesTextEdit),weight:qN}],menuOpts:[{menuId:FO,title:S(1535,`Insert`),group:`left`,order:1,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange.toNegated())},{menuId:FO,title:S(1536,`Insert`),group:`left`,order:1,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`insert`))},{menuId:FO,title:S(1537,`Replace`),group:`left`,order:1,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`replace`))}]})),U(new JN({id:`acceptAlternativeSelectedSuggestion`,precondition:T.and($.Visible,D.textInputFocus,$.HasFocusedSuggestion),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:FO,group:`left`,order:2,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`insert`)),title:S(1538,`Replace`)},{menuId:FO,group:`left`,order:2,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`replace`)),title:S(1539,`Insert`)}]})),zn.registerCommandAlias(`acceptSelectedSuggestionOnEnter`,`acceptSelectedSuggestion`),U(new JN({id:`hideSuggestWidget`,precondition:$.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:9,secondary:[1033]}})),U(new JN({id:`selectNextSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:FO,group:`left`,order:0,when:$.HasFocusedSuggestion.toNegated(),title:S(1540,`Select`)}})),U(new JN({id:`selectNextPageSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:12,secondary:[2060]}})),U(new JN({id:`selectLastSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),U(new JN({id:`selectPrevSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),U(new JN({id:`selectPrevPageSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:11,secondary:[2059]}})),U(new JN({id:`selectFirstSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),U(new JN({id:`focusSuggestion`,precondition:T.and($.Visible,$.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),U(new JN({id:`focusAndAcceptSuggestion`,precondition:T.and($.Visible,$.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),U(new JN({id:`toggleSuggestionDetails`,precondition:T.and($.Visible,$.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:FO,group:`right`,order:1,when:T.and($.DetailsVisible,$.CanResolve),title:S(1541,`Show Less`)},{menuId:FO,group:`right`,order:1,when:T.and($.DetailsVisible.toNegated(),$.CanResolve),title:S(1542,`Show More`)}]})),U(new JN({id:`toggleExplainMode`,precondition:$.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),U(new JN({id:`toggleSuggestionFocus`,precondition:$.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2570,mac:{primary:778}}})),U(new JN({id:`insertBestCompletion`,precondition:T.and(D.textInputFocus,T.equals(`config.editor.tabCompletion`,`on`),qM.AtEnd,$.Visible.toNegated(),ZM.OtherSuggestions.toNegated(),uA.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(Wa(t)?{fallback:`tab`,...t}:{fallback:`tab`})},kbOpts:{weight:qN,primary:2}})),U(new JN({id:`insertNextSuggestion`,precondition:T.and(D.textInputFocus,T.equals(`config.editor.tabCompletion`,`on`),ZM.OtherSuggestions,$.Visible.toNegated(),uA.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2}})),U(new JN({id:`insertPrevSuggestion`,precondition:T.and(D.textInputFocus,T.equals(`config.editor.tabCompletion`,`on`),ZM.OtherSuggestions,$.Visible.toNegated(),uA.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:1026}})),U(new class extends id{constructor(){super({id:`suggestWidgetCopy`,precondition:$.DetailsFocused,kbOpts:{weight:200,kbExpr:$.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(e,t){cl(t.getDomNode()).document.execCommand(`copy`)}}),B(class extends G{constructor(){super({id:`editor.action.resetSuggestSize`,label:R(1544,`Reset Suggest Widget Size`),precondition:void 0})}run(e,t){WN.get(t)?.resetWidgetSize()}});var YN=class extends K{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,n){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=n,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new P),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));let r=WN.get(this.editor);if(r){this._register(r.registerSelector({priority:100,select:(e,t,n)=>{let i=this.editor.getModel();if(!i)return-1;let a=this.suggestControllerPreselector(),o=a?NA(a,i):void 0;if(!o)return-1;let s=j.lift(t),c=n.map((e,t)=>{let n=NA(XN.fromSuggestion(r,i,s,e,this.isShiftKeyPressed).getSingleTextEdit(),i);return{index:t,valid:PA(o,n),prefixLength:n.text.length,suggestItem:e}}).filter(e=>e&&e.valid&&e.prefixLength>0),l=bi(c,dd(e=>e.prefixLength,Rc));return l?l.index:-1}}));let e=!1,t=()=>{e||(e=!0,this._register(r.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(r.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(r.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(gu.once(r.model.onDidTrigger)(e=>{t()})),this._register(r.onWillInsertSuggestItem(e=>{let t=this.editor.getPosition(),n=this.editor.getModel();if(!t||!n)return;let i=XN.fromSuggestion(r,n,t,e.item,this.isShiftKeyPressed);this.onWillAccept(i)}))}this.update(this._isActive)}update(e){let t=this.getSuggestItemInfo();this._isActive===e&&ZN(this._currentSuggestItemInfo,t)||(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){let e=WN.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;let t=e.widget.value.getFocusedItem(),n=this.editor.getPosition(),r=this.editor.getModel();if(t&&n&&r)return XN.fromSuggestion(e,r,n,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){WN.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){WN.get(this.editor)?.forceRenderingAbove()}},XN=class e{static fromSuggestion(t,n,r,i,a){let{insertText:o}=i.completion,s=!1;if(i.completion.insertTextRules&4){let e=new km().parse(o);e.children.length<100&&aA.adjustWhitespace(n,r,!0,e),o=e.toString(),s=!0}let c=t.getOverwriteInfo(i,a);return new e(w.fromPositions(r.delta(0,-c.overwriteBefore),r.delta(0,Math.max(c.overwriteAfter,0))),o,i.completion.kind,s,i.container.incomplete??!1)}constructor(e,t,n,r,i){this.range=e,this.insertText=t,this.completionItemKind=n,this.isSnippetText=r,this.listIncomplete=i}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new ti(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new bf(this.range,this.insertText)}};function ZN(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}var QN=class extends K{constructor(e,t,n){super(),this._editorObs=e,this._handleSuggestAccepted=t,this._suggestControllerPreselector=n,this._suggestWidgetAdaptor=this._register(new YN(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),e=>this._editorObs.forceUpdate(t=>{this._handleSuggestAccepted(e)}))),this.selectedItem=ou(this,e=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(t=>e(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}},$N=class{constructor(e,t){this.lineNumber=e,this.columnRange=t}},eP=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new To(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new w(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}toZeroBasedOffsetRange(){return new li(this.startColumn-1,this.endColumnExclusive-1)}},tP=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new nP(t.getTokenText(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e){return ic.createFromTextAndMetadata(this.map((e,t)=>({text:t.text,metadata:t.metadata})),e)}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new li(n,n+r.text.length);t.push(e(i,r)),n+=r.text.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.text.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new nP(e.text.slice(r,e.text.length-o),e.metadata))}r+=e.text.length}return e.create(n)}append(t){let n=this._tokenInfo.concat(t._tokenInfo);return e.create(n)}},nP=class{constructor(e,t){this.text=e,this.metadata=t}},rP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iP=function(e,t){return function(n,r){t(n,r,e)}},aP=class e{static from(t){if(t)return new e(t.icon)}constructor(e=A.warning){this.icon=e}},oP=`ghost-text`,sP=class extends K{constructor(e,t,n,r){super(),this._editor=e,this._data=t,this._languageService=r,this._isDisposed=ls(this,!1),this._warningState=V(e=>{let t=this._data.read(e),n=t?.warning;if(!t||!n)return;let r=t.ghostText;return{lineNumber:r.lineNumber,position:new j(r.lineNumber,r.parts[0].column),icon:n.icon}}),this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=V(this,e=>{let t=this._data.read(e);if(t)return t.ghostText.parts.map(e=>e.lines.map(e=>e.line).join(``)).join(``).replace(/\s/g,``).length}),this._extraClassNames=V(this,e=>{let t=this._extraClasses.slice();this._warningState.read(e)&&t.push(`warning`);let n=this._nonWhitespaceCount.read(e);return this._highlightShortText&&n&&n<3?t.push(`short-text`):this._useSyntaxHighlighting.read(e)&&t.push(`syntax-highlighted`),t.map(e=>` ${e}`).join(``)}),this._state=V(this,e=>{if(this._isDisposed.read(e))return;let t=this._data.read(e);if(!t)return;let n=this._editorObs.model.read(e);if(!n)return;let r=t.ghostText,i=r instanceof AA?r.columnRange:void 0,a=this._useSyntaxHighlighting.read(e),{inlineTexts:o,additionalLines:s,hiddenRange:c,additionalLinesOriginalSuffix:l}=lP(r,n,oP+this._extraClassNames.read(e)),u=n.getLineContent(r.lineNumber),d=new Hc(o.map(e=>Ac.insert(e.column-1,e.text))),f=a?n.tokenization.tokenizeLinesAt(r.lineNumber,[d.apply(u),...s.map(e=>e.content)]):void 0,p=d.getNewRanges(),m=o.map((e,t)=>({...e,tokens:f?.[0]?.getTokensInRange(p[t])})),h=s.map((e,t)=>{let r=f?.[t+1]??ic.createEmpty(e.content,this._languageService.languageIdCodec);if(t===s.length-1&&l){let e=tP.fromLineTokens(n.tokenization.getLineTokens(l.lineNumber)).slice(l.columnRange.toZeroBasedOffsetRange());r=tP.fromLineTokens(r).append(e).toLineTokens(r.languageIdCodec)}return new pP(r,e.decorations)}),g=this._editor.getSelection()?.getStartPosition().column,_=m.filter(e=>e.text!==``),v=_.length!==0,y=new kj((v?_[0].column:1)-g,v?0:s.findIndex(e=>e.content!==``)+1,+!!v,s.length+ +!!v,0,Gd(_.map(e=>e.text.length))+Gd(h.map(e=>e.content.getTextLength())),_.length+ +(s.length>0),_.length>1&&h.length===0?_.every(e=>e.text===_[0].text):void 0);return{replacedRange:i,inlineTexts:m,additionalLines:h,hiddenRange:c,lineNumber:r.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(e),targetTextModel:n,syntaxHighlightingEnabled:a,telemetryViewData:y,handleInlineCompletionShown:t.handleInlineCompletionShown}}),this._decorations=V(this,e=>{let t=this._state.read(e);if(!t)return[];let n=[],r=this._extraClassNames.read(e);t.replacedRange&&n.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:`inline-completion-text-to-replace`+r,description:`GhostTextReplacement`}}),t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:`ghost-text-hidden`,description:`ghost-text-hidden`}});for(let e of t.inlineTexts){let i=``;this._highlightShortText&&e.text.length<5&&(i+=` short-text`),n.push({range:w.fromPositions(new j(t.lineNumber,e.column)),options:{description:`ghost-text-decoration`,after:{content:e.text,tokens:e.tokens,inlineClassName:(e.preview?`ghost-text-decoration-preview`:`ghost-text-decoration`)+(this._isClickable?` clickable`:``)+r+i+e.lineDecorations.map(e=>` `+e.className).join(` `),cursorStops:zr.Left,attachedData:new cP(this)},showIfCollapsed:!0}})}return n}),this.isHovered=V(this,e=>this._isDisposed.read(e)?!1:this._isInlineTextHovered.read(e)||this._additionalLinesWidget.isHovered.read(e)),this._extraClasses=n.extraClasses??[],this._isClickable=n.isClickable??!1,this._shouldKeepCursorStable=n.shouldKeepCursorStable??!1,this._minReservedLineCount=n.minReservedLineCount??qi(0),this._useSyntaxHighlighting=n.useSyntaxHighlighting??qi(!0),this._highlightShortText=n.highlightShortSuggestions??!1,this._editorObs=gs(this._editor),this._additionalLinesWidget=this._register(new dP(this._editor,Oc({owner:this,equalsFn:Bt(dn())},e=>{let t=this._state.read(e);return t?new uP(t.lineNumber,t.additionalLines,t.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered(e=>e.target.type===6&&e.target.detail.injectedText?.options.attachedData instanceof cP&&e.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register(Yo(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable&&(this._register(this._additionalLinesWidget.onDidClick(e=>this._onDidClick.fire(e))),this._register(this._editor.onMouseUp(e=>{if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options.attachedData;t instanceof cP&&t.owner===this&&this._onDidClick.fire(e.event)}))),this._register(Fl(e=>{let t=this._state.read(e);t?.handleInlineCompletionShown(t.telemetryViewData)})),this._register(Gs((e,t)=>{}))}static getWarningWidgetContext(e){let t=e.ghostTextViewWarningWidgetData;if(t)return t;if(e.parentElement)return this.getWarningWidgetContext(e.parentElement)}ownsViewZone(e){return this._additionalLinesWidget.viewZoneId===e}};sP=rP([iP(3,Vo)],sP);var cP=class{constructor(e){this.owner=e}};function lP(e,t,n){let r=[],i=[];function a(e,t){if(i.length>0){let n=i[i.length-1];t&&n.decorations.push(new rt(n.content.length+1,n.content.length+1+e[0].line.length,t,0)),n.content+=e[0].line,e=e.slice(1)}for(let n of e)i.push({content:n.line,decorations:t?[new rt(1,n.line.length+1,t,0),...n.lineDecorations]:[...n.lineDecorations]})}let o=t.getLineContent(e.lineNumber),s,c=0;for(let t of e.parts){let e=t.lines;s===void 0?(r.push({column:t.column,text:e[0].line,preview:t.preview,lineDecorations:e[0].lineDecorations}),e=e.slice(1)):a([{line:o.substring(c,t.column-1),lineDecorations:[]}],void 0),e.length>0&&(a(e,n),s===void 0&&t.column<=o.length&&(s=t.column)),c=t.column-1}let l;return s!==void 0&&(l=new $N(e.lineNumber,new eP(c+1,o.length+1))),{inlineTexts:r,additionalLines:i,hiddenRange:s===void 0?void 0:new eP(s,o.length+1),additionalLinesOriginalSuffix:l}}var uP=class{constructor(e,t,n){this.lineNumber=e,this.additionalLines=t,this.minReservedLineCount=n}equals(e){return this.lineNumber!==e.lineNumber||this.minReservedLineCount!==e.minReservedLineCount?!1:Nd(this.additionalLines,e.additionalLines,dn())}},dP=class extends K{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}constructor(e,t,n,r){super(),this._editor=e,this._lines=t,this._shouldKeepCursorStable=n,this._isClickable=r,this._viewZoneHeight=ls(`viewZoneHeight`,void 0),this.editorOptionsChanged=on(`editorOptionChanged`,gu.filter(this._editor.onDidChangeConfiguration,e=>e.hasChanged(40)||e.hasChanged(133)||e.hasChanged(113)||e.hasChanged(108)||e.hasChanged(60)||e.hasChanged(59)||e.hasChanged(75)||e.hasChanged(176))),this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new fc),this.isHovered=gs(this._editor).isTargetHovered(e=>fP(e.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof fs&&this._shouldKeepCursorStable&&this._register(this._editor.onBeforeExecuteEdit(e=>this.hasBeenAccepted=e.source===`inlineCompletionAccept`)),this._register(Fl(e=>{let t=this._lines.read(e);this.editorOptionsChanged.read(e),t?(this.hasBeenAccepted=!1,this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount)):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones(e=>{this.removeActiveViewZone(e)})}updateLines(e,t,n){let r=this._editor.getModel();if(!r)return;let{tabSize:i}=r.getOptions();gs(this._editor).transaction(r=>{this._editor.changeViewZones(r=>{let a=new I;this.removeActiveViewZone(r);let o=Math.max(t.length,n);if(o>0){let n=document.createElement(`div`);mP(n,i,t,this._editor.getOptions(),this._isClickable),this._isClickable&&(a.add(L(n,`mousedown`,e=>{e.preventDefault()})),a.add(L(n,`click`,e=>{fP(e.target)&&this._onDidClick.fire(new Hu(cl(e),e))}))),this.addViewZone(r,e,o,n)}this._viewZoneListener.value=a})})}addViewZone(e,t,n,r){let i=e.addZone({afterLineNumber:t,heightInLines:n,domNode:r,afterColumnAffinity:1,onComputedHeight:e=>{this._viewZoneHeight.set(e,void 0)}});this.keepCursorStable(t,n),this._viewZoneInfo={viewZoneId:i,heightInLines:n,lineNumber:t}}removeActiveViewZone(e){this._viewZoneInfo&&(e.removeZone(this._viewZoneInfo.viewZoneId),this.hasBeenAccepted||this.keepCursorStable(this._viewZoneInfo.lineNumber,-this._viewZoneInfo.heightInLines),this._viewZoneInfo=void 0,this._viewZoneHeight.set(void 0,void 0))}keepCursorStable(e,t){if(!this._shouldKeepCursorStable)return;let n=this._editor.getSelection()?.getStartPosition()?.lineNumber;n!==void 0&&e<n&&this._editor.setScrollTop(this._editor.getScrollTop()+t*this._editor.getOption(75))}};function fP(e){return Xi(e)&&e.classList.contains(oP)}var pP=class{constructor(e,t){this.content=e,this.decorations=t}equals(e){return this.content.equals(e.content)?rt.equalsArr(this.decorations,e.decorations):!1}};function mP(e,t,n,r,i){let a=r.get(40),o=r.get(133),s=r.get(108),c=r.get(60),l=r.get(59),u=r.get(75),d=r.get(176)===`twoCells`,f=`suggest-preview-text`;i&&(f+=` clickable`);let p=new lt(1e4);p.appendString(`<div class="${f}">`);for(let e=0,r=n.length;e<r;e++){let r=n[e],i=r.content;p.appendString(`<div class="view-line`),p.appendString(`" style="top:`),p.appendString(String(e*u)),p.appendString(`px;width:1000000px;">`);let f=i.getLineContent(),m=vd(f),h=kd(f);Ri(new Fo(l.isMonospace&&!a,l.canUseHalfwidthRightwardsArrow,f,!1,m,h,0,i,r.decorations.slice(),t,0,l.spaceWidth,l.middotWidth,l.wsmiddotWidth,o,`none`,s,c!==Go.OFF,null,null,0,!1,d),p),p.appendString(`</div>`)}p.appendString(`</div>`),Xu(e,l);let m=p.build();e.innerHTML=hP?hP.createHTML(m):m}var hP=tl(`editorGhostText`,{createHTML:e=>e}),gP=class e{constructor(e,t){this.width=e,this.height=t}toString(){return`(${this.width},${this.height})`}transpose(){return new e(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}},_P=class e{static fromPoints(t,n){return new e(t.x,t.y,n.x,n.y)}static fromPointSize(t,n){return new e(t.x,t.y,t.x+n.x,t.y+n.y)}static fromLeftTopRightBottom(t,n,r,i){return new e(t,n,r,i)}static fromLeftTopWidthHeight(t,n,r,i){return new e(t,n,t+r,n+i)}static fromRanges(t,n){return new e(t.start,n.start,t.endExclusive,n.endExclusive)}static hull(t){let n=2**53-1,r=2**53-1,i=-(2**53-1),a=-(2**53-1);for(let e of t)n=Math.min(n,e.left),r=Math.min(r,e.top),i=Math.max(i,e.right),a=Math.max(a,e.bottom);return new e(n,r,i,a)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(e,t,n,r){if(this.left=e,this.top=t,this.right=n,this.bottom=r,e>n)throw new To(`Invalid arguments: Horizontally offset by `+(e-n));if(t>r)throw new To(`Invalid arguments: Vertically offset by `+(t-r))}withMargin(t,n,r,i){let a,o,s,c;return n===void 0&&r===void 0&&i===void 0?a=o=s=c=t:r===void 0&&i===void 0?(a=o=n,s=c=t):(a=i,o=n,s=t,c=r),new e(this.left-a,this.top-s,this.right+o,this.bottom+c)}intersectVertical(t){let n=Math.max(this.top,t.start),r=Math.min(this.bottom,t.endExclusive);return new e(this.left,n,this.right,Math.max(n,r))}intersectHorizontal(t){let n=Math.max(this.left,t.start),r=Math.min(this.right,t.endExclusive);return new e(n,this.top,Math.max(n,r),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(t){let n=Math.max(this.left,t.left),r=Math.min(this.right,t.right),i=Math.max(this.top,t.top),a=Math.min(this.bottom,t.bottom);if(!(n>r||i>a))return new e(n,i,r,a)}containsRect(e){return this.left<=e.left&&this.top<=e.top&&this.right>=e.right&&this.bottom>=e.bottom}containsPoint(e){return this.left<=e.x&&this.top<=e.y&&this.right>=e.x&&this.bottom>=e.y}moveToBeContainedIn(t){let n=this.width,r=this.height,i=this.left,a=this.top;return i<t.left?i=t.left:i+n>t.right&&(i=t.right-n),a<t.top?a=t.top:a+r>t.bottom&&(a=t.bottom-r),new e(i,a,i+n,a+r)}withWidth(t){return new e(this.left,this.top,this.left+t,this.bottom)}withHeight(t){return new e(this.left,this.top,this.right,this.top+t)}withTop(t){return new e(this.left,t,this.right,this.bottom)}withLeft(t){return new e(t,this.top,this.right,this.bottom)}translateX(t){return new e(this.left+t,this.top,this.right+t,this.bottom)}translateY(t){return new e(this.left,this.top+t,this.right,this.bottom+t)}getLeftBottom(){return new pf(this.left,this.bottom)}getRightBottom(){return new pf(this.right,this.bottom)}getRightTop(){return new pf(this.right,this.top)}toStyles(){return{position:`absolute`,left:`${this.left}px`,top:`${this.top}px`,width:`${this.width}px`,height:`${this.height}px`}}withHorizontalRange(t){return new e(t.start,this.top,t.endExclusive,this.bottom)}getSize(){return new gP(this.width,this.height)}},vP=class e{constructor(e,t,n,r=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=n,this.showEndForLine=r}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Nd(this.startLineNumbers,e.startLineNumbers)&&Nd(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new e([],[],0)}},yP=tl(`stickyScrollViewLayer`,{createHTML:e=>e}),bP=`data-sticky-line-index`,xP=`data-sticky-is-line`,SP=`data-sticky-is-line-number`,CP=`data-sticky-is-folding-icon`,wP=class extends K{get height(){return this._height}constructor(e){super(),this._foldingIconStore=this._register(new I),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 P),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=e,this._lineNumbersDomNode.className=`sticky-widget-line-numbers`,this._lineNumbersDomNode.setAttribute(`role`,`none`),this._linesDomNode.className=`sticky-widget-lines`,this._linesDomNode.setAttribute(`role`,`list`),this._linesDomNodeScrollable.className=`sticky-widget-lines-scrollable`,this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className=`sticky-widget`,this._rootDomNode.classList.toggle(`peek`,e instanceof Xb),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);let t=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:`0px`};this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(131)&&t()})),this._register(this._editor.onDidScrollChange(e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),t(),this._register(this._editor.onDidLayoutChange(e=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,n){let r=!this._state&&!e,i=this._state&&this._state.equals(e);if(n===void 0&&(r||i))return;let a=this._findRenderingData(e),o=this._lineNumbers;this._lineNumbers=a.lineNumbers,this._lastLineRelativePosition=a.lastLineRelativePosition;let s=this._findIndexToRebuildFrom(o,this._lineNumbers,n);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,t,s),this._state=e}_findRenderingData(e){if(!e)return{lineNumbers:[],lastLineRelativePosition:0};let t=[...e.startLineNumbers];e.showEndForLine!==null&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]);let n=0;for(let e=0;e<t.length;e++){let r=new j(t[e],1),i=this._editor._getViewModel();i&&r.lineNumber<=i.getLineCount()&&(n+=this._editor.getLineHeightForPosition(new j(t[e],1)))}return n===0?{lineNumbers:[],lastLineRelativePosition:0}:{lineNumbers:t,lastLineRelativePosition:e.lastLineRelativePosition}}_findIndexToRebuildFrom(e,t,n){if(t.length===0)return 0;if(n!==void 0)return n;let r=t.findIndex(t=>!e.includes(t));return r===-1?0:r}_updateWidgetWidth(){let e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty(`--vscode-editorStickyScroll-scrollableWidth`,`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty(`--vscode-editorStickyScroll-foldingOpacityTransition`,`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(let t of this._renderedStickyLines){let n=t.foldingIcon;n&&n.setVisible(e?!0:n.isCollapsed)}}async _renderRootNode(e,t,n,r){let i=this._editor._getViewModel();if(!i||e.length===0){this._clearWidget();return}let a=[],o=e[e.length-1],s=0;for(let e=0;e<this._renderedStickyLines.length;e++)if(e<r){let t=this._renderedStickyLines[e];a.push(this._updatePosition(t,s,t.lineNumber===o)),s+=t.height}else{let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}let c=this._editor.getLayoutInfo();for(let t=r;t<e.length;t++){let r=e[t];if(r>i.getLineCount())continue;let l=this._renderChildNode(i,t,r,s,o===r,n,c);s+=l.height,this._linesDomNode.appendChild(l.lineDomNode),this._lineNumbersDomNode.appendChild(l.lineNumberDomNode),a.push(l)}n&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin)),this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(e=>e.scrollWidth))+c.verticalScrollbarWidth,this._renderedStickyLines=a,this._setHeight(s+t),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let e=0;e<this._renderedStickyLines.length;e++){let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}this._setHeight(0)}_setHeight(e){this._height!==e&&(this._height=e,this._height===0?this._rootDomNode.style.display=`none`:(this._rootDomNode.style.display=`block`,this._lineNumbersDomNode.style.height=`${this._height}px`,this._linesDomNodeScrollable.style.height=`${this._height}px`,this._rootDomNode.style.height=`${this._height}px`),this._onDidChangeStickyScrollHeight.fire({height:this._height}))}_setFoldingHoverListeners(){this._foldingIconStore.clear(),this._editor.getOption(126)===`mouseover`&&(this._foldingIconStore.clear(),this._foldingIconStore.add(L(this._lineNumbersDomNode,jl.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(L(this._lineNumbersDomNode,jl.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,n,r,i,a,o){let s=new TP(this._editor,e,o,a,this._isOnGlyphMargin,t,n);return this._updatePosition(s,r,i)}_updatePosition(e,t,n){let r=e.lineDomNode,i=e.lineNumberDomNode;if(n){r.style.zIndex=`0`,i.style.zIndex=`0`;let n=`${t+this._lastLineRelativePosition+ +!!e.foldingIcon?.isCollapsed}px`;r.style.top=n,i.style.top=n}else r.style.zIndex=`1`,i.style.zIndex=`1`,r.style.top=`${t}px`,i.style.top=`${t}px`;return e}getId(){return`editor.contrib.stickyScrollWidget`}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOrdinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;let t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;let n=_i(t.characterMapping,e,0);return new j(t.lineNumber,n)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){let t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){let t=this._getAttributeValue(e,bP);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,xP)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,CP)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){let n=e.getAttribute(t);if(n!==null)return n;e=e.parentElement}}},TP=class{constructor(e,t,n,r,i,a,o){this.index=a,this.lineNumber=o;let s=t.coordinatesConverter.convertModelPositionToViewPosition(new j(o,1)).lineNumber,c=t.getViewLineRenderingData(s),l=e.getOption(76),u=e.getOption(117).verticalScrollbarSize,d;try{d=rt.filter(c.inlineDecorations,s,c.minColumn,c.maxColumn)}catch{d=[]}let f=e.getLineHeightForPosition(new j(o,1)),p=t.getTextDirection(o),m=e.getOption(59),h=new Fo(!0,!0,c.content,c.continuesWithWrappedLine,c.isBasicASCII,c.containsRTL,0,c.tokens,d,c.tabSize,c.startVisibleColumn,m.spaceWidth,1,1,500,`none`,!0,!0,null,p,u,!1,e.getOption(176)===`twoCells`),g=new lt(2e3),_=Ri(h,g);this.characterMapping=_.characterMapping;let v;v=yP?yP.createHTML(g.build()):g.build();let y=document.createElement(`span`);y.setAttribute(bP,String(a)),y.setAttribute(xP,``),y.setAttribute(`role`,`listitem`),y.tabIndex=0,y.className=`sticky-line-content`,y.classList.add(`stickyLine${o}`),y.style.lineHeight=`${f}px`,y.innerHTML=v;let b=document.createElement(`span`);b.setAttribute(bP,String(a)),b.setAttribute(SP,``),b.className=`sticky-line-number`,b.style.lineHeight=`${f}px`;let ee=n.contentLeft;b.style.width=`${ee}px`;let x=document.createElement(`span`);l.renderType===1||l.renderType===3&&o%10==0?x.innerText=o.toString():l.renderType===2&&(x.innerText=Math.abs(o-e.getPosition().lineNumber).toString()),x.className=`sticky-line-number-inner`,x.style.width=`${n.lineNumbersWidth}px`,x.style.paddingLeft=`${n.lineNumbersLeft}px`,b.appendChild(x),this.foldingIcon=this._renderFoldingIconForLine(e,r,o,f,i),this.foldingIcon&&(b.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${n.lineNumbersWidth+n.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${f}px`),e.applyFontInfo(y),e.applyFontInfo(b),b.style.lineHeight=`${f}px`,y.style.lineHeight=`${f}px`,b.style.height=`${f}px`,y.style.height=`${f}px`,this.scrollWidth=y.scrollWidth,this.lineDomNode=y,this.lineNumberDomNode=b,this.height=f}_renderFoldingIconForLine(e,t,n,r,i){let a=e.getOption(126);if(!t||a===`never`)return;let o=t.regions,s=o.findRange(n),c=o.getStartLineNumber(s);if(n!==c)return;let l=o.isCollapsed(s),u=new EP(l,c,o.getEndLineNumber(s),r);return u.setVisible(i?!0:l||a===`always`),u.domNode.setAttribute(CP,``),u}},EP=class{constructor(e,t,n,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=n,this.dimension=r,this.domNode=document.createElement(`div`),this.domNode.style.width=`26px`,this.domNode.style.height=`${r}px`,this.domNode.style.lineHeight=`${r}px`,this.domNode.className=H.asClassName(e?ST:xT)}setVisible(e){this.domNode.style.cursor=e?`pointer`:`default`,this.domNode.style.opacity=e?`1`:`0`}},DP=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},OP=class{constructor(e,t,n){this.range=e,this.children=t,this.parent=n}},kP=class{constructor(e,t,n,r){this.uri=e,this.version=t,this.element=n,this.outlineProviderId=r}},AP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jP=function(e,t){return function(n,r){t(n,r,e)}},MP;(function(e){e.OUTLINE_MODEL=`outlineModel`,e.FOLDING_PROVIDER_MODEL=`foldingProviderModel`,e.INDENTATION_MODEL=`indentationModel`})(MP||={});var NP;(function(e){e[e.VALID=0]=`VALID`,e[e.INVALID=1]=`INVALID`,e[e.CANCELED=2]=`CANCELED`})(NP||={});var PP=class extends K{constructor(e,t,n,r){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new rr(300)),this._updateOperation=this._register(new I),this._editor.getOption(131).defaultModel){case MP.OUTLINE_MODEL:this._modelProviders.push(new IP(this._editor,r));case MP.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new zP(this._editor,t,r));case MP.INDENTATION_MODEL:this._modelProviders.push(new RP(this._editor,n))}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&=(this._modelPromise.cancel(),null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(let t of this._modelProviders){let{statusPromise:n,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;let i=await n;if(this._modelPromise!==r)return null;switch(i){case NP.CANCELED:return this._updateOperation.clear(),null;case NP.VALID:return t.stickyModel}}return null}).catch(e=>(at(e),null))}};PP=AP([jP(2,W),jP(3,z)],PP);var FP=class extends K{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,NP.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let t=kt(e=>this.createModelFromProvider(e));return{statusPromise:t.then(t=>this.isModelValid(t)?e.isCancellationRequested?NP.CANCELED:(this._stickyModel=this.createStickyModel(e,t),NP.VALID):this._invalid()).then(void 0,e=>(at(e),NP.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},IP=class extends FP{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return JC.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){let{stickyOutlineElement:n,providerID:r}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),i=this._editor.getModel();return new kP(i.uri,i.getVersionId(),n,r)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let n;if(Wd.first(e.children.values())instanceof qC){let r=Wd.find(e.children.values(),e=>e.id===t);if(r)n=r.children;else{let r=``,i=-1,a;for(let[t,n]of e.children.entries()){let e=this._findSumOfRangesOfGroup(n);e>i&&(a=n,i=e,r=n.id)}t=r,n=a.children}}else n=e.children;let r=[],i=Array.from(n.values()).sort((e,t)=>{let n=new DP(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),r=new DP(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(n,r)});for(let e of i)r.push(this._stickyModelFromOutlineElement(e,e.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new OP(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){let n=[];for(let r of e.children.values())if(r.symbol.selectionRange.startLineNumber!==r.symbol.range.endLineNumber){if(r.symbol.selectionRange.startLineNumber!==t)n.push(this._stickyModelFromOutlineElement(r,r.symbol.selectionRange.startLineNumber));else for(let e of r.children.values())n.push(this._stickyModelFromOutlineElement(e,r.symbol.selectionRange.startLineNumber))}return n.sort((e,t)=>this._comparator(e.range,t.range)),new OP(new DP(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber),n,void 0)}_comparator(e,t){return e.startLineNumber===t.startLineNumber?t.endLineNumber-e.endLineNumber:e.startLineNumber-t.startLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(let n of e.children.values())t+=this._findSumOfRangesOfGroup(n);return e instanceof KC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};IP=AP([jP(1,z)],IP);var LP=class extends FP{constructor(e){super(e),this._foldingLimitReporter=this._register(new BT(e))}createStickyModel(e,t){let n=this._fromFoldingRegions(t),r=this._editor.getModel();return new kP(r.uri,r.getVersionId(),n,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){let t=e.length,n=[],r=new OP(void 0,[],void 0);for(let i=0;i<t;i++){let t=e.getParentIndex(i),a;a=t===-1?r:n[t];let o=new OP(new DP(e.getStartLineNumber(i),e.getEndLineNumber(i)+1),[],a);a.children.push(o),n.push(o)}return r}},RP=class extends LP{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new gT(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};RP=AP([jP(1,Ln)],RP);var zP=class extends LP{constructor(e,t,n){super(e),this._languageFeaturesService=n,this.provider=this._register(new fc),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(e,t)})),this._updateProvider(e,t)}_updateProvider(e,t){let n=zT.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length!==0&&(this.provider.value=new jT(e.getModel(),n,t,this._foldingLimitReporter,void 0))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){return this.provider.value?.compute(e)??null}};zP=AP([jP(2,z)],zP);var BP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VP=function(e,t){return function(n,r){t(n,r,e)}},HP=class{constructor(e,t,n,r){this.startLineNumber=e,this.endLineNumber=t,this.top=n,this.height=r}},UP=class extends K{constructor(e,t,n){super(),this._languageFeaturesService=t,this._languageConfigurationService=n,this._onDidChangeStickyScroll=this._register(new P),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new I),this._updateSoon=this._register(new Lr(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(131)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(131).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Yo(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null,this._editor.hasModel()&&(this._stickyModelProvider=new PP(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new No,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}let t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,0,-1),this.filterHiddenRanges(t)}getCandidateStickyLinesIntersectingFromStickyModel(e,t,n,r,i,a){let o=this._editor.getModel();if(!o||t.children.length===0)return;let s=a,c=[];for(let e=0;e<t.children.length;e++){let n=t.children[e];n.range&&c.push(n.range.startLineNumber)}let l=this.updateIndex(Qu(c,e.startLineNumber,(e,t)=>e-t)),u=this.updateIndex(Qu(c,e.endLineNumber,(e,t)=>e-t));for(let a=l;a<=u;a++){let c=t.children[a];if(!c||!c.range)continue;let{startLineNumber:l,endLineNumber:u}=c.range;if(u>l+1&&e.startLineNumber<=u+1&&l-1<=e.endLineNumber&&l!==s&&o.isValidRange(new w(l,1,u,1))){s=l;let t=this._editor.getLineHeightForPosition(new j(l,1));n.push(new HP(l,u-1,i,t)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,c,n,r+1,i+t,l)}}}filterHiddenRanges(e){let t=this._editor._getViewModel()?.getHiddenAreas();return t?e.filter(e=>!t.some(t=>e.startLineNumber>=t.startLineNumber&&e.endLineNumber<=t.endLineNumber+1)):e}updateIndex(e){return e===-1?0:e<0?-e-2:e}};UP=BP([VP(1,z),VP(2,Ln)],UP);var WP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},GP=function(e,t){return function(n,r){t(n,r,e)}},KP,qP=class extends K{static{KP=this}static{this.ID=`store.contrib.stickyScrollController`}constructor(e,t,n,r,i,a,o){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=n,this._instaService=r,this._contextKeyService=o,this._sessionStore=new I,this._maxStickyLines=2**53-1,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._mouseTarget=null,this._onDidChangeStickyScrollHeight=this._register(new P),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new wP(this._editor),this._stickyLineCandidateProvider=new UP(this._editor,n,i),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=vP.Empty;let s=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight(e=>{e.changes.forEach(e=>{let t=e.lineNumber;this._widgetState.startLineNumbers.includes(t)&&this._renderStickyScroll(t)})})),this._register(this._editor.onDidChangeFont(e=>{e.changes.forEach(e=>{let t=e.lineNumber;this._widgetState.startLineNumbers.includes(t)&&this._renderStickyScroll(t)})})),this._register(this._editor.onDidChangeConfiguration(e=>{this._readConfigurationChange(e)})),this._register(L(s,jl.CONTEXT_MENU,async e=>{this._onContextMenu(cl(s),e)})),this._stickyScrollFocusedContextKey=D.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=D.stickyScrollVisible.bindTo(this._contextKeyService);let c=this._register(fr(s));this._register(c.onDidBlur(e=>{this._positionRevealed===!1&&s.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(c.onDidFocus(e=>{this.focus()})),this._registerMouseListeners(),this._register(L(s,jl.MOUSE_DOWN,e=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight(e=>{this._onDidChangeStickyScrollHeight.fire(e)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(e){return e.getContribution(KP.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}isFocused(){return this._focused}focus(){this._onMouseDown?(this._onMouseDown=!1,this._editor.focus()):this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new I,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){let e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(w.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){let e=this._register(new I),t=this._register(new Ub(this._editor,{extractLineNumberFromMouseEvent:e=>{let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),n=e=>{if(!this._editor.hasModel()||e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId())return null;let t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;let n=this._stickyScrollWidget.getEditorPositionFromNode(t);return n?{range:new w(n.lineNumber,n.column,n.lineNumber,n.column+t.innerText.length),textElement:t}:null},r=this._stickyScrollWidget.getDomNode();this._register(Jo(r,jl.CLICK,e=>{if(e.ctrlKey||e.altKey||e.metaKey||!e.leftButton)return;if(e.shiftKey){let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(t===null)return;let n=new j(this._endLineNumbers[t],1);this._revealLineInCenterIfOutsideViewport(n);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){let t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);this._toggleFoldingRegionForLine(t);return}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){let n=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(n===null)return;t=new j(n,1)}this._revealPosition(t)})),this._register(L($d,jl.MOUSE_MOVE,e=>{this._mouseTarget=e.target,this._onMouseMoveOrKeyDown(e)})),this._register(L($d,jl.KEY_DOWN,e=>{this._onMouseMoveOrKeyDown(e)})),this._register(L($d,jl.KEY_UP,()=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([t,r])=>{let i=n(t);if(!i||!t.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}let{range:a,textElement:o}=i;if(!a.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=a,e.clear();else if(o.style.textDecoration===`underline`)return;let s=new No;e.add(Yo(()=>s.dispose(!0)));let c;tS(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new j(a.startLineNumber,a.startColumn+1),!1,s.token).then((t=>{if(!s.token.isCancellationRequested){if(t.length!==0){this._candidateDefinitionsLength=t.length;let n=o;c===n?c||(c=n,c.style.textDecoration=`underline`,e.add(Yo(()=>{c.style.textDecoration=`none`}))):(e.clear(),c=n,c.style.textDecoration=`underline`,e.add(Yo(()=>{c.style.textDecoration=`none`})))}else e.clear()}}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async e=>{if(e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId())return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(gS,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))}))}_onContextMenu(e,t){let n=new Hu(e,t);this._contextMenuService.showContextMenu({menuId:O.StickyScrollContext,getAnchor:()=>n,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(e){if(!e.shiftKey||!this._mouseTarget||!Xi(this._mouseTarget))return;let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);t!==null&&this._showEndForLine!==t&&(this._showEndForLine=t,this._renderStickyScroll())}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;let t=this._stickyScrollWidget.getRenderedStickyLine(e),n=t?.foldingIcon;if(!n)return;eT(this._foldingModel,1,[e]),n.isCollapsed=!n.isCollapsed;let r=(n.isCollapsed?this._editor.getTopForLineNumber(n.foldingEndLine):this._editor.getTopForLineNumber(n.foldingStartLine))-this._editor.getOption(75)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){let e=this._editor.getOption(131);e.enabled===!1?(this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1):(e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(e=>this._onTokensChange(e))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0),this._editor.getOption(76).renderType===2?this._cursorPositionListener||(this._cursorPositionListener=this._editor.onDidChangeCursorPosition(e=>{this._positionLineNumber!==e.position.lineNumber&&(this._positionLineNumber=e.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0))}),this._sessionStore.add(this._cursorPositionListener)):this._cursorPositionListener&&=(this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),void 0))}_readConfigurationChange(e){(e.hasChanged(131)||e.hasChanged(81)||e.hasChanged(75)||e.hasChanged(126)||e.hasChanged(76))&&this._readConfiguration(),(e.hasChanged(76)||e.hasChanged(52)||e.hasChanged(126)||e.hasChanged(59)||e.hasChanged(176))&&this._renderStickyScroll(0)}_needsUpdate(e){let t=this._stickyScrollWidget.getCurrentLines();for(let n of t)for(let t of e.ranges)if(n>=t.fromLineNumber&&n<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){let e=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(e*.25),this._renderStickyScroll(0)}async _renderStickyScroll(e){let t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}let n=this._updateAndGetMinRebuildFromLine(e),r=this._stickyLineCandidateProvider.getVersionId();if(r===void 0||r===t.getVersionId()){if(!this._focused)await this._updateState(n);else if(this._focusedStickyElementIndex===-1)await this._updateState(n),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{let e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(n),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){let t=this._minRebuildFromLine===void 0?1/0:this._minRebuildFromLine;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await zT.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();let t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=vP.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){let e=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),t=this._editor.getScrollTop(),n=0,r=[],i=[],a=this._editor.getVisibleRanges();if(a.length!==0){let o=new DP(a[0].startLineNumber,a[a.length-1].endLineNumber),s=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(o);for(let a of s){let o=a.startLineNumber,s=a.endLineNumber,c=a.top,l=c+a.height,u=this._editor.getTopForLineNumber(o)-t,d=this._editor.getBottomForLineNumber(s)-t;if(c>u&&c<=d&&(r.push(o),i.push(s+1),l>d&&(n=d-l)),r.length===e)break}}return this._endLineNumbers=i,new vP(r,i,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};qP=KP=WP([GP(1,ac),GP(2,z),GP(3,W),GP(4,Ln),GP(5,Ks),GP(6,Ra)],qP);var JP=k(`inlineEdit.originalBackground`,Rf(Ro,.2),S(1286,`Background color for the original text in inline edits.`),!0),YP=k(`inlineEdit.modifiedBackground`,Rf(Eo,.3),S(1287,`Background color for the modified text in inline edits.`),!0);k(`inlineEdit.originalChangedLineBackground`,Rf(Ro,.8),S(1288,`Background color for the changed lines in the original text of inline edits.`),!0);var XP=k(`inlineEdit.originalChangedTextBackground`,Rf(Ro,.8),S(1289,`Overlay color for the changed text in the original text of inline edits.`),!0),ZP=k(`inlineEdit.modifiedChangedLineBackground`,{light:Rf(mo,.7),dark:Rf(mo,.7),hcDark:mo,hcLight:mo},S(1290,`Background color for the changed lines in the modified text of inline edits.`),!0),QP=k(`inlineEdit.modifiedChangedTextBackground`,Rf(Eo,.7),S(1291,`Overlay color for the changed text in the modified text of inline edits.`),!0),$P=k(`inlineEdit.gutterIndicator.primaryForeground`,Ir,S(1292,`Foreground color for the primary inline edit gutter indicator.`)),eF=k(`inlineEdit.gutterIndicator.primaryBorder`,nr,S(1293,`Border color for the primary inline edit gutter indicator.`)),tF=k(`inlineEdit.gutterIndicator.primaryBackground`,{light:Rf(eF,.5),dark:Rf(eF,.4),hcDark:Rf(eF,.4),hcLight:Rf(eF,.5)},S(1294,`Background color for the primary inline edit gutter indicator.`)),nF=k(`inlineEdit.gutterIndicator.secondaryForeground`,jd,S(1295,`Foreground color for the secondary inline edit gutter indicator.`)),rF=k(`inlineEdit.gutterIndicator.secondaryBorder`,Al,S(1296,`Border color for the secondary inline edit gutter indicator.`)),iF=k(`inlineEdit.gutterIndicator.secondaryBackground`,ks,S(1297,`Background color for the secondary inline edit gutter indicator.`)),aF=k(`inlineEdit.gutterIndicator.successfulForeground`,Ir,S(1298,`Foreground color for the successful inline edit gutter indicator.`)),oF=k(`inlineEdit.gutterIndicator.successfulBorder`,nr,S(1299,`Border color for the successful inline edit gutter indicator.`)),sF=k(`inlineEdit.gutterIndicator.successfulBackground`,oF,S(1300,`Background color for the successful inline edit gutter indicator.`)),cF=k(`inlineEdit.gutterIndicator.background`,{hcDark:Rf(`tab.inactiveBackground`,.5),hcLight:Rf(`tab.inactiveBackground`,.5),dark:Rf(`tab.inactiveBackground`,.5),light:`#5f5f5f18`},S(1301,`Background color for the inline edit gutter indicator.`)),lF=k(`inlineEdit.originalBorder`,{light:Ro,dark:Ro,hcDark:Ro,hcLight:Ro},S(1302,`Border color for the original text in inline edits.`)),uF=k(`inlineEdit.modifiedBorder`,{light:$n(Eo,.6),dark:Eo,hcDark:Eo,hcLight:Eo},S(1303,`Border color for the modified text in inline edits.`)),dF=k(`inlineEdit.tabWillAcceptModifiedBorder`,{light:$n(uF,0),dark:$n(uF,0),hcDark:$n(uF,0),hcLight:$n(uF,0)},S(1304,`Modified border color for the inline edits widget when tab will accept it.`)),fF=k(`inlineEdit.tabWillAcceptOriginalBorder`,{light:$n(lF,0),dark:$n(lF,0),hcDark:$n(lF,0),hcLight:$n(lF,0)},S(1305,`Original border color for the inline edits widget over the original text when tab will accept it.`));function pF(e){return e.map(e=>e===Ej.Accept?dF:uF)}function mF(e){return e.map(e=>e===Ej.Accept?fF:lF)}function hF(e,t){let n;n=typeof e==`string`?_F(e,t):e.map((e,n)=>_F(e,t).read(n));let r=_F(ot,t);return n.map((e,t)=>e.makeOpaque(r.read(t)))}function gF(e){let t;switch(e){case Ij.TextEditor:t=ot;break;case Ij.DiffEditor:t=ot;break;case Ij.Notebook:t=`notebook.cellEditorBackground`;break;default:Bu(e,`Not supported editor type yet`)}return yn(t)}function _F(e,t){return ed({owner:{observeColor:e},equalsFn:(e,t)=>e.equals(t),debugName:()=>`observeColor(${e})`},t.onDidColorThemeChange,()=>{let n=t.getColorTheme().getColor(e);if(!n)throw new To(`Missing color: ${e}`);return n})}function vF(e,t,n){let r=e.model.read(n);if(!r)return 0;let i=0;for(let r=t.startLineNumber;r<t.endLineNumberExclusive;r++){let t=e.getWidthOfLine(r,n);i=Math.max(i,t)}let a=t.mapToLineArray(e=>r.getLineContent(e));return i<5&&a.some(e=>e.length>0)&&r.uri.scheme!==`file`&&console.log(`unexpected width`),i}function yF(e,t,n){on(e,e.editor.onDidChangeLineHeight).read(n);let r=e.model.read(n);if(!r)throw new To(`Model is required`);let i=[];for(let a=t.startLineNumber;a<t.endLineNumberExclusive;a++){let t=e.getWidthOfLine(a,n);t===-1&&(t=r.getLineMaxColumn(a)*e.editor.getOption(59).typicalHalfwidthCharacterWidth);let o=e.editor.getLineHeightForPosition(new j(a,1));i.push(new gP(t,o))}return i}function bF(e,t,n){return e.layoutInfo.read(n),e.value.read(n),e.model.read(n)?(e.scrollTop.read(n),e.editor.getOffsetForColumn(t.lineNumber,t.column)):0}function xF(e,t,n,r,i=void 0){let a=r.getModel();if(!a)return{prefixTrim:0,prefixLeftOffset:0};let o=e.map(e=>e.isSingleLine()?e.startColumn-1:0),s=t.mapToLineArray(e=>Rd(a.getLineContent(e))),c=n.filter(e=>e!==``).map(e=>Rd(e)),l=Math.min(...o,...s,...c),u;if(a.getLineIndentColumn(t.startLineNumber)>=l+1)gs(r).scrollTop.read(i),u=r.getOffsetForColumn(t.startLineNumber,l+1);else if(n.length>0)u=SF(n[0].slice(0,l),r,a);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:l,prefixLeftOffset:u}}function SF(e,t,n){let r=t.getOption(59).typicalHalfwidthCharacterWidth,i=n.getOptions().tabSize*r,a=e.split(` `).length-1;return(e.length-a)*r+a*i}function CF(e){let t=e.layoutInfoContentLeft,n=V({name:`editor.validOverlay.width`},n=>{let r=e.layoutInfoMinimap.read(n).minimapLeft!==0,i=Math.max(0,e.layoutInfoWidth.read(n)-t.read(n));if(r){let t=e.layoutInfoMinimap.read(n).minimapWidth+e.layoutInfoVerticalScrollbarWidth.read(n);return Math.max(0,i-t)}return i}),r=V({name:`editor.validOverlay.height`},t=>e.layoutInfoHeight.read(t)+e.contentHeight.read(t));return V({name:`editor.validOverlay`},e=>_P.fromLeftTopWidthHeight(t.read(e),0,n.read(e),r.read(e)))}function wF(e,t){let n=[];for(let r of e){let e=t.mapRange(r.modifiedRange);n.push(new Yd(r.originalRange,e))}return n}function TF(...e){return e.filter(e=>typeof e==`string`).join(` `)}function EF(e,t){return new w(t.lineNumber,t.column+e.start,t.lineNumber,t.column+e.endExclusive)}function DF(e,t){let n=0;loop:for(let r=0,i=e.length;r<i;r++)switch(e.charCodeAt(r)){case 9:n+=t;break;case 32:n++;break;default:break loop}return n-n%t}function OF(e,t,n){let r=t-t%n,i=0;for(;i<e.length&&r!==0;i++)switch(e.charCodeAt(i)){case 9:r-=n;break;case 32:r--;break;default:throw new To(`Unexpected character found while calculating indent length`)}return i}function kF(e,t,n){let r=$l(e),i=[],a=wl(t.mapToLineArray(e=>DF(r[e-1],n)),Rc);return t.forEach(e=>{let t=OF(r[e-1],a,n);i.push(new bf(EF(new li(0,t),new j(e,1)),``))}),new Cs(i)}var AF=class{constructor(){this._data=``}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}build(){return this._data}};function jF(e){let t=Io(void 0,(t,n)=>e.read(t)||n);return Oc({debugName:()=>`${e.debugName}.mapOutFalsy`},n=>{if(t.read(n),e.read(n))return t})}function MF(e,t=Af.ofCaller()){return{left:V({name:`editor.validOverlay.left`},t=>e(t)?.left,t),top:V({name:`editor.validOverlay.top`},t=>e(t)?.top,t),width:V({name:`editor.validOverlay.width`},t=>{let n=e(t);if(n)return n.width},t),height:V({name:`editor.validOverlay.height`},t=>{let n=e(t);if(n)return n.height},t)}}function NF(e,t){let n=e.getContainerDomNode(),r=ls(`domRect`,n.getBoundingClientRect());return t.add(e.onDidLayoutChange(e=>{r.set(n.getBoundingClientRect(),void 0)})),r}var PF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},FF=function(e,t){return function(n,r){t(n,r,e)}},IF=class{constructor(e,t,n,r,i,a){this._editorObs=e,this._data=t,this._close=n,this._contextKeyService=r,this._keybindingService=i,this._commandService=a,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map(e=>e.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let e=ls(`active`,void 0),t=t=>({title:t.title,icon:t.icon,keybinding:typeof t.commandId==`string`?this._getKeybinding(t.commandArgs?void 0:t.commandId):V(this,e=>typeof t.commandId==`string`?void 0:this._getKeybinding(t.commandArgs?void 0:t.commandId.read(e)).read(e)),isActive:e.map(e=>e===t.id),onHoverChange:n=>e.set(n?t.id:void 0,void 0),onAction:()=>{let e=typeof t.commandId==`string`?t.commandId:t.commandId.get();return this._close(!0,e),this._commandService.executeCommand(e,...t.commandArgs??[])}}),n=this._data.extensionCommands.map(e=>e.map((e,n)=>zF(t({id:e.command.id+`_`+n,title:e.command.title,icon:e.icon??A.symbolEvent,commandId:e.command.id,commandArgs:e.command.arguments})))),r=[];for(let e of n)e.length>0&&(r.push(VF()),r.push(...e));if(this._data.extensionCommandsOnly)return LF(r.slice(1));let i=RF(this._data.displayName),a=zF(t({id:`gotoAndAccept`,title:S(1276,`Go To / Accept`),icon:A.check,commandId:U_})),o=zF(t({id:`reject`,title:S(1277,`Reject`),icon:A.close,commandId:J_})),s=this._data.alternativeAction?zF(t({id:`alternativeCommand`,title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:W_})):void 0,c=[],l=this._inlineEditsShowCollapsed.map(e=>zF(t(e?{id:`showExpanded`,title:S(1278,`Show Expanded`),icon:A.expandAll,commandId:Y_}:{id:`showCollapsed`,title:S(1279,`Show Collapsed`),icon:A.collapseAll,commandId:Y_}))),u=zF(t({id:`snooze`,title:S(1280,`Snooze`),icon:A.bellSlash,commandId:`editor.action.inlineSuggest.snooze`})),d=zF(t({id:`settings`,title:S(1281,`Settings`),icon:A.gear,commandId:`workbench.action.openSettings`,commandArgs:[`@tag:nextEditSuggestions`]})),f=this._data.action?[this._data.action]:[],p=f.length>0?BF(f.map(e=>({id:e.id,label:e.title+`...`,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[]),class:void 0,tooltip:e.tooltip??e.title})),{hoverDelegate:nl}):void 0;return LF([i,a,s,o,l,c.length?VF():void 0,...c,u,d,...r,p?VF():void 0,p])}_getKeybinding(e){return e?ou(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e)):qi(void 0)}};IF=PF([FF(3,Ra),FF(4,Ta),FF(5,kr)],IF);function LF(e){return C.div({class:`content`,style:{margin:4,minWidth:180}},e)}function RF(e){return C.div({class:`header`,style:{color:yn(Gr),fontSize:`13px`,fontWeight:`600`,padding:`0 4px`,lineHeight:28}},[e])}function zF(e){return V({name:`inlineEdits.option`},t=>C.div({class:[`monaco-menu-option`,e.isActive?.map(e=>e&&`active`)],onmouseenter:()=>e.onHoverChange?.(!0),onmouseleave:()=>e.onHoverChange?.(!1),onclick:e.onAction,onkeydown:t=>{t.key===`Enter`&&e.onAction?.()},tabIndex:0,style:{borderRadius:3}},[C.elem(`span`,{style:{fontSize:16,display:`flex`}},[H.isThemeIcon(e.icon)?yt(e.icon):e.icon.map(e=>yt(e))]),C.elem(`span`,{},[e.title]),C.div({style:{marginLeft:`auto`},ref:n=>{let r=t.store.add(new Lf(n,ys,{disableTitle:!0,...Bn,keybindingLabelShadow:void 0,keybindingLabelForeground:yn(Gr),keybindingLabelBackground:`transparent`,keybindingLabelBorder:`transparent`,keybindingLabelBottomBorder:void 0}));t.store.add(Fl(t=>{r.set(e.keybinding.read(t))}))}})]))}function BF(e,t){return V({name:`inlineEdits.actionBar`},n=>C.div({class:[`action-widget-action-bar`],style:{padding:`3px 24px`}},[C.div({ref:r=>{n.store.add(new Hr(r,t)).push(e,{icon:!1,label:!0})}})]))}function VF(){return C.div({id:`inline-edit-gutter-indicator-menu-separator`,class:`menu-separator`,style:{color:yn(no),padding:`2px 0`}},C.div({style:{borderBottom:`1px solid ${yn(Al)}`}}))}var HF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},UF=function(e,t){return function(n,r){t(n,r,e)}},WF=class{constructor(e,t,n,r,i){this.gutterMenuData=e,this.originalRange=t,this.model=n,this.altAction=r,this.customization=i}},GF=class e{static fromInlineSuggestion(t){let n=t.action?.kind===`edit`?t.action.alternativeAction:void 0,r=t.source.inlineSuggestions.commands??[];return new e(t.gutterMenuLinkAction,t.source.provider.displayName??S(1282,`Inline Suggestion`),r.length>0?[r]:[],n,t.source.provider.modelInfo,t.source.provider.setModelId?.bind(t.source.provider))}constructor(e,t,n,r,i,a,o=!1){this.action=e,this.displayName=t,this.extensionCommands=n,this.alternativeAction=r,this.modelInfo=i,this.setModelId=a,this.extensionCommandsOnly=o}},KF=class e{static fromInlineCompletionModel(t){return new e(()=>t.accept(),()=>t.jump())}constructor(e,t){this.accept=e,this.jump=t}},qF=16,JF=2,YF=class extends K{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._editorObs=e,this._data=t,this._tabAction=n,this._verticalOffset=r,this._isHoveringOverInlineEdit=i,this._focusIsInMenu=a,this._hoverService=o,this._instantiationService=s,this._accessibilityService=c,this._themeService=l,this._userInteractionService=u,this._onDidCloseWithCommand=this._register(new P),this._modifierPressed=V(this,e=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),e).shiftKey),this._gutterIndicatorStyles=V(this,e=>{let t=this._tabAction.read(e),n=this._data.read(e)?.altAction,r=this._modifierPressed.read(e);switch(n&&r&&(t=Ej.Inactive),t){case Ej.Inactive:return{background:hF(iF,this._themeService).read(e).toString(),foreground:hF(nF,this._themeService).read(e).toString(),border:hF(rF,this._themeService).read(e).toString()};case Ej.Jump:return{background:hF(tF,this._themeService).read(e).toString(),foreground:hF($P,this._themeService).read(e).toString(),border:hF(eF,this._themeService).read(e).toString()};case Ej.Accept:return{background:hF(sF,this._themeService).read(e).toString(),foreground:hF(aF,this._themeService).read(e).toString(),border:hF(oF,this._themeService).read(e).toString()};default:Bu()}}),this._state=V(this,e=>{let t=this._originalRangeObs.read(e);if(t)return{range:t,lineOffsetRange:this._editorObs.observeLineOffsetRange(t,e.store)}}),this._lineNumberToRender=V(this,e=>{if(this._verticalOffset.read(e)!==0)return``;let t=this._data.read(e)?.originalRange.startLineNumber,n=this._editorObs.getOption(76).read(e);if(t===void 0||n.renderType===0)return``;if(n.renderType===3){let n=this._editorObs.cursorPosition.read(e);return t%10==0||n&&n.lineNumber===t?t.toString():``}if(n.renderType===2){let n=this._editorObs.cursorPosition.read(e);if(!n)return``;let r=Math.abs(t-n.lineNumber);return r===0?t.toString():r.toString()}return n.renderType===4?n.renderFn?n.renderFn(t):``:t.toString()}),this._availableWidthForIcon=V(this,e=>{let t=this._editorObs.editor.getModel(),n=this._editorObs.editor,r=this._editorObs.layoutInfo.read(e),i=r.decorationsLeft+r.decorationsWidth-r.glyphMarginLeft;if(!t||i<=0)return()=>0;if(r.lineNumbersLeft===0)return()=>i;let a=this._editorObs.getOption(76).read(e);if(a.renderType===2||a.renderType===0)return()=>i;let o=n.getOption(59).typicalHalfwidthCharacterWidth,s=r.lineNumbersLeft+r.lineNumbersWidth,c=(t.getLineCount()+1).toString().length,l=[];for(let e=1;e<=c;e++){let t=10**(e-1),a=n.getTopForLineNumber(t),c=e*o,u=Math.min(i,Math.max(0,s-c-r.glyphMarginLeft));l.push({firstLineNumberWithDigitCount:t,topOfLineNumber:a,usableWidthLeftOfLineNumber:u})}return e=>{for(let t=l.length-1;t>=0;t--)if(e>=l[t].topOfLineNumber)return l[t].usableWidthLeftOfLineNumber;throw new To(`Could not find avilable width for icon`)}}),this._layout=V(this,e=>{let t=this._state.read(e);if(!t)return;let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.observeLineHeightForLine(t.range.map(e=>e.startLineNumber)).read(e),i=n.decorationsLeft+n.decorationsWidth-n.glyphMarginLeft-2,a=n.height-4,o=_P.fromLeftTopWidthHeight(1,2,i,a),s=o.withTop(this._stickyScrollHeight.read(e)),c=o.withTop(s.top+2),l=t.lineOffsetRange.read(e),u=_P.fromRanges(li.fromTo(c.left,c.right),l),d=r,f=this._verticalOffset.read(e),p=u.withHeight(d).translateY(f),m=s.containsRect(p),h=this._data.read(e)?.customization?.icon,g=h?qi(h):this._tabAction.map(e=>e===Ej.Accept?A.keyboardTab:A.arrowRight),_=h?qi(h):V(this,e=>this._isHoveredOverIconDebounced.read(e)||this._isHoveredOverInlineEditDebounced.read(e)?A.check:this._tabAction.read(e)===Ej.Accept?A.keyboardTab:(this._editorObs.cursorLineNumber.read(e)??0)<=t.range.read(e).startLineNumber?A.keyboardTabAbove:A.keyboardTabBelow),v=e=>{let t=this._availableWidthForIcon.read(void 0)(e.bottom+this._editorObs.editor.getScrollTop())-1;return Math.max(Math.min(t,22),qF)};if(m){let e=p,t;t=n.lineNumbersWidth===0?Math.max(0,Math.min(Math.max(n.lineNumbersLeft-o.left,0),e.width-22)):Math.max(n.lineNumbersLeft+n.lineNumbersWidth-o.left,0);let r=e.withWidth(t),i=Math.min(e.width-t,22);return{gutterEditArea:u,icon:_,iconDirection:`right`,iconRect:e.withWidth(Math.max(i,18)).translateX(t),iconVisible:i>=18,pillRect:e,lineNumberRect:r}}let y=o.intersect(u);if(y&&y.height>=d){let e=p.moveToBeContainedIn(c).moveToBeContainedIn(y),t=e.withWidth(v(e));return{gutterEditArea:u,icon:_,iconDirection:`right`,iconRect:t,pillRect:t,iconVisible:!0}}let b=p.moveToBeContainedIn(o),ee=b.withWidth(v(b)),x=ee;return{gutterEditArea:u,icon:g,iconDirection:ee.top<p.top?`top`:`bottom`,iconRect:x,pillRect:ee,iconVisible:!0}}),this._iconRef=C.ref(),this.isVisible=this._layout.map(e=>!!e),this._hoverVisible=ls(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=ls(this,!1),this._isHoveredOverIconDebounced=wo(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=C.div({class:`inline-edits-view-gutter-indicator`,style:{position:`absolute`,overflow:`visible`}},jF(this._layout).map(e=>e?[C.div({style:{position:`absolute`,background:yn(cF),borderRadius:`3px`,...MF(t=>e.read(t).gutterEditArea)}}),C.div({class:`icon`,ref:this._iconRef,tabIndex:0,onclick:()=>{let e=this._layout.get()?.icon.get()===A.check,t=this._data.get();if(!t)throw new To(`Gutter indicator data not available`);this._editorObs.editor.focus(),e?t.model.accept():t.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(e=>e.background),"--vscodeIconForeground":this._gutterIndicatorStyles.map(e=>e.foreground),border:this._gutterIndicatorStyles.map(e=>`1px solid ${e.border}`),boxSizing:`border-box`,borderRadius:`3px`,display:`flex`,justifyContent:e.map(e=>e.iconDirection===`bottom`?`flex-start`:`flex-end`),transition:this._modifierPressed.map(e=>e?``:`background-color 0.2s ease-in-out, width 0.2s ease-in-out`),...MF(t=>e.read(t).pillRect)}},[C.div({className:`line-number`,style:{lineHeight:e.map(e=>e.lineNumberRect?e.lineNumberRect.height:0),display:e.map(e=>e.lineNumberRect?`flex`:`none`),alignItems:`center`,justifyContent:`flex-end`,width:e.map(e=>e.lineNumberRect?e.lineNumberRect.width:0),height:`100%`,color:this._gutterIndicatorStyles.map(e=>e.foreground)}},this._lineNumberToRender),C.div({style:{transform:e.map(e=>`rotate(${XF(e.iconDirection)}deg)`),transition:`rotate 0.2s ease-in-out, opacity 0.2s ease-in-out`,display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,opacity:e.map(e=>e.iconVisible?`1`:`0`),marginRight:e.map(e=>e.pillRect.width-e.iconRect.width-(e.lineNumberRect?.width??0)),width:e.map(e=>e.iconRect.width),position:`relative`,right:e.map(e=>e.iconDirection===`top`?`1px`:`0`),color:this._data.map(e=>e?.customization?.icon?.color?yn(e.customization.icon.color.id):void 0)}},[e.map((e,t)=>ZF(yt(e.icon.read(t)),{fontSize:QF(Math.min(e.iconRect.width-JF,qF))}))])])]:[])),this._originalRangeObs=jF(this._data.map(e=>e?.originalRange)),this._stickyScrollController=qP.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?ou(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):qi(0),this._isHoveredOverInlineEditDebounced=wo(this._isHoveringOverInlineEdit,100);let d=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:d.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(tn(this._isHoveredOverInlineEditDebounced,e=>{e&&this.triggerAnimation()})),this._register(Fl(e=>{d.readEffect(e),d.element&&this._editorObs.editor.applyFontInfo(d.element)}))}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map(e=>e.border).get()}`,outlineOffset:`-1px`,offset:0},{outline:`2px solid transparent`,outlineOffset:`10px`,offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;let e=this._data.get();if(!e)throw new To(`Gutter indicator data not available`);let t=new I,n=t.add(this._instantiationService.createInstance(IF,this._editorObs,e.gutterMenuData,(e,t)=>{e&&this._editorObs.editor.focus(),t&&this._onDidCloseWithCommand.fire(t),i?.dispose()}).toDisposableLiveElement()),r=this._userInteractionService.createFocusTracker(n.element,t);t.add(Fl(e=>{this._focusIsInMenu.set(r.read(e),void 0)})),t.add(Yo(()=>this._focusIsInMenu.set(!1,void 0)));let i=this._hoverService.showInstantHover({target:this._iconRef.element,content:n.element});i?(this._hoverVisible.set(!0,void 0),t.add(this._editorObs.editor.onDidScrollChange(()=>i.dispose())),t.add(i.onDispose(()=>{this._hoverVisible.set(!1,void 0),t.dispose()}))):t.dispose()}};YF=HF([UF(6,lu),UF(7,W),UF(8,jn),UF(9,Xn),UF(10,Ut)],YF);function XF(e){switch(e){case`top`:return 90;case`bottom`:return-90;case`right`:return 0}}function ZF(e,t){for(let n in t)e.style[n]=t[n];return e}function QF(e){return`${e}px`}var $F=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eI=function(e,t){return function(n,r){t(n,r,e)}},tI;(function(e){e.FirstTime=`firstTime`,e.SecondTime=`secondTime`,e.Active=`active`})(tI||={});var nI=class extends K{constructor(e,t,n,r,i){super(),this._model=e,this._indicator=t,this._collapsedView=n,this._storageService=r,this._configurationService=i,this._disposables=this._register(new fc),this._setupDone=ls({name:`setupDone`},!1),this._activeCompletionId=V(e=>{let t=this._model.read(e);if(!t||!this._setupDone.read(e))return;let n=this._indicator.read(e);if(n&&n.isVisible.read(e))return t.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===tI.Active)return;let e=new I,t=!1,n=!1,r=0,i=0;return e.add(xi(this._activeCompletionId,async(e,a,o,s)=>{if(e===void 0)return;let c=this.getNewUserType();switch(c){case tI.FirstTime:(r++>=5||t)&&(c=tI.SecondTime,this.setNewUserType(c));break;case tI.SecondTime:i++>=3&&n&&(c=tI.Active,this.setNewUserType(c))}switch(c){case tI.FirstTime:for(let e=0;e<3&&!s.isCancellationRequested;e++)await this._indicator.get()?.triggerAnimation(),await Er(500);break;case tI.SecondTime:this._indicator.get()?.triggerAnimation()}})),e.add(Fl(e=>{this._collapsedView.isVisible.read(e)&&this.getNewUserType()!==tI.Active&&this._collapsedView.triggerAnimation()})),e.add(Fl(e=>{let n=this._indicator.read(e);n&&e.store.add(tn(n.isHoveredOverIcon,async e=>{e&&(t=!0)}))})),e.add(Fl(e=>{let t=this._model.read(e);t&&e.store.add(t.onDidAccept(()=>{n=!0}))})),e}getNewUserType(){return this._storageService.get(`inlineEditsGutterIndicatorUserKind`,-1,tI.FirstTime)}setNewUserType(e){switch(e){case tI.FirstTime:throw new To(`UserKind should not be set to first time`);case tI.SecondTime:break;case tI.Active:this._disposables.clear()}this._storageService.store(`inlineEditsGutterIndicatorUserKind`,e,-1,0)}_initializeDebugSetting(){let e=`editor.inlineSuggest.edits.resetNewUserExperience`;return this._configurationService.getValue(e)&&this._storageService.remove(`inlineEditsGutterIndicatorUserKind`,-1),this._configurationService.onDidChangeConfiguration(t=>{t.affectsConfiguration(e)&&this._configurationService.getValue(e)&&(this._storageService.remove(`inlineEditsGutterIndicatorUserKind`,-1),this._disposables.value=this.setupNewUserExperience())})}};nI=$F([eI(3,kc),eI(4,Wi)],nI);var rI=class e{static{this.empty=new e([])}constructor(e){this.replacements=e,Nn(pr(e,(e,t)=>e.lineRange.endLineNumberExclusive<=t.lineRange.startLineNumber))}toString(){return this.replacements.map(e=>e.toString()).join(`,`)}getNewLineRanges(){let e=[],t=0;for(let n of this.replacements)e.push(pn.ofLength(n.lineRange.startLineNumber+t,n.newLines.length)),t+=n.newLines.length-n.lineRange.length;return e}},iI=class e{static fromSingleTextEdit(t,n){let r=$l(t.text),i=t.range.startLineNumber,a=n.getValueOfRange(w.fromPositions(new j(t.range.startLineNumber,1),t.range.getStartPosition()));r[0]=a+r[0];let o=t.range.endLineNumber+1,s=n.getTransformer().getLineLength(t.range.endLineNumber)+1,c=n.getValueOfRange(w.fromPositions(t.range.getEndPosition(),new j(t.range.endLineNumber,s)));r[r.length-1]=r[r.length-1]+c;let l=t.range.startColumn===n.getTransformer().getLineLength(t.range.startLineNumber)+1,u=t.range.endColumn===1;return l&&r[0].length===a.length&&(i++,r.shift()),r.length>0&&i<o&&u&&r[r.length-1].length===c.length&&(o--,r.pop()),new e(new pn(i,o),r)}constructor(e,t){this.lineRange=e,this.newLines=t}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new rI([this])}},aI=class{get lineEdit(){return this.action?.kind===`jumpTo`?new iI(pn.ofLength(this.action.position.lineNumber,0),[]):this.action?.kind===`edit`?iI.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText):new iI(new pn(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(pn.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(e,t,n,r,i,a,o){this.originalText=e,this.action=t,this.edit=n,this.cursorPosition=r,this.multiCursorPositions=i,this.commands=a,this.inlineCompletion=o}},oI=class{constructor(e,t,n){this._model=e,this.inlineEdit=t,this.tabAction=n,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=V(this,e=>jM(this._model.editor,this.inlineEdit.inlineCompletion,e)),this.onDidAccept=this._model.onDidAccept}accept(e){this._model.accept(void 0,e)}handleInlineEditShownNextFrame(e,t){let n=this.inlineEdit.inlineCompletion,r=Date.now();n.addRef(),bl(()=>{this._model.handleInlineSuggestionShown(n,e,t,r),n.removeRef()})}},sI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cI=function(e,t){return function(n,r){t(n,r,e)}},lI=class extends K{constructor(e,t,n){super(),this._editor=e,this._edit=t,this._accessibilityService=n,this.onDidClick=gu.None,this._iconRef=C.ref(),this.isHovered=qi(!1),this._editorObs=gs(this._editor);let r=this._edit.map(e=>e?.edit?.replacements[0]??null).map(e=>e?NA(e,this._editor.getModel()).range.getStartPosition():null),i=this._editorObs.observePosition(r,this._store),a=V(e=>{let t=i.read(e);if(!t)return null;let n=this._editorObs.layoutInfoContentLeft.read(e),r=this._editorObs.scrollLeft.read(e);return new pf(n+t.x-r,t.y)}),o=C.div({class:`inline-edits-collapsed-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:`block`}},[[this.getCollapsedIndicator(a)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:o,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this.isVisible=this._edit.map((e,t)=>!!e&&a.read(t)!==null)}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{offset:0,transform:`translateY(-3px)`},{offset:.2,transform:`translateY(1px)`},{offset:.36,transform:`translateY(-1px)`},{offset:.52,transform:`translateY(1px)`},{offset:.68,transform:`translateY(-1px)`},{offset:.84,transform:`translateY(1px)`},{offset:1,transform:`translateY(0px)`}],{duration:2e3}).finished}getCollapsedIndicator(e){let t=this._editorObs.layoutInfoContentLeft,n=e.map((e,n)=>e?e.deltaX(-t.read(n)):null),r=this.createIconPath(n);return C.svg({class:`collapsedView`,ref:this._iconRef,style:{position:`absolute`,...MF(e=>CF(this._editorObs).read(e)),overflow:`hidden`,pointerEvents:`none`}},[C.svgElem(`path`,{class:`collapsedViewPath`,d:r,fill:yn(eF)})])}createIconPath(e){return e.map(e=>{if(!e)return new AF().build();let t=e.deltaX(-3).deltaY(-1),n=t.deltaX(6),r=t.deltaY(1),i=n.deltaY(1),a=r.deltaX(3).deltaY(3);return new AF().moveTo(t).lineTo(n).lineTo(i).lineTo(a).lineTo(r).lineTo(t).build()})}};lI=sI([cI(2,jn)],lI);var uI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dI=function(e,t){return function(n,r){t(n,r,e)}},fI=14,pI=0,mI=4,hI=4,gI=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._languageService=a,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._isHovered=ls(this,!1),this.isHovered=this._isHovered,this._viewRef=C.ref(),this._editorObs=gs(this._editor);let o=n.map((e,t)=>{let n;switch(e){case Ej.Inactive:n=iF;break;case Ej.Jump:n=tF;break;case Ej.Accept:n=sF}return{border:hF(n,i).read(t).toString(),background:gF(r.read(t))}}),s=t.map(e=>e?this.getState(e):void 0),c=s.map(e=>e?this.getRendering(e,o):void 0);this.minEditorScrollHeight=V(this,e=>{let t=s.read(e);return t?t.rect.read(e).bottom+this._editor.getScrollTop():0});let l=C.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:qi(null),allowEditorOverflow:!1,minContentWidthInPx:Io(this,(e,t)=>{let n=s.read(e);if(!n)return t??0;let r=n.rect.map(e=>e.right).read(e)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(e)+mI-this._editorObs.layoutInfoContentLeft.read(e);return Math.max(t??0,r)}).recomputeInitiallyAndOnChange(this._store)})),this._register(Fl(e=>{c.read(e)?this._isHovered.set(l.isHovered.read(e),void 0):this._isHovered.set(!1,void 0)}))}fitsInsideViewport(e,t,n){let r=this._editorObs.layoutInfoWidth.read(n),i=this._editorObs.layoutInfoContentLeft.read(n),a=this._editor.getLayoutInfo().verticalScrollbarWidth,o=this._editorObs.layoutInfoMinimap.read(n).minimapLeft===0?0:this._editorObs.layoutInfoMinimap.read(n).minimapWidth;return vF(this._editorObs,e,void 0)+SF(t,this._editor,this._editor.getModel())+18<r-i-a-o}getState(e){let t=V(this,t=>{let n=e.range.startLineNumber,r=e.range.endLineNumber,i=e.range.startColumn,a=e.range.endColumn,o=this._editor.getModel()?.getLineCount()??0;return{lineWidth:vF(this._editorObs,new pn(n,n+1),t),lineWidthBelow:n+1<=o?vF(this._editorObs,new pn(n+1,n+2),t):void 0,lineWidthAbove:n-1>=1?vF(this._editorObs,new pn(n-1,n),t):void 0,startContentLeftOffset:this._editor.getOffsetForColumn(n,i),endContentLeftOffset:this._editor.getOffsetForColumn(r,a)}}),n=e.range.startLineNumber,r=e.range.endLineNumber,i=this.fitsInsideViewport(new pn(n,r+1),e.content,void 0);return{rect:V(this,a=>{let o=this._editorObs.getOption(59).read(a).typicalHalfwidthCharacterWidth,{lineWidth:s,lineWidthBelow:c,lineWidthAbove:l,startContentLeftOffset:u,endContentLeftOffset:d}=t.read(a),f=this._editorObs.layoutInfoContentLeft.read(a),p=this._editorObs.observeLineHeightForLine(n).recomputeInitiallyAndOnChange(a.store).read(a),m=this._editorObs.scrollTop.read(a),h=this._editorObs.scrollLeft.read(a),g;g=n===r&&d+5*o>=s&&i?`end`:c!==void 0&&c+fI-hI-mI<u?`below`:l!==void 0&&l+fI-hI-mI<u?`above`:`end`;let _,v,y=0,b=0;switch(g){case`end`:_=this._editorObs.editor.getTopForLineNumber(n),v=s,y=18;break;case`below`:_=this._editorObs.editor.getTopForLineNumber(n+1),v=u,y=8,b=2;break;case`above`:_=this._editorObs.editor.getTopForLineNumber(n-1),v=u,y=8,b=2}return _P.fromLeftTopWidthHeight(f+v-h,_-m,o*e.content.length,p).withMargin(pI,mI).translateX(y).translateY(b)}),label:e.content,kind:e.style}}getRendering(e,t){let n=document.createElement(`div`),r=this._editor.getModel().tokenization.tokenizeLinesAt(1,[e.label])?.[0],i;i=r&&e.kind===an.Code?Ed.fromLineTokens(r).toLineTokens(e.label,this._languageService.languageIdCodec):ic.createEmpty(e.label,this._languageService.languageIdCodec);let a=_a(new Ft([i]),ef.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],n,!0);n.style.width=`${a.minWidthInPx}px`;let o=e.rect.map(e=>e.withMargin(0,mI));return C.div({class:`collapsedView`,ref:this._viewRef,style:{position:`absolute`,...MF(e=>o.read(e)),overflow:`hidden`,boxSizing:`border-box`,cursor:`pointer`,border:t.map(e=>`1px solid ${e.border}`),borderRadius:`3px`,backgroundColor:t.map(e=>e.background),display:`flex`,alignItems:`center`,justifyContent:`center`,whiteSpace:`nowrap`},onmousedown:e=>{e.preventDefault()},onclick:e=>{this._onDidClick.fire(Dj.create(e))}},[n])}};gI=uI([dI(4,Xn),dI(5,Vo)],gI);var _I=0,vI=0,yI=1,bI=1,xI=3,SI=3,CI=class extends K{constructor(e,t,n,r){super(),this._editor=e,this._edit=t,this._uiState=n,this._tabAction=r,this.onDidClick=gu.None,this._display=V(this,e=>this._uiState.read(e)?`block`:`none`),this._editorMaxContentWidthInRange=V(this,e=>{let t=this._originalDisplayRange.read(e);return t?(this._editorObs.versionId.read(e),Io(this,(e,n)=>{let r=vF(this._editorObs,t,e);return Math.max(r,n??0)})):qi(0)}).map((e,t)=>e.read(t)),this._maxPrefixTrim=V(this,e=>{let t=this._uiState.read(e);return t?xF(t.deletions,t.originalRange,[],this._editor):{prefixTrim:0,prefixLeftOffset:0}}),this._editorLayoutInfo=V(this,e=>{let t=this._edit.read(e);if(!t||!this._uiState.read(e))return null;let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.scrollLeft.read(e),i=this._editorObs.getOption(59).map(e=>e.typicalHalfwidthCharacterWidth).read(e),a=n.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(e),i)-r,o=t.originalLineRange,s=this._originalVerticalStartPosition.read(e)??this._editor.getTopForLineNumber(o.startLineNumber)-this._editorObs.scrollTop.read(e),c=this._originalVerticalEndPosition.read(e)??this._editor.getTopForLineNumber(o.endLineNumberExclusive)-this._editorObs.scrollTop.read(e),l=n.contentLeft+this._maxPrefixTrim.read(e).prefixLeftOffset-r;return a<=l?null:{codeRect:_P.fromLeftTopRightBottom(l,s,a,c).withMargin(vI,_I),contentLeft:n.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=C.div({style:{pointerEvents:`none`}},V(this,e=>{let t=jF(this._editorLayoutInfo).read(e);if(!t)return;let n=t.map(e=>_P.fromLeftTopRightBottom(e.contentLeft-SI-yI,e.codeRect.top,e.contentLeft,e.codeRect.bottom)),r=V(this,e=>{let r=t.read(e).codeRect,i=n.read(e);return r.intersectHorizontal(new li(i.left,2**53-1))}),i=this._uiState.map(e=>e?.editorType===Ij.DiffEditor?xI:bI).read(e),a=r.map(e=>e.withMargin(i,i)),o=gF(this._uiState.map(e=>e?.editorType??Ij.TextEditor).read(e));return[C.div({class:`originalSeparatorDeletion`,style:{...a.read(e).toStyles(),borderRadius:`${SI}px`,border:`${yI+i}px solid ${o}`,boxSizing:`border-box`}}),C.div({class:`originalOverlayDeletion`,style:{...r.read(e).toStyles(),borderRadius:`${SI}px`,border:mF(this._tabAction).map(e=>`${yI}px solid ${yn(e)}`),boxSizing:`border-box`,backgroundColor:yn(JP)}}),C.div({class:`originalOverlayHiderDeletion`,style:{...n.read(e).toStyles(),backgroundColor:o}})]})).keepUpdated(this._store),this._nonOverflowView=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=qi(!1),this._editorObs=gs(this._editor);let i=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.startLineNumber,1):null}),a=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map(e=>e?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(i,this._store).map(e=>e?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(a,this._store).map(e=>e?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:V(this,e=>{let t=this._editorLayoutInfo.read(e);return t===null?0:t.codeRect.width})}))}},wI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},TI=function(e,t){return function(n,r){t(n,r,e)}},EI=1,DI=1,OI=3,kI=3,AI=class extends K{constructor(e,t,n,r,i){super(),this._editor=e,this._input=t,this._tabAction=n,this._languageService=i,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._state=V(this,e=>{let t=this._input.read(e);if(!t)return;let n=this._editor.getModel(),r=n.getEOL();if(t.startColumn===1&&t.lineNumber>1&&n.getLineLength(t.lineNumber)!==0&&t.text.endsWith(r)&&!t.text.startsWith(r)){let e=n.getLineLength(t.lineNumber-1)+1;return{lineNumber:t.lineNumber-1,column:e,text:r+t.text.slice(0,-r.length)}}return{lineNumber:t.lineNumber,column:t.startColumn,text:t.text}}),this._trimVertically=V(this,e=>{let t=this._state.read(e);if(!t)return{topOffset:0,contentHeight:0,linesTop:0,linesBottom:0};let n=t.text,r=this._editor.getLineHeightForPosition(new j(t.lineNumber,1)),i=this._editor.getModel().getEOL(),a=n.split(i).length,o=0,s=0;if(n.trim()!==``){let e=0;for(;e<n.length&&n.startsWith(i,e);e+=i.length)o+=1;for(let t=n.length;t>e&&n.endsWith(i,t);t-=i.length)s+=1}return{topOffset:o*r,contentHeight:(a-o-s)*r,linesTop:o,linesBottom:s}}),this._maxPrefixTrim=V(this,e=>{let t=this._state.read(e);if(!t)return{prefixLeftOffset:0,prefixTrim:0};let n=this._editor.getModel(),r=n.getEOL(),i=this._trimVertically.read(e),a=t.text.split(r),o=a.slice(i.linesTop,a.length-i.linesBottom);return i.linesTop===0&&(o[0]=n.getLineContent(t.lineNumber)+o[0]),xF([],new pn(t.lineNumber,t.lineNumber+(i.linesTop>0?0:1)),o,this._editor)}),this._ghostText=V(e=>{let t=this._state.read(e),n=this._maxPrefixTrim.read(e);if(!t)return;let r=this._editor.getModel().getEOL(),i=t.text.split(r).map((e,t)=>new Su(new w(t+1,t===0?1:n.prefixTrim+1,t+1,e.length+1),`modified-background`,0));return new OA(t.lineNumber,[new kA(t.column,t.text,!1,i)])}),this._display=V(this,e=>this._state.read(e)?`block`:`none`),this._editorMaxContentWidthInRange=V(this,e=>{let t=this._state.read(e);if(!t)return 0;this._editorObs.versionId.read(e);let n=this._editor.getModel(),r=n.getEOL(),i=t.text.startsWith(r)?``:n.getValueInRange(new w(t.lineNumber,1,t.lineNumber,t.column)),a=n.getValueInRange(new w(t.lineNumber,t.column,t.lineNumber,n.getLineLength(t.lineNumber)+1)),o=(i+t.text+a).split(r),s=ef.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),c=o.map(e=>{let r=n.tokenization.tokenizeLinesAt(t.lineNumber,[e])?.[0],i;return i=r?Ed.fromLineTokens(r).toLineTokens(e,this._languageService.languageIdCodec):ic.createEmpty(e,this._languageService.languageIdCodec),_a(new Ft([i]),s,[],N(`div`),!0).minWidthInPx});return Math.max(...c)}),this.startLineOffset=this._trimVertically.map(e=>e.topOffset),this.originalLines=this._state.map(e=>e?new pn(e.lineNumber,Math.min(e.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=V(this,e=>{this._ghostText.read(e);let t=this._state.read(e);if(!t)return null;this._editorObs.observePosition(ls(this,new j(t.lineNumber,t.column)),e.store).read(e);let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.scrollLeft.read(e),i=this._editorObs.layoutInfoVerticalScrollbarWidth.read(e),a=n.contentLeft+this._editorMaxContentWidthInRange.read(e)-r,o=this._maxPrefixTrim.read(e).prefixLeftOffset??0,s=n.contentLeft+o-r;if(a<=s)return null;let{topOffset:c,contentHeight:l}=this._trimVertically.read(e),u=this._editorObs.scrollTop.read(e),d=this._editor.getTopForLineNumber(t.lineNumber)-u+c,f=new _P(s,d,a,d+l);return{overlay:f,startsAtContentLeft:o===0,contentLeft:n.contentLeft,minContentWidthRequired:o+f.width+i}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=C.div({style:{pointerEvents:`none`}},V(this,e=>{let t=jF(this._overlayLayout).read(e);if(!t)return;let n=t.map(e=>_P.fromLeftTopRightBottom(e.contentLeft-kI-EI,e.overlay.top,e.contentLeft,e.overlay.bottom)).read(e),r=this._input.map(e=>e?.editorType===Ij.DiffEditor?OI:DI).read(e),i=t.map(e=>e.overlay.withMargin(0,EI,EI,e.startsAtContentLeft?0:EI).intersectHorizontal(new li(n.left,2**53-1))),a=i.map(e=>e.withMargin(r,r)),o=gF(this._input.read(void 0)?.editorType??Ij.TextEditor);return[C.div({class:`originalUnderlayInsertion`,style:{...a.read(e).toStyles(),borderRadius:kI,border:`${EI+r}px solid ${o}`,boxSizing:`border-box`}}),C.div({class:`originalOverlayInsertion`,style:{...i.read(e).toStyles(),borderRadius:kI,border:pF(this._tabAction).map(e=>`${EI}px solid ${yn(e)}`),boxSizing:`border-box`,backgroundColor:yn(YP)}}),C.div({class:`originalOverlayHiderInsertion`,style:{...n.toStyles(),backgroundColor:o}})]})).keepUpdated(this._store),this._view=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=gs(this._editor),this._ghostTextView=this._register(r.createInstance(sP,this._editor,V(e=>{let t=this._ghostText.read(e);if(t)return{ghostText:t,handleInlineCompletionShown:e=>{},warning:void 0}}),{extraClasses:[`inline-edit`],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick(e=>{this._onDidClick.fire(new Dj(e))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:V(this,e=>{let t=this._overlayLayout.read(e);return t===null?0:t.minContentWidthRequired})}))}};AI=wI([TI(3,W),TI(4,Vo)],AI);var jI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},MI=function(e,t){return function(n,r){t(n,r,e)}},NI=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._edit=t,this._editorType=n,this._tabAction=r,this._languageService=i,this._themeService=a,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((e,t)=>e?xF(e.replacements.flatMap(e=>[e.originalRange,e.modifiedRange]),e.originalRange,e.modifiedLines,this._editor.editor,t):void 0),this._modifiedLineElements=V(this,e=>{let t=[],n=0,r=this._maxPrefixTrim.read(e),i=this._edit.read(e);if(!i||!r)return;let a=r.prefixTrim,o=PI(i.replacements.map(e=>e.modifiedRange)).map(e=>new w(e.startLineNumber,e.startColumn-a,e.endLineNumber,e.endColumn-a)),s=this._editor.model.get(),c=i.modifiedRange.startLineNumber;for(let r=0;r<i.modifiedRange.length;r++){let l=document.createElement(`div`),u=c+r,d=i.modifiedLines[r].slice(a),f=s.tokenization.tokenizeLinesAt(u,[d])?.[0],p;p=f?Ed.fromLineTokens(f).toLineTokens(d,this._languageService.languageIdCodec):ic.createEmpty(d,this._languageService.languageIdCodec);let m=[];for(let e of o.filter(e=>e.startLineNumber===u)){let t=Math.min(e.endColumn,d.length+1);m.push(new Su(new w(1,e.startColumn,1,t),`inlineCompletions-modified-bubble`,0))}let h=_a(new Ft([p]),ef.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),m,l,!0);this._editor.getOption(59).read(e),n=Math.max(n,h.minWidthInPx),t.push(l)}return{lines:t,requiredWidth:n}}),this._layout=V(this,e=>{let t=this._modifiedLineElements.read(e),n=this._maxPrefixTrim.read(e),r=this._edit.read(e);if(!t||!n||!r)return;let{prefixLeftOffset:i}=n,{requiredWidth:a}=t,o=this._editor.observeLineHeightsForLineRange(r.originalRange).read(e),s=(()=>{let e=o.slice(0,r.modifiedRange.length);for(;e.length<r.modifiedRange.length;)e.push(o[o.length-1]);return e})(),c=this._editor.layoutInfoContentLeft.read(e),l=this._editor.layoutInfoVerticalScrollbarWidth.read(e),u=this._editor.scrollLeft.read(e),d=this._editor.scrollTop.read(e),f=c-u,p=this._editor.editor.getModel(),m=r.originalRange.mapToLineArray(e=>this._editor.editor.getOffsetForColumn(e,p.getLineMaxColumn(e))-i),h=Math.max(...m,a),g=r.originalRange.startLineNumber,_=r.originalRange.endLineNumberExclusive-1,v=this._editor.editor.getTopForLineNumber(g)-d,y=this._editor.editor.getBottomForLineNumber(_)-d,b=_P.fromLeftTopWidthHeight(f+i,v,h,y-v),ee=_P.fromLeftTopWidthHeight(b.left,b.bottom,b.width,s.reduce((e,t)=>e+t,0)),x=_P.hull([b,ee]),te=x.intersectVertical(new li(b.bottom,2**53-1));return{originalLinesOverlay:b,modifiedLinesOverlay:ee,background:x,lowerBackground:te,lowerText:new _P(te.left,te.top,te.right,te.bottom),modifiedLineHeights:s,minContentWidthRequired:i+h+l}}),this._viewZoneInfo=V(e=>{if(!this._editor.getOption(71).map(e=>e.edits.allowCodeShifting===`always`).read(e))return;let t=this._layout.read(e),n=this._edit.read(e);if(t&&n)return{height:t.lowerBackground.height,lineNumber:n.originalRange.endLineNumberExclusive}}),this.minEditorScrollHeight=V(this,e=>{let t=jF(this._layout).read(e);return!t||this._viewZoneInfo.read(e)!==void 0?0:t.read(e).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=C.div({class:`line-replacement`},[V(this,e=>{let t=jF(this._layout).read(e),n=this._modifiedLineElements.read(e);if(!t||!n)return[];let r=t.read(e),i=this._editor.layoutInfoContentLeft.read(e),a=this._editorType.read(e)===Ij.DiffEditor?3:1;n.lines.forEach((e,t)=>{e.style.width=`${r.lowerText.width}px`,e.style.height=`${r.modifiedLineHeights[t]}px`,e.style.position=`relative`});let o=pF(this._tabAction).read(e),s=mF(this._tabAction).read(e),c=gF(this._editorType.read(e));return[C.div({style:{position:`absolute`,...MF(e=>CF(this._editor).read(e)),overflow:`hidden`,pointerEvents:`none`}},[C.div({class:`borderAroundLineReplacement`,style:{position:`absolute`,...MF(e=>t.read(e).background.translateX(-i).withMargin(a)),borderRadius:`3px`,border:`${a+1}px solid ${c}`,boxSizing:`border-box`,pointerEvents:`none`}}),C.div({class:`originalOverlayLineReplacement`,style:{position:`absolute`,...MF(e=>t.read(e).background.translateX(-i)),borderRadius:`3px`,border:hF(s,this._themeService).map(e=>`1px solid ${e.toString()}`),pointerEvents:`none`,boxSizing:`border-box`,background:yn(JP)}}),C.div({class:`modifiedOverlayLineReplacement`,style:{position:`absolute`,...MF(e=>t.read(e).lowerBackground.translateX(-i)),borderRadius:`0 0 3px 3px`,background:c,boxShadow:`${yn(vl)} 0 6px 6px -6px`,border:`1px solid ${yn(o)}`,boxSizing:`border-box`,overflow:`hidden`,cursor:`pointer`,pointerEvents:`auto`},onmousedown:e=>{e.preventDefault()},onclick:e=>this._onDidClick.fire(Dj.create(e))},[C.div({style:{position:`absolute`,top:0,left:0,width:`100%`,height:`100%`,background:yn(ZP)}})]),C.div({class:`modifiedLinesLineReplacement`,style:{position:`absolute`,boxSizing:`border-box`,...MF(e=>t.read(e).lowerText.translateX(-i)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:`none`,whiteSpace:`nowrap`,borderRadius:`0 0 3px 3px`,overflow:`hidden`}},[...n.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered(e=>this._isMouseOverWidget(e),this._store),this._previousViewZoneInfo=void 0,this._register(Yo(()=>this._editor.editor.changeViewZones(e=>this.removePreviousViewZone(e)))),this._register(Fd(this._viewZoneInfo,({lastValue:e,newValue:t})=>{e===t||e?.height===t?.height&&e?.lineNumber===t?.lineNumber||this._editor.editor.changeViewZones(e=>{this.removePreviousViewZone(e),t&&this.addViewZone(t,e)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:V(this,e=>this._layout.read(e)?.minContentWidthRequired??0),position:qi({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(e){let t=this._layout.get();return!t||!(e.event instanceof Jr)?!1:t.lowerBackground.containsPoint(new pf(e.event.relativePos.x,e.event.relativePos.y))}removePreviousViewZone(e){if(!this._previousViewZoneInfo)return;e.removeZone(this._previousViewZoneInfo.id);let t=this._editor.cursorLineNumber.get();t!==null&&t>=this._previousViewZoneInfo.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height),this._previousViewZoneInfo=void 0}addViewZone(e,t){let n=t.addZone({afterLineNumber:e.lineNumber-1,heightInPx:e.height,domNode:N(`div`)});this._previousViewZoneInfo={height:e.height,lineNumber:e.lineNumber,id:n};let r=this._editor.cursorLineNumber.get();r!==null&&r>=e.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()+e.height)}};NI=jI([MI(4,Vo),MI(5,Xn)],NI);function PI(e){let t=[];for(;e.length;){let n=e.shift();n.startLineNumber!==n.endLineNumber&&(e.push(new w(n.startLineNumber+1,1,n.endLineNumber,n.endColumn)),n=new w(n.startLineNumber,n.startColumn,n.startLineNumber,2**53-1)),t.push(n)}return t}function FI(e,t){let n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?{min:0,rules:r}:{min:r.min??0,rules:r.rules??[{max:r.max,priority:r.priority,share:r.share}]};let r={},i=0;for(let[e,t]of Object.entries(n))r[e]=t.min,i+=t.min;if(i>e)return null;let a=e-i;for(;a>0;){let e=[];for(let[t,i]of Object.entries(n))for(let n=0;n<i.rules.length;n++){let a=i.rules[n];r[t]<(a.max??1/0)&&e.push({partKey:t,ruleIndex:n,rule:a,priority:a.priority??0,share:a.share??1})}if(e.length===0)break;let t=Math.max(...e.map(e=>e.priority)),i=e.filter(e=>e.priority===t),o=i.reduce((e,t)=>e+t.share,0),s=0,c=[];for(let e of i){let t=e.rule,n=r[e.partKey],i=(t.max??1/0)-n,l=a*e.share/o,u=Math.min(l,i);c.push({partKey:e.partKey,ruleIndex:e.ruleIndex,amount:u}),s+=u}if(s===0)break;for(let e of c)r[e.partKey]+=e.amount;if(a-=s,a<1e-4)break}return r}var II=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},LI=function(e,t){return function(n,r){t(n,r,e)}},RI=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._data=n,this._themeService=r,this._keybindingService=i,this._contextKeyService=a,this._styles=V(this,e=>({background:hF(tF,this._themeService).read(e).toString(),foreground:hF($P,this._themeService).read(e).toString(),border:hF(eF,this._themeService).read(e).toString()})),this._pos=V(this,e=>this._editor.observePosition(V(e=>this._data.read(e)?.jumpToPosition||null),e.store)).flatten(),this._layout=V(this,e=>{let t=this._data.read(e);if(!t)return;let n=t.jumpToPosition,r=this._editor.observeLineHeightForLine(qi(n.lineNumber)).read(e),i=this._editor.scrollLeft.read(e),a=this._pos.read(e);if(!a)return;let o=this._editor.layoutInfo.read(e);return{widgetRect:_P.fromLeftTopWidthHeight(a.x+o.contentLeft+2-i,a.y,100,r)}}),this._blink=zI([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=C.div({class:`inline-edit-jump-to-widget`,style:{position:`absolute`,display:this._layout.map(e=>e?`flex`:`none`),alignItems:`center`,cursor:`pointer`,userSelect:`none`,...MF(e=>this._layout.read(e)?.widgetRect)}},V(e=>this._data.read(e)===void 0?[]:C.div({style:{display:`flex`,alignItems:`center`,gap:`4px`,padding:`0 4px`,height:`100%`,backgroundColor:this._styles.map(e=>e.background),"--vscodeIconForeground":this._styles.map(e=>e.foreground),border:this._styles.map(e=>`1px solid ${e.border}`),borderRadius:`3px`,boxSizing:`border-box`,fontSize:`11px`,color:this._styles.map(e=>e.foreground)}},[this._style===`cursor`?C.elem(`div`,{style:{borderLeft:`2px solid`,height:14,opacity:this._blink.map(e=>e?`0`:`1`)}}):[V(()=>C.elem(`div`,{},BI(this._keybinding))),C.elem(`div`,{style:{lineHeight:this._layout.map(e=>e?.widgetRect.height),marginTop:`-2px`}},[`to jump`])]]))),this._style=t.style,this._keybinding=this._getKeybinding(U_);let o=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:o.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this._register(this._editor.setDecorations(V(e=>{let t=this._data.read(e);return t?[{range:w.fromPositions(t.jumpToPosition,t.jumpToPosition),options:{description:`inline-edit-jump-to-decoration`,inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style===`label`?` `:` `}}}]:[]})))}_getKeybinding(e,t=Af.ofCaller()){return e?ou(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e),t):qi(void 0)}};RI=II([LI(3,Xn),LI(4,Ta),LI(5,Ra)],RI);function zI(e,t=Af.ofCaller()){let n=0;return ou(void 0,t=>{n=0;let r=new Lr(()=>{n=(n+1)%e.length,t(null),r.schedule(e[n].durationMs)},0);return r.schedule(0),r},()=>e[n].value,t)}function BI(e){return V(t=>C.div({style:{},ref:n=>{let r=t.store.add(new Lf(n,ys,{disableTitle:!0,...Bn,keybindingLabelShadow:void 0,keybindingLabelForeground:yn($P),keybindingLabelBackground:`transparent`,keybindingLabelBorder:yn($P),keybindingLabelBottomBorder:void 0}));t.store.add(Fl(t=>{r.set(e.read(t))}))}}))}var VI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},HI=function(e,t){return function(n,r){t(n,r,e)}};function UI(e,t,n){let r=Math.max(1,Math.min(n,e)),i=Math.max(1,r-t),a=Math.min(n+1,r+t+1);return new pn(i,a)}var WI=class extends K{constructor(e,t,n,r,i){super(),this._previewTextModel=e,this._properties=t,this._parentEditor=n,this._tabAction=r,this._instantiationService=i,this._previewRef=C.ref(),this.element=C.div({class:`preview`,style:{},ref:this._previewRef}),this._state=V(this,e=>{let t=this._properties.read(e);if(!t)return;let n,r;t.nextCursorPosition===null?t.diff[0].innerChanges?.every(e=>e.modifiedRange.isEmpty())?(n=`original`,r=t.diff[0].original.startLineNumber):(n=`modified`,r=t.diff[0].modified.startLineNumber):(n=`original`,r=t.nextCursorPosition.lineNumber);let i=n===`modified`?uj.snapshot(this._previewTextModel):t.target,a=this._parentEditorObs.getOption(71).read(e).edits.longDistanceHintContextLineCount,o=n===`modified`?this._previewTextModel:t.target.dangerouslyGetUnderlyingModel(),s=UI(r,a,o.getLineCount());return{mode:n,targetLineNumber:r,visibleLineRange:s,textModel:i,diff:t.diff}}),this.updatePreviewEditorEffect=V(this,e=>{this._previewEditorObs.model.read(e);let t=this._state.read(e)?.visibleLineRange;if(!t)return;let n=[];t.startLineNumber>1&&n.push(new w(1,1,t.startLineNumber-1,1)),t.endLineNumberExclusive<this._previewTextModel.getLineCount()+1&&n.push(new w(t.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(n,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=V(this,e=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,e)),this.contentHeight=V(this,e=>{let t=this._state.read(e);return t?this._previewEditorObs.observeLineHeightsForLineRange(t.visibleLineRange).map(e=>e.reduce((e,t)=>e+t,0)):qi(null)}).flatten(),this._editorDecorations=V(this,e=>{let t=this._state.read(e);if(!t)return;let n={diff:t.diff},r=[],i=[],a=F.register({className:`inlineCompletions-char-delete`,description:`char-delete`,isWholeLine:!1,zIndex:1}),o=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,isWholeLine:!0}),s=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0});for(let e of n.diff)if(e.modified.isEmpty||e.original.isEmpty)e.original.isEmpty||r.push({range:e.original.toInclusiveRange(),options:a}),e.modified.isEmpty||i.push({range:e.modified.toInclusiveRange(),options:o});else for(let t of e.innerChanges||[])e.original.contains(t.originalRange.startLineNumber)&&!t.originalRange.isEmpty()&&r.push({range:t.originalRange,options:{description:`char-delete`,shouldFillLineOnLineBreak:!1,className:TF(`inlineCompletions-char-delete`,t.originalRange.isEmpty()&&`empty`),zIndex:1}}),e.modified.contains(t.modifiedRange.startLineNumber)&&i.push({range:t.modifiedRange,options:s});return{originalDecorations:r,modifiedDecorations:i}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=gs(this._parentEditor),this._register(Fl(e=>{let t=this._state.read(e)?.textModel||null;t&&this.previewEditor.setModel(t.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=gs(this.previewEditor),this._register(this._previewEditorObs.setDecorations(V(e=>{let t=this._state.read(e),n=this._editorDecorations.read(e);return(t?.mode===`original`?n?.originalDecorations:n?.modifiedDecorations)??[]}))),this._register(Fl(e=>{if(!this._properties.read(e))return;let t=this._parentEditorObs.cursorPosition.read(e);t&&this.previewEditor.setPosition(this._previewTextModel.validatePosition(t),`longDistanceHintPreview`)})),this._register(Fl(e=>{let t=this._state.read(e);if(!t)return;let n=(t.visibleLineRange.endLineNumberExclusive-1).toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:n+1})})),this._register(this._instantiationService.createInstance(YF,this._previewEditorObs,V(e=>{let t=this._state.read(e);if(!t)return;let n=this._properties.read(e);if(n)return new WF(n.inlineSuggestInfo,pn.ofLength(t.targetLineNumber,1),n.model,void 0)}),this._tabAction,qi(0),qi(!1),ls(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(Xb,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:{[qO.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(e,t){let n=this._state.read(t);if(!n)return;let r=n.diff,i=this._properties.read(t)?.nextCursorPosition,a=n.visibleLineRange,o=this._previewEditorObs.layoutInfo.read(t),s=vF(this._previewEditorObs,a,t),c;if(i)c=w.fromPositions(i);else if(r[0].innerChanges)c=n.mode===`modified`?r[0].innerChanges[0].modifiedRange:r[0].innerChanges[0].originalRange;else return;let l=GI(e.getModel(),c,5),u=this._previewEditorObs.getLeftOfPosition(l.getStartPosition(),t),d=this._previewEditorObs.getLeftOfPosition(l.getEndPosition(),t),f=Qt(u,0,s),p=Qt(d,f,s),m=e.getModel().getLineFirstNonWhitespaceColumn(l.startLineNumber);return{indentationEnd:this._previewEditorObs.getLeftOfPosition(new j(l.startLineNumber,m),t),preferredRangeToReveal:new li(f,p),maxEditorWidth:s+o.contentLeft,contentWidth:s,nonContentWidth:o.contentLeft}}layout(e,t){this.previewEditor.layout(e),this._previewEditorObs.editor.setScrollLeft(t)}};WI=VI([HI(4,W)],WI);function GI(e,t,n){let r=t.getStartPosition(),i=t.getEndPosition(),a=e.getLineContent(r.lineNumber);function o(e){let t=a.charAt(e-1);return/[a-zA-Z0-9_]/.test(t)}function s(e){let t=a.charAt(e-1);return t===` `||t===` `}let c=r.column;for(;c>1&&o(c)&&!s(c-1)&&r.column-c<n;)c--;let l=i.column-1;for(;l<=a.length&&o(l)&&!s(l+1)&&l-i.column<n;)l++;return new w(r.lineNumber,c,i.lineNumber,l+1)}function KI(e,t){let n=e.start,r=e.endExclusive,i=Number.MAX_VALUE,a=0;for(let e of t){let t=a+e.width;Math.max(n,a)<Math.min(r,t)&&(i=Math.min(i,e.height)),a=t}return r>a||i===Number.MAX_VALUE?0:i}var qI=class{constructor(e,t,n){this._lineRangeInfo=e,this.availableSpaceSizes=e.sizes.map((r,i)=>{let a=n(e.lineRange.startLineNumber+i);return new gP(Math.max(0,t-r.width-a),r.height)}),this.availableSpaceHeightPrefixSums=XI(this.availableSpaceSizes,e=>e.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map(e=>e.transpose())}getWidgetVerticalOutline(e,t,n){let r=e-this._lineRangeInfo.lineRange.startLineNumber,i=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[r],a=li.ofStartAndLength(i,t),{previewEditorMargin:o,widgetPadding:s,widgetBorder:c,lowerBarHeight:l}=n;return a.withMargin(o+s+c).withMargin(0,l)}tryFindWidgetOutline(e,t,n,r){if(!(this._lineRangeInfo.lineRange.length<3))return YI(this._lineRangeInfo.lineRange.addMargin(-1,-1),e,e=>{let i=this.getWidgetVerticalOutline(e,t,r),a=KI(i.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);if(!(a<r.minWidgetWidth))return{horizontalWidgetRange:li.ofStartAndLength(n-a,a),verticalWidgetRange:i}})}};function JI(e,t,n,r,i){let a=[],o=e.startLineNumber,s=n,c=[];for(let n=0;n<t.length;n++){let i=e.startLineNumber+n,l=s+c.reduce((e,t)=>e+t.height,0),u=r.editor.getTopForLineNumber(i);n>0&&u!==l&&(a.push({lineRange:pn.ofLength(o,i-o),top:s,sizes:c}),o=i,s=u,c=[]),c.push(t[n])}return a.push({lineRange:pn.ofLength(o,e.endLineNumberExclusive-o),top:s,sizes:c}),V({owner:`splitIntoContinuousLineRanges`},t=>r.observeTopForLineNumber(e.endLineNumberExclusive-1).read(t)).read(i),a}function YI(e,t,n){for(let r=0;;r++){let i=t+r;if(i<=e.endLineNumberExclusive){let e=n(i);if(e!==void 0)return e}let a=t-r;if(a>=e.startLineNumber){let e=n(a);if(e!==void 0)return e}if(a<e.startLineNumber&&i>e.endLineNumberExclusive)return}}function XI(e,t){let n=[0],r=0;for(let i of e)r+=t(i),n.push(r);return n}var ZI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},QI=function(e,t){return function(n,r){t(n,r,e)}},$I=6,eL={EMPTY_SPACE:425,OVERLAY:375},tL={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:250},nL=class extends K{constructor(e,t,n,r,i,a,o,s,c){super(),this._editor=e,this._viewState=t,this._previewTextModel=n,this._tabAction=r,this._instantiationService=i,this._themeService=a,this._keybindingService=o,this._modelService=s,this._languageService=c,this.onDidClick=gu.None,this._viewWithElement=void 0,this._hintTextPosition=V(this,e=>{let t=this._viewState.read(e);return t?new j(t.hint.lineNumber,2**53-1):null}),this._lineSizesAroundHintPosition=V(this,e=>{let t=this._viewState.read(e),n=this._hintTextPosition.read(e);if(!t||!n)return[];let r=this._editorObs.model.read(e);if(!r)return[];let i=pn.ofLength(n.lineNumber,1).addMargin(5,5).intersect(pn.ofLength(1,r.getLineCount()));return i?JI(i,yF(this._editorObs,i,e),this._editorObs.observeTopForLineNumber(i.startLineNumber).read(e),this._editorObs,e):[]}),this._isVisibleDelayed=fo(V(this,e=>this._viewState.read(e)?.hint.isVisible),(e,t)=>e===!0&&t===!1?200:0),this._previewEditorLayoutInfo=V(this,e=>{let t=this._viewState.read(e);if(!t||!this._isVisibleDelayed.read(e))return;let n=this._lineSizesAroundHintPosition.read(e);if(n.length===0)return;let r=this._editorObs.scrollTop.read(e),i=this._editorObs.scrollLeft.read(e),a=this._editorObs.layoutInfo.read(e),o=this._previewEditor.contentHeight.read(e),s=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(e);if(!o||!s)return;let c=a.contentWidth-a.verticalScrollbarWidth,l=a.contentLeft+c;if(!this._editorObs.cursorLineNumber.read(e))return;let u=tL,d=o+2,f,p,m=e=>e===t.hint.lineNumber?40:20;for(let e of n){let n=new qI(e,c,m);if(p=n,f=n.tryFindWidgetOutline(t.hint.lineNumber,d,l,u),f)break}let h=`empty-space`;if(!f){h=`overlay`;let e=Math.min(a.width-a.contentLeft,eL.OVERLAY),r=p??new qI(n[0],c,m);f={horizontalWidgetRange:li.ofStartAndLength(l-e,e),verticalWidgetRange:r.getWidgetVerticalOutline(t.hint.lineNumber+2,d,u).delta(10)}}if(!f)return;let g=_P.fromRanges(f.horizontalWidgetRange,f.verticalWidgetRange).translateX(-i).translateY(-r),{previewEditorMargin:_,widgetPadding:v,widgetBorder:y,lowerBarHeight:b}=u,ee=h===`overlay`?eL.OVERLAY:eL.EMPTY_SPACE,x=s.maxEditorWidth+_+v,te=Math.min(ee,Math.max(x,u.minWidgetWidth)),ne=FI(g.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:te,priority:1}]},spaceAfter:{min:10}});if(!ne)return null;let re=rL([ne.spaceBefore,ne.content,ne.spaceAfter],g.left);g.withHorizontalRange(re[0]);let ie=g.withHorizontalRange(re[1]);g.withHorizontalRange(re[2]);let ae=ie.withMargin(-v-y-_).withMargin(0,0,-b,0),oe=ae.width-s.nonContentWidth,se=oe*.8,ce=s.preferredRangeToReveal.intersect(li.ofStartAndLength(s.preferredRangeToReveal.start,se))??s.preferredRangeToReveal,le=iL(s.indentationEnd,oe,ce);return{codeEditorSize:ae.getSize(),codeScrollLeft:i,contentLeft:a.contentLeft,widgetRect:ie,previewEditorMargin:_,widgetPadding:v,widgetBorder:y,lowerBarHeight:b,desiredPreviewEditorScrollLeft:le.newScrollPosition}}),this._view=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:V(this,e=>this._previewEditorLayoutInfo.read(e)?`block`:`none`)}},[V(this,e=>[this._widgetContent])]),this._widgetContent=V(this,e=>C.div({class:[`inline-edits-long-distance-hint-widget`,`show-file-icons`],style:{position:`absolute`,overflow:`hidden`,cursor:`pointer`,background:yn(It),padding:this._previewEditorLayoutInfo.map(e=>e?.widgetPadding),boxSizing:`border-box`,borderRadius:$I,border:V(e=>`${this._previewEditorLayoutInfo.read(e)?.widgetBorder}px solid ${this._styles.read(e).border}`),display:`flex`,flexDirection:`column`,opacity:V(e=>this._viewState.read(e)?.hint.isVisible?`1`:`0`),transition:`opacity 200ms ease-in-out`,...MF(e=>this._previewEditorLayoutInfo.read(e)?.widgetRect)},onmousedown:e=>{e.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[C.div({class:[`editorContainer`],style:{overflow:`hidden`,padding:this._previewEditorLayoutInfo.map(e=>e?.previewEditorMargin),background:this._styles.map(e=>e.background),pointerEvents:`none`}},[V(this,e=>this._previewEditor.element)]),C.div({class:`bar`,style:{color:yn(Gr),pointerEvents:`none`,margin:`0 4px`,height:this._previewEditorLayoutInfo.map(e=>e?.lowerBarHeight),display:`flex`,justifyContent:`space-between`,alignItems:`center`}},[V(this,e=>{let t=[],n=this._viewState.read(e);if(!n)return t;let r=this._editorObs.model.read(e),i=n.target.uri,a=!r||!n.target.targets(r);if(a){let e=Zd(i),n=bN(this._modelService,this._languageService,i,uD.FILE);t.push(C.div({class:`target-file`,style:{display:`flex`,alignItems:`center`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},[C.elem(`span`,{class:n,style:{flexShrink:`0`,marginRight:`4px`}}),e]))}else{let n=this._originalOutlineSource.read(e),r=this._originalTargetLineNumber.read(e),i=n?.getAt(r,e).slice(0,1)??[],a=[];if(i.length>0)for(let e=0;e<i.length;e++){let t=i[e],n=Ii.toIcon(t.kind);a.push(C.div({class:`breadcrumb-item`,style:{display:`flex`,alignItems:`center`,flex:`1 1 auto`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`}},[yt(n),`\xA0`,t.name,...e===i.length-1?[]:[yt(A.chevronRight)]]))}t.push(C.div({class:`outline-elements`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},a))}let o=this._originalTargetLineNumber.read(e),s=a?A.arrowRight:n.hint.lineNumber<o?A.arrowDown:A.arrowUp,c=this._keybindingService.lookupKeybinding(q_),l=a?`Go to file`:`Go to suggestion`;return c&&c.getLabel()===`Tab`&&(l=a?`Tab to open`:`Tab to jump`),t.push(C.div({class:`go-to-label`,style:{position:`relative`,display:`flex`,alignItems:`center`,flex:`0 0 auto`,paddingLeft:`6px`}},[l,`\xA0`,yt(s)])),t})])])),this._originalTargetLineNumber=V(this,e=>{let t=this._viewState.read(e);return t?t.edit.action?.kind===`jumpTo`?t.edit.action.position.lineNumber:t.diff[0]?.original.startLineNumber??-1:-1}),this._originalOutlineSource=ql(this,e=>{let t=this._editorObs.model.read(e),n=Sc._breadcrumbsSourceFactory.read(e);return!t||!n?void 0:n(t,this._instantiationService)}),this._styles=V(e=>{let t=this._tabAction.read(e),n=_F(tf,this._themeService).read(e),r=ou(this._themeService.onDidColorThemeChange,()=>{let e=this._themeService.getColorTheme();return e.type===`hcDark`||e.type===`hcLight`}).read(e),i;if(r)i=n;else{let n;switch(t){case Ej.Inactive:n=iF;break;case Ej.Jump:n=tF;break;case Ej.Accept:n=sF}i=hF(n,this._themeService).read(e)}return{border:i.toString(),background:gF(this._viewState.map(e=>e?.editorType??Ij.TextEditor).read(e))}}),this._editorObs=gs(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(WI,this._previewTextModel,V(e=>{let t=this._viewState.read(e);if(t)return{diff:t.diff,model:t.model,inlineSuggestInfo:t.inlineSuggestInfo,nextCursorPosition:t.nextCursorPosition,target:t.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this._widgetContent.get().keepUpdated(this._store),this._register(Fl(e=>{let t=this._previewEditorLayoutInfo.read(e);t&&this._previewEditor.layout(t.codeEditorSize.toDimension(),t.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};nL=ZI([QI(4,W),QI(5,Xn),QI(6,Ta),QI(7,dt),QI(8,Vo)],nL);function rL(e,t=0){let n=[],r=t;for(let t of e)n.push(new li(r,r+t)),r+=t;return n}function iL(e,t,n){let r=new li(e,e+t);return r.containsRange(n)?{newScrollPosition:e}:n.length>t?{newScrollPosition:n.start}:n.endExclusive>r.endExclusive?{newScrollPosition:n.endExclusive-t}:n.start<r.start?{newScrollPosition:n.start}:{newScrollPosition:e}}var aL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oL=function(e,t){return function(n,r){t(n,r,e)}},sL=0,cL=0,lL=1,uL=1,dL=3,fL=3,pL=20,mL=12,hL=class extends K{static fitsInsideViewport(e,t,n,r){let i=gs(e),a=i.layoutInfoWidth.read(r),o=i.layoutInfoContentLeft.read(r),s=e.getLayoutInfo().verticalScrollbarWidth,c=i.layoutInfoMinimap.read(r).minimapLeft===0?0:i.layoutInfoMinimap.read(r).minimapWidth,l=vF(i,n.displayRange,void 0),u=n.lineEdit.newLines.reduce((n,r)=>Math.max(n,SF(r,e,t)),0),d=pL;return l+u+d+14<a-o-s-c}constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._edit=t,this._previewTextModel=n,this._uiState=r,this._tabAction=i,this._instantiationService=a,this._themeService=o,this._userInteractionService=s,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._editorObs=gs(this._editor),this._display=V(this,e=>this._uiState.read(e)?`block`:`none`),this.previewRef=C.ref();let c=this._uiState.map(e=>e?.editorType===Ij.DiffEditor?dL:uL);this._editorContainer=C.div({class:[`editorContainer`],style:{position:`absolute`,overflow:`hidden`,cursor:`pointer`},onmousedown:e=>{e.preventDefault()},onclick:e=>{this._onDidClick.fire(Dj.create(e))}},[C.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(Xb,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:{[qO.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=gs(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=V(this,e=>{this._editorContainer.readEffect(e),this._previewEditorObs.model.read(e),this._display.read(e),this._nonOverflowView&&(this._nonOverflowView.element.style.display=this._display.read(e));let t=this._uiState.read(e),n=this._edit.read(e);if(!t||!n)return;let r=n.originalLineRange,i=[];r.startLineNumber>1&&i.push(new w(1,1,r.startLineNumber-1,1)),r.startLineNumber+t.newTextLineCount<this._previewTextModel.getLineCount()+1&&i.push(new w(r.startLineNumber+t.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(i,void 0,!0);let a=[...this._activeViewZones];this._activeViewZones=[];let o=r.endLineNumberExclusive-r.startLineNumber-t.newTextLineCount;this.previewEditor.changeViewZones(e=>{a.forEach(t=>e.removeZone(t)),o>0&&this._activeViewZones.push(e.addZone({afterLineNumber:r.startLineNumber+t.newTextLineCount-1,heightInLines:o,showInHiddenAreas:!0,domNode:N(`div.diagonal-fill.inline-edits-view-zone`)}))})}),this._previewEditorWidth=V(this,e=>{let t=this._edit.read(e);return t?(this._updatePreviewEditor.read(e),vF(this._previewEditorObs,t.modifiedLineRange,e)):0}),this._cursorPosIfTouchesEdit=V(this,e=>{let t=this._editorObs.cursorPosition.read(e),n=this._edit.read(e);if(n&&t)return n.modifiedLineRange.contains(t.lineNumber)?t:void 0}),this._originalStartPosition=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map(e=>e?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map(e=>e?.y),this._originalDisplayRange=this._edit.map(e=>e?.displayRange),this._editorMaxContentWidthInRange=V(this,e=>{let t=this._originalDisplayRange.read(e);return t?(this._editorObs.versionId.read(e),Io(this,(e,n)=>{let r=vF(this._editorObs,t,e);return Math.max(r,n??0)})):qi(0)}).map((e,t)=>e.read(t));let l=NF(this._editor,this._store);this._previewEditorLayoutInfo=V(this,e=>{let t=this._edit.read(e);if(!t||!this._uiState.read(e))return null;let n=t.originalLineRange,r=this._editorObs.scrollLeft.read(e),i=this._editorMaxContentWidthInRange.read(e),a=this._editorObs.layoutInfo.read(e),o=this._previewEditorWidth.read(e),s=a.contentWidth-a.verticalScrollbarWidth,c=l.read(e),u=a.contentLeft+a.contentWidth+c.left,d=cl(this._editor.getContainerDomNode()).innerWidth-u,f=cl(this._editor.getContainerDomNode()).innerWidth-c.right,p=Math.min(a.contentWidth*.3,o,100),m=0+d,h=this._cursorPosIfTouchesEdit.read(e),g=Math.max(s+r-0-Math.max(0,p-m),Math.min(h?bF(this._editorObs,h,e)+50:0,s+r)),_=Math.min(i+pL,g),v=i+pL+o+70,y=g-_,b,ee;_>r?(b=0,ee=a.contentLeft+_-r):(b=r-_,ee=a.contentLeft);let x=this._originalVerticalStartPosition.read(e)??this._editor.getTopForLineNumber(n.startLineNumber)-this._editorObs.scrollTop.read(e),te=this._originalVerticalEndPosition.read(e)??this._editor.getBottomForLineNumber(n.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(e),ne=a.contentLeft-r,re=_P.fromLeftTopRightBottom(ne,x,ee,te),ie=re.height===0;ie||(re=re.withMargin(cL,sL));let ae=this._previewEditorObs.observeLineHeightsForLineRange(t.modifiedLineRange).read(e).reduce((e,t)=>e+t,0),oe=te-x,se=Math.max(oe,ae),ce=y===0,le=Math.min(o+mL,f+a.width-a.contentLeft-0),ue=_P.fromLeftTopWidthHeight(re.right+0,x,le,se);return ue=ie?ue.withMargin(cL,sL).translateY(cL):ue.withMargin(cL,sL).translateX(1),{codeRect:re,editRect:ue,codeScrollLeft:r,contentLeft:a.contentLeft,isInsertion:ie,maxContentWidth:v,shouldShowShadow:ce,desiredPreviewEditorScrollLeft:b,previewEditorWidth:le}}),this._stickyScrollController=qP.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?ou(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):qi(0),this._shouldOverflow=V(this,e=>!1),this._originalBackgroundColor=ou(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(JP)??qs.transparent),this._editorBackgroundColor=this._uiState.map(e=>gF(e?.editorType??Ij.TextEditor)),this._backgroundSvg=C.svg({transform:`translate(-0.5 -0.5)`,style:{overflow:`visible`,pointerEvents:`none`,position:`absolute`}},[C.svgElem(`path`,{class:`rightOfModifiedBackgroundCoverUp`,d:V(this,e=>{let t=this._previewEditorLayoutInfo.read(e);if(t&&!this._originalBackgroundColor.read(e).isTransparent())return new AF().moveTo(t.codeRect.getRightTop()).lineTo(t.codeRect.getRightTop().deltaX(1e3)).lineTo(t.codeRect.getRightBottom().deltaX(1e3)).lineTo(t.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=C.div({style:{pointerEvents:`none`,display:this._previewEditorLayoutInfo.map(e=>e?.isInsertion?`none`:`block`)}},V(this,e=>{let t=jF(this._previewEditorLayoutInfo).read(e);if(!t)return;let n=this._editorBackgroundColor.read(e),r=c.read(e),i=mF(this._tabAction).map(e=>`${lL}px solid ${yn(e)}`),a=`${lL+r}px solid ${n}`,o=t.read(e).codeScrollLeft!==0,s=t.map(e=>e.codeRect.bottom<e.editRect.bottom),l=fL*2+2,u=t.map(e=>_P.fromLeftTopRightBottom(e.contentLeft-fL-lL,e.codeRect.top,e.contentLeft,e.codeRect.bottom+l)).read(e),d=new li(u.left,2**53-1),f=t.map(e=>e.codeRect.intersectHorizontal(d)),p=f.map(e=>e.withMargin(r,0,r,r).intersectHorizontal(d)),m=f.map(e=>_P.fromLeftTopWidthHeight(e.right-l+lL,e.bottom-lL,l,l).intersectHorizontal(d));return[C.div({class:`originalSeparatorSideBySide`,style:{...p.read(e).toStyles(),boxSizing:`border-box`,borderRadius:`${fL}px 0 0 ${fL}px`,borderTop:a,borderBottom:a,borderLeft:o?`none`:a}}),C.div({class:`originalOverlaySideBySide`,style:{...f.read(e).toStyles(),boxSizing:`border-box`,borderRadius:`${fL}px 0 0 ${fL}px`,borderTop:i,borderBottom:i,borderLeft:o?`none`:i,backgroundColor:yn(JP)}}),C.div({class:`originalCornerCutoutSideBySide`,style:{pointerEvents:`none`,display:s.map(e=>e?`block`:`none`),...m.read(e).toStyles()}},[C.div({class:`originalCornerCutoutBackground`,style:{position:`absolute`,top:`0px`,left:`0px`,width:`100%`,height:`100%`,backgroundColor:hF(JP,this._themeService).map(e=>e.toString())}}),C.div({class:`originalCornerCutoutBorder`,style:{position:`absolute`,top:`0px`,left:`0px`,width:`100%`,height:`100%`,boxSizing:`border-box`,borderTop:i,borderRight:i,borderRadius:`0 100% 0 0`,backgroundColor:n}})]),C.div({class:`originalOverlaySideBySideHider`,style:{...u.toStyles(),backgroundColor:n}})]})).keepUpdated(this._store),this._modifiedOverlay=C.div({style:{pointerEvents:`none`}},V(this,e=>{let t=jF(this._previewEditorLayoutInfo).read(e);if(!t)return;let n=t.map(e=>e.codeRect.bottom<e.editRect.bottom),r=this._editorBackgroundColor.read(e),i=c.read(e),a=n.map(e=>`0 ${fL}px ${fL}px ${e?fL:0}px`),o=hF(pF(this._tabAction),this._themeService).map(e=>`1px solid ${e.toString()}`),s=`${lL+i}px solid ${r}`,l=t.map(e=>e.editRect.withMargin(0,lL)),u=l.map(e=>e.withMargin(i,i,i,0)),d=V(this,e=>{let n=l.read(e),r=t.read(e);return!r.isInsertion||r.contentLeft>=n.left?_P.fromLeftTopWidthHeight(n.left,n.top,0,0):new _P(r.contentLeft,n.top,n.left,n.top+2)});return[C.div({class:`modifiedInsertionSideBySide`,style:{...d.read(e).toStyles(),backgroundColor:pF(this._tabAction).map(e=>yn(e))}}),C.div({class:`modifiedSeparatorSideBySide`,style:{...u.read(e).toStyles(),borderRadius:a,borderTop:s,borderBottom:s,borderRight:s,boxSizing:`border-box`}}),C.div({class:`modifiedOverlaySideBySide`,style:{...l.read(e).toStyles(),borderRadius:a,border:o,boxSizing:`border-box`,backgroundColor:yn(YP)}})]})).keepUpdated(this._store),this._nonOverflowView=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[this._backgroundSvg,V(this,e=>this._shouldOverflow.read(e)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:V(this,e=>{let t=this._previewEditorLayoutInfo.read(e)?.maxContentWidth;return t===void 0?0:t})})),this.previewEditor.setModel(this._previewTextModel),this._register(Fl(e=>{let t=this._previewEditorLayoutInfo.read(e);if(!t)return;let n=t.editRect.withMargin(-0,-0);this.previewEditor.layout({height:n.height,width:t.previewEditorWidth+15}),this._editorContainer.element.style.top=`${n.top}px`,this._editorContainer.element.style.left=`${n.left}px`,this._editorContainer.element.style.width=`${t.previewEditorWidth+sL}px`})),this._register(Fl(e=>{let t=this._previewEditorLayoutInfo.read(e);t&&this._previewEditorObs.editor.setScrollLeft(t.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};hL=aL([oL(5,W),oL(6,Xn),oL(7,Ut)],hL);var gL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_L=function(e,t){return function(n,r){t(n,r,e)}},vL=class{constructor(e,t,n){this.edit=e,this.editorType=t,this.alternativeAction=n}equals(e){return this.edit.equals(e.edit)&&this.alternativeAction===e.alternativeAction}},yL=1,bL=`word-replacement-view-overlay`,xL=`word-replacement-view-widget`,SL=`word-replacement-view-replacement`,CL=`word-replacement-view-rename`,wL=class extends K{static{this.MAX_LENGTH=100}constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._viewData=t,this._tabAction=n,this._languageService=r,this._themeService=i,this._keybindingService=a,this._hoverService=o,this._userInteractionService=s,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(qi(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(qi(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement(`div`),this._primaryElement=ls(this,null),this._secondaryElement=ls(this,null),this.isHovered=V(this,e=>{let t=this._primaryElement.read(e);return t?this._userInteractionService.createHoverTracker(t.element,e.store).read(e):!1}),this._renderTextEffect=V(this,e=>{let t=this._editor.model.read(void 0);if(!t)return;let n=t.getLineContent(this._viewData.edit.range.startLineNumber),r=Ac.replace(new li(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),i=r.replace(n),a=t.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[i])?.[0],o;o=a?Ed.fromLineTokens(a).slice(r.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec):ic.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);let s=_a(new Ft([o]),ef.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${s.minWidthInPx}px`});let c=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),l=it(this._viewData.alternativeAction?.count??new Promise(e=>e(void 0))).map(e=>e.value),u=V(this,e=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),e).shiftKey);this._layout=V(this,e=>{this._renderTextEffect.read(e);let t=this._start.read(e),n=this._end.read(e);if(!t||!n||t.x>n.x||t.y>n.y)return;let r=c.read(e);if(r<=0)return;let i=this._editor.scrollLeft.read(e),a=this._editor.getOption(59).read(e).typicalHalfwidthCharacterWidth,o=3*a,s=new pf(o,4),d;if(this._viewData.alternativeAction){let t=this._viewData.alternativeAction.label,n=l.read(e),r=u.read(e),i=n===void 0?t:n===1?S(1283,`{0} 1 occurrence`,t):S(1284,`{0} {1} occurrences`,t,n),a=S(1285,`{0} show occurrences`,`[shift]`);d={label:n===void 0?t:r?i:t,tooltip:i?`${i}\n${a}`:void 0,icon:void 0,count:n,keybinding:this._keybindingService.lookupKeybinding(W_),active:u}}let f=_P.fromPoints(t,n).withHeight(r).translateX(-i),p=_P.fromPointSize(f.getLeftBottom().add(s),new pf(this._viewData.edit.text.length*a,f.height)),m=p.withWidth(p.width+(d?d.label.length*a+8+4+12:0)),h=m.withLeft(f.left);return{alternativeAction:d,originalLine:f,codeLine:p,modifiedLine:m,lowerBackground:h,lineHeight:r}}),this.minEditorScrollHeight=V(this,e=>{let t=jF(this._layout).read(e);return t?t.read(e).modifiedLine.bottom+yL+this._editor.editor.getScrollTop():0}),this._root=C.div({class:`word-replacement`},[V(this,e=>{let t=jF(this._layout).read(e);if(!t)return[];let n=mF(this._tabAction).map(e=>yn(e)).read(e),r=pF(this._tabAction).map(e=>yn(e)).read(e);this._line.style.lineHeight=`${t.read(e).modifiedLine.height+2}px`;let i=qi(!1),a=t.map(e=>e.alternativeAction),o=V(e=>(a.read(e)?.active.read(e)??!1)||i.read(e)),s=ou(this._themeService.onDidColorThemeChange,()=>{let e=this._themeService.getColorTheme();return e.type===`hcDark`||e.type===`hcLight`}).read(e)?_F(sl,this._themeService).read(e):null,c={borderColor:s?s.toString():r,backgroundColor:yn(QP),color:``,opacity:`1`},l={borderColor:s?s.toString():yn(eF),backgroundColor:yn(tF),color:yn($P),opacity:`1`},u={borderColor:s?s.toString():_F(jd,this._themeService).map(e=>e.transparent(.2).toString()).read(e),backgroundColor:gF(this._viewData.editorType),color:``,opacity:`0.7`},d=gF(this._viewData.editorType),f=V(this,e=>(o.read(e),c)),p=V(this,e=>o.read(e)?l:u);return[C.div({id:bL,style:{position:`absolute`,...MF(e=>CF(this._editor).read(e)),overflow:`hidden`,pointerEvents:`none`}},[C.div({style:{position:`absolute`,...MF(e=>t.read(e).lowerBackground.withMargin(yL,2,yL,0)),background:d,cursor:`pointer`,pointerEvents:`auto`},onmousedown:e=>this._mouseDown(e)}),C.div({id:xL,style:{position:`absolute`,...MF(e=>t.read(e).modifiedLine.withMargin(yL,2)),width:void 0,pointerEvents:`auto`,boxSizing:`border-box`,borderRadius:`3px`,background:d,display:`flex`,justifyContent:`left`,outline:`2px solid ${d}`},onmousedown:e=>this._mouseDown(e)},[C.div({id:SL,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:MF(e=>t.read(e).codeLine.withMargin(yL,2)).width,borderRadius:`3px`,border:f.map(e=>`${yL}px solid ${e.borderColor}`),boxSizing:`border-box`,padding:`${yL}px`,opacity:f.map(e=>e.opacity),background:f.map(e=>e.backgroundColor),display:`flex`,justifyContent:`left`,alignItems:`center`,pointerEvents:`auto`,cursor:`pointer`},obsRef:e=>{this._primaryElement.set(e,void 0)}},[this._line]),V(this,e=>{let t=a.read(e);if(!t)return;let n=document.createElement(`div`);return e.store.add(new Lf(n,ys,{...Tt,disableTitle:!0})).set(t.keybinding),C.div({id:CL,style:{position:`relative`,borderRadius:`3px`,borderTop:`${yL}px solid`,borderRight:`${yL}px solid`,borderBottom:`${yL}px solid`,borderLeft:`${yL}px solid`,borderColor:p.map(e=>e.borderColor),opacity:p.map(e=>e.opacity),color:p.map(e=>e.color),display:`flex`,justifyContent:`center`,alignItems:`center`,padding:`0 4px 0 1px`,marginLeft:`4px`,background:p.map(e=>e.backgroundColor),cursor:`pointer`,textWrap:`nowrap`},class:`inline-edit-alternative-action-label`,obsRef:e=>{this._secondaryElement.set(e,void 0)},ref:n=>{t.tooltip&&e.store.add(this._hoverService.setupDelayedHoverAtMouse(n,{content:t.tooltip,appearance:{compact:!0}}))}},[n,N(`div.inline-edit-alternative-action-label-separator`),t.icon?yt(t.icon):void 0,t.label])})]),C.div({style:{position:`absolute`,...MF(e=>t.read(e).originalLine.withMargin(yL)),boxSizing:`border-box`,borderRadius:`3px`,border:`${yL}px solid ${n}`,background:yn(XP),pointerEvents:`none`}},[]),C.svg({width:11,height:14,viewBox:`0 0 11 14`,fill:`none`,style:{position:`absolute`,left:t.map(e=>e.modifiedLine.left-16),top:t.map(e=>e.modifiedLine.top+Math.round((e.lineHeight-14-5)/2)),pointerEvents:`none`},onmousedown:e=>this._mouseDown(e)},[C.svgElem(`path`,{d:`M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5`,stroke:yn(jd)}),C.svgElem(`path`,{d:`M6 7.5L9.99999 10.49998L6 13.5`,stroke:yn(jd)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:qi(0),position:qi({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(e){let t=TL(e.target,new Set([xL,SL,CL,bL]));t&&(e.preventDefault(),this._onDidClick.fire(Dj.create(e,t===CL)))}};wL=gL([_L(3,Vo),_L(4,Xn),_L(5,Ta),_L(6,lu),_L(7,Ut)],wL);function TL(e,t){let n=e;for(;n;){if(t.has(n.id))return n.id;n=n.parentElement}return null}var EL=class extends K{constructor(e,t,n){super(),this._originalEditor=e,this._state=t,this._modifiedTextModel=n,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this.isHovered=gs(this._originalEditor).isTargetHovered(e=>e.target.type===6&&e.target.detail.injectedText?.options.attachedData instanceof DL&&e.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=AL(this._modifiedTextModel),this._decorations=V(this,e=>{let t=this._state.read(e);if(!t)return;let n=t.modifiedText,r=t.mode===`insertionInline`,i=t.diff.length===1&&t.diff[0].innerChanges?.length===1,a=[],o=[],s=F.register({className:`inlineCompletions-line-insert`,description:`line-insert`,isWholeLine:!0,marginClassName:`gutter-insert`}),c=F.register({className:`inlineCompletions-line-delete`,description:`line-delete`,isWholeLine:!0,marginClassName:`gutter-delete`}),l=F.register({className:`inlineCompletions-char-delete`,description:`char-delete`,isWholeLine:!1,zIndex:1}),u=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,isWholeLine:!0}),d=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0}),f=F.register({className:`inlineCompletions-char-insert diff-range-empty`,description:`char-insert diff-range-empty`}),p=F.register({className:`inlineCompletions-original-lines`,description:`inlineCompletions-original-lines`,isWholeLine:!1,shouldFillLineOnLineBreak:!0}),m=t.mode!==`sideBySide`&&t.mode!==`deletion`&&t.mode!==`insertionInline`&&t.mode!==`lineReplacement`,h=t.mode===`lineReplacement`;for(let p of t.diff)if(m&&(p.original.isEmpty||a.push({range:p.original.toInclusiveRange(),options:c}),p.modified.isEmpty||o.push({range:p.modified.toInclusiveRange(),options:s})),p.modified.isEmpty||p.original.isEmpty)p.original.isEmpty||a.push({range:p.original.toInclusiveRange(),options:l}),p.modified.isEmpty||o.push({range:p.modified.toInclusiveRange(),options:u});else{let s=r&&OL(p);for(let r of p.innerChanges||[]){if(p.original.contains(r.originalRange.startLineNumber)&&!(h&&r.originalRange.isEmpty())){let e=this._originalEditor.getModel()?.getValueInRange(r.originalRange,1);a.push({range:r.originalRange,options:{description:`char-delete`,shouldFillLineOnLineBreak:!1,className:TF(`inlineCompletions-char-delete`,r.originalRange.isSingleLine()&&t.mode===`insertionInline`&&`single-line-inline`,r.originalRange.isEmpty()&&`empty`,(r.originalRange.isEmpty()&&i||t.mode===`deletion`&&e===`
|
|
40
|
+
`)};let a=await i.provideRenameEdits(this.model,this.position,e,r);return a?a.rejectReason?this._provideRenameEdits(e,t+1,n.concat(a.rejectReason),r):a:this._provideRenameEdits(e,t+1,n.concat(S(1449,`No result.`)),r)}};function Zj(e,t){return e.ordered(t).length>0}async function Qj(e,t,n,r,i){return new Xj(t,n,e).provideRenameEdits(r,i??E.None)}async function $j(e,t,n,r){let i=new Xj(t,n,e),a=await i.resolveRenameLocation(E.None);return a?.rejectReason?{edits:[],rejectReason:a.rejectReason}:i.provideRenameEdits(r,E.None)}var eM=class{static{Yj=this}static{this.ID=`editor.contrib.renameController`}static get(e){return e.getContribution(Yj.ID)}constructor(e,t,n,r,i,a,o,s){this.editor=e,this._instaService=t,this._notificationService=n,this._bulkEditService=r,this._progressService=i,this._logService=a,this._configService=o,this._languageFeaturesService=s,this._disposableStore=new I,this._cts=new No,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Uj,this.editor,[`acceptRenameInput`,`acceptRenameInputWithPreview`]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){let e=this._logService.trace.bind(this._logService,`[rename]`);if(this._cts.dispose(!0),this._cts=new No,!this.editor.hasModel()){e(`editor has no model`);return}let t=this.editor.getPosition(),n=new Xj(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!n.hasProvider()){e(`skeleton has no provider`);return}let r=new Ad(this.editor,5,void 0,this._cts.token),i;try{e(`resolving rename location`);let t=n.resolveRenameLocation(r.token);this._progressService.showWhile(t,250),i=await t,e(`resolved rename location`)}catch(n){n instanceof po?e(`resolve rename location cancelled`,JSON.stringify(n,null,` `)):(e(`resolve rename location failed`,n instanceof Error?n:JSON.stringify(n,null,` `)),(typeof n==`string`||Rr(n))&&im.get(this.editor)?.showMessage(n||S(1450,`An unknown error occurred while resolving rename location`),t));return}finally{r.dispose()}if(!i){e(`returning early - no loc`);return}if(i.rejectReason){e(`returning early - rejected with reason: ${i.rejectReason}`,i.rejectReason),im.get(this.editor)?.showMessage(i.rejectReason,t);return}if(r.token.isCancellationRequested){e(`returning early - cts1 cancelled`);return}let a=new Ad(this.editor,5,i.range,this._cts.token),o=this.editor.getModel(),s=this._languageFeaturesService.newSymbolNamesProvider.all(o),c=await Promise.all(s.map(async e=>[e,await e.supportsAutomaticNewSymbolNamesTriggerKind??!1])),l=(e,t)=>{let n=c.slice();return e===wt.Automatic&&(n=n.filter(([e,t])=>t)),n.map(([n])=>n.provideNewSymbolNames(o,i.range,e,t))};e(`creating rename input field and awaiting its result`);let u=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,`editor.rename.enablePreview`),d=await this._renameWidget.getInput(i.range,i.text,u,s.length>0?l:void 0,a);if(e(`received response from rename input field`),typeof d==`boolean`){e(`returning early - rename input field response - ${d}`),d&&this.editor.focus(),a.dispose();return}this.editor.focus(),e(`requesting rename edits`);let f=Pa(n.provideRenameEdits(d.newName,a.token),a.token).then(async t=>{t?this.editor.hasModel()?t.rejectReason?(e(`returning early - rejected with reason: ${t.rejectReason}`),this._notificationService.info(t.rejectReason)):(this.editor.setSelection(w.fromPositions(this.editor.getSelection().getPosition())),e(`applying edits`),this._bulkEditService.apply(t,{editor:this.editor,showPreview:d.wantsPreview,label:S(1451,`Renaming '{0}' to '{1}'`,i?.text,d.newName),code:`undoredo.rename`,quotableLabel:S(1452,`Renaming {0} to {1}`,i?.text,d.newName),respectAutoSaveConfig:!0,reason:ws.rename(i?.text,d.newName)}).then(t=>{e(`edits applied`),t.ariaSummary&&Co(S(1453,`Successfully renamed '{0}' to '{1}'. Summary: {2}`,i.text,d.newName,t.ariaSummary))}).catch(t=>{e(`error when applying edits ${JSON.stringify(t,null,` `)}`),this._notificationService.error(S(1454,`Rename failed to apply edits`)),this._logService.error(t)})):e(`returning early - no model after rename edits are provided`):e(`returning early - no rename edits result`)},t=>{e(`error when providing rename edits`,JSON.stringify(t,null,` `)),this._notificationService.error(S(1455,`Rename failed to compute edits`)),this._logService.error(t)}).finally(()=>{a.dispose()});return e(`returning rename operation`),this._progressService.showWhile(f,250),f}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,`cancelRenameInput command`)}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}};eM=Yj=qj([Jj(1,W),Jj(2,xt),Jj(3,ad),Jj(4,bc),Jj(5,Pu),Jj(6,Ld),Jj(7,z)],eM);var tM=class extends G{constructor(){super({id:`editor.action.rename`,label:R(1457,`Rename Symbol`),precondition:T.and(D.writable,D.hasRenameProvider),kbOpts:{kbExpr:D.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:`1_modification`,order:1.1},canTriggerInlineEdits:!0})}runCommand(e,t){let n=e.get($s),[r,i]=Array.isArray(t)&&t||[void 0,void 0];return Qn.isUri(r)&&j.isIPosition(i)?n.openCodeEditor({resource:r},n.getActiveCodeEditor()).then(e=>{e&&(e.setPosition(i),e.invokeWithinContext(t=>(this.reportTelemetry(t,e),this.run(t,e))))},at):super.runCommand(e,t)}run(e,t){let n=e.get(Pu),r=eM.get(t);return r?(n.trace(`[RenameAction] got controller, running...`),r.run()):(n.trace(`[RenameAction] returning early - controller missing`),Promise.resolve())}};Ls(eM.ID,eM,4),B(tM);var nM=id.bindToContribution(eM.get);U(new nM({id:`acceptRenameInput`,precondition:Hj,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:D.focus,primary:3}})),U(new nM({id:`acceptRenameInputWithPreview`,precondition:T.and(Hj,T.has(`config.editor.rename.enablePreview`)),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:D.focus,primary:2051}})),U(new nM({id:`cancelRenameInput`,precondition:Hj,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:D.focus,primary:9,secondary:[1033]}})),ra(class extends ml{constructor(){super({id:`focusNextRenameSuggestion`,title:{...R(1458,`Focus Next Rename Suggestion`)},precondition:Hj,keybinding:[{primary:18,weight:199}]})}run(e){let t=e.get($s).getFocusedCodeEditor();if(!t)return;let n=eM.get(t);n&&n.focusNextRenameSuggestion()}}),ra(class extends ml{constructor(){super({id:`focusPreviousRenameSuggestion`,title:{...R(1459,`Focus Previous Rename Suggestion`)},precondition:Hj,keybinding:[{primary:16,weight:199}]})}run(e){let t=e.get($s).getFocusedCodeEditor();if(!t)return;let n=eM.get(t);n&&n.focusPreviousRenameSuggestion()}}),zd(`_executeDocumentRenameProvider`,function(e,t,n,...r){let[i]=r;tr(typeof i==`string`);let{renameProvider:a}=e.get(z);return $j(a,t,n,i)}),zd(`_executePrepareRename`,async function(e,t,n){let{renameProvider:r}=e.get(z),i=await new Xj(t,n,r).resolveRenameLocation(E.None);if(i?.rejectReason)throw Error(i.rejectReason);return i}),Nt.as(Wu.Configuration).registerConfiguration({id:`editor`,properties:{"editor.rename.enablePreview":{scope:6,description:S(1456,`Enable/disable the ability to preview changes before renaming`),default:!0,type:`boolean`}}});var rM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iM=function(e,t){return function(n,r){t(n,r,e)}},aM;(function(e){e.no=`no`,e.yes=`yes`,e.maybe=`maybe`})(aM||={}),(function(e){function t(t){switch(t){case`no`:return e.no;case`yes`:return e.yes;case`maybe`:return e.maybe;default:return e.no}}e.fromString=t})(aM||={});var oM=class{constructor(){}inferRename(e,t,n,r){let i=new w(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),a=t.startColumn-i.startColumn,o=i.endColumn-t.endColumn,s=e.getValueInRange(i),c=e.getValueInRange(new w(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn+a))+n+e.getValueInRange(new w(i.endLineNumber,i.endColumn-o,i.endLineNumber,i.endColumn)),l=[],u=[],d,f,p,m=e.getOffsetAt(i.getStartPosition()),{changes:h}=new Ia(new ao(s),new ao(c)).ComputeDiff(!0);if(h.length===0)return;let g=[];for(let t of h){if(g.length===0){g.push(t);continue}let n=g[g.length-1],r=t.originalStart-(n.originalStart+n.originalLength);if(r>0){let i=m+n.originalStart+n.originalLength,a=e.getPositionAt(i),o=e.getWordAtPosition(a);if(o){let s=e.getOffsetAt(new j(a.lineNumber,o.startColumn)),c=e.getOffsetAt(new j(a.lineNumber,o.endColumn)),l=i+r;if(s<=i&&l<=c&&s<=l&&l<=c){n.originalLength=t.originalStart+t.originalLength-n.originalStart,n.modifiedLength=t.modifiedStart+t.modifiedLength-n.modifiedStart;continue}}}g.push(t)}let _=0;for(let t of g){let n=s.substring(t.originalStart,t.originalStart+t.originalLength),i=c.substring(t.modifiedStart,t.modifiedStart+t.modifiedLength),a=m+t.originalStart,o=e.getPositionAt(a),h=a+t.originalLength,g=e.getPositionAt(h),v=w.fromPositions(o,g),y=i.length-t.originalLength;if(/\s/.test(n)){l.push(new bf(v,i)),_+=y;continue}if(n.length>0){r.lastIndex=0;let e=r.exec(n);if(e===null||e.index!==0||e[0].length!==n.length){l.push(new bf(v,i)),_+=y;continue}}if(/\s/.test(i)){l.push(new bf(v,i)),_+=y;continue}if(i.length>0){r.lastIndex=0;let e=r.exec(i);if(e===null||e.index!==0||e[0].length!==i.length){l.push(new bf(v,i)),_+=y;continue}}let b=e.getWordAtPosition(o);if(b===null){l.push(new bf(v,i)),_+=y;continue}let ee=t.originalStart+1,te=t.originalLength===0&&t.modifiedLength>0,x;if(x=te&&ee===b.endColumn&&b.endColumn>b.startColumn?this.getTokenAtPosition(e,new j(o.lineNumber,b.startColumn)):this.getTokenAtPosition(e,o),b.startColumn!==x.range.startColumn||b.endColumn!==x.range.endColumn)l.push(new bf(v,i)),_+=y;else if(x.type===0){let t=e.getValueInRange(x.range);if(t.length===0){l.push(new bf(v,i)),_+=y;continue}if(d===void 0)d=t;else if(d!==t){l.push(new bf(v,i)),_+=y;continue}let n=e.getOffsetAt(x.range.getStartPosition())-m+_,r=e.getOffsetAt(x.range.getEndPosition())-m+_;if(t=c.substring(n,r+y),t.length===0){l.push(new bf(v,i)),_+=y;continue}if(f===void 0)f=t;else if(f!==t){l.push(new bf(v,i)),_+=y;continue}p===void 0&&(p=x.range.getStartPosition()),d!==void 0&&f!==void 0&&d.length>0&&f.length>0&&d!==f?u.push(new bf(x.range,f)):u.push(new bf(v,i)),_+=y}else l.push(new bf(v,i)),_+=i.length-t.originalLength}if(d===void 0||f===void 0||p===void 0||d.length===0||f.length===0||d===f)return;r.lastIndex=0;let v=r.exec(d);if(v!==null&&v.index===0&&v[0].length===d.length&&(r.lastIndex=0,v=r.exec(f),v!==null&&v.index===0&&v[0].length===f.length))return{renames:{edits:u,position:p,oldName:d,newName:f},others:{edits:l}}}getTokenAtPosition(e,t){e.tokenization.tokenizeIfCheap(t.lineNumber);let n=e.tokenization.getLineTokens(t.lineNumber),r=n.findTokenIndexAtOffset(t.column-1);return{type:n.getStandardTokenType(r),range:new w(t.lineNumber,1+n.getStartOffset(r),t.lineNumber,1+n.getEndOffset(r))}}},sM=class e{static create(t,n){let r=t.getFocusedCodeEditor();if(r!==null&&r.getModel()===n)return new e(r,n.getVersionId())}constructor(e,t){this.editor=e,this.versionId=t}equals(e){return e!==void 0&&this.editor===e.editor&&this.versionId===e.versionId}},cM=class{constructor(e,t,n,r,i,a,o,s,c){this._result=void 0,this._commandService=t,this._textModel=r,this._state=i,this._requestUuid=n,this._cancellationTokenSource=new No,this._promise=s===void 0||c===void 0?Qj(e.renameProvider,r,a,o,this._cancellationTokenSource.token):this.sendNesRenameRequest(r,a,c,o,s)}get requestUuid(){return this._requestUuid}isValid(e){return this._state.equals(sM.create(e,this._textModel))}cancel(){this._cancellationTokenSource.cancel()}async getCount(){if(this._cancellationTokenSource.token.isCancellationRequested)return 0;let e=await this.getResult();return e===void 0||this._cancellationTokenSource.token.isCancellationRequested?0:e.edits.length}async getWorkspaceEdit(){return this.getResult()}async getResult(){if(!this._cancellationTokenSource.token.isCancellationRequested&&(this._result===void 0&&(this._result=await this._promise),!(this._result.rejectReason||this._cancellationTokenSource.token.isCancellationRequested)))return this._result}async sendNesRenameRequest(e,t,n,r,i){try{let a=await this._commandService.executeCommand(`github.copilot.nes.postRename`,e.uri,t,n,r,i);if(a===void 0)return{rejectReason:`Rename failed`,edits:[]};let o=[];for(let e of a)for(let t of e.changes){let n=new w(t.range.start.line+1,t.range.start.character+1,t.range.end.line+1,t.range.end.character+1),i=new il(e.file,new bf(n,t.newText??r));o.push(i)}return{edits:o}}catch{return{rejectReason:`Rename failed`,edits:[]}}}},lM=class extends K{constructor(e,t,n,r,i,a){super(),this._commandService=e,this._languageFeaturesService=t,this._languageConfigurationService=n,this._renameSymbolTrackerService=i,this._codeEditorService=a,this._renameInferenceEngine=new oM,this._renameRunnable=void 0,this._register(zn.registerCommand(X_,async(e,t,n)=>{if(n!==void 0&&n.isValid(this._codeEditorService))try{let e=await n.getWorkspaceEdit();if(e===void 0)return;r.apply(e,{reason:t})}finally{this._renameRunnable===n&&(this._renameRunnable=void 0)}}))}async proposeRenameRefactoring(e,t,n){if(!t.supportsRename||t.action?.kind!==`edit`||n.selectedSuggestionInfo||!Zj(this._languageFeaturesService.renameProvider,e))return t;let r=sM.create(this._codeEditorService,e);if(r===void 0)return t;let i=Date.now(),a=t.action.textReplacement,o=this._languageConfigurationService.getLanguageConfiguration(e.getLanguageId()),s=this._renameInferenceEngine.inferRename(e,a.range,a.text,o.wordDefinition);if(s===void 0||s.renames.edits.length===0)return t;let{oldName:c,newName:l,position:u,edits:d}=s.renames,f=this._renameSymbolTrackerService.trackedWord.get(),p;f!==void 0&&f.model===e&&f.originalWord===c&&f.currentWord===l&&(p=f.currentRange);let m=!1,h=await Fn(this.checkRenamePrecondition(t,e,u,c,l,p),100,()=>{m=!0}),g=this.isRenamePossible(t,h,r,e);if(t.setRenameProcessingInfo({createdRename:g,duration:Date.now()-i,timedOut:m,droppedOtherEdits:g?s.others.edits.length:void 0,droppedRenameEdits:g?d.length-1:void 0}),!g)return t;this._renameRunnable===void 0&&(this._renameRunnable=new cM(this._languageFeaturesService,this._commandService,t.requestUuid,e,r,u,l,p,p===void 0?void 0:c));let _=ws.inlineCompletionAccept({nes:t.isInlineEdit,requestUuid:t.requestUuid,providerId:t.source.provider.providerId,languageId:e.getLanguageId(),correlationId:t.getSourceCompletion().correlationId}),v={id:X_,title:S(1274,`Rename`),arguments:[_,this._renameRunnable]},y={label:S(1275,`Rename`),icon:A.replaceAll,command:v,count:this._renameRunnable.getCount()},b={kind:`edit`,range:d[0].range,insertText:d[0].text,snippetInfo:t.snippetInfo,alternativeAction:y,uri:e.uri},ee=uj.snapshot(e);return dj.create(t.withAction(b),ee,!1)}async checkRenamePrecondition(e,t,n,r,i,a){let o={canRename:aM.no,timedOut:!1};try{let s=await this._commandService.executeCommand(`github.copilot.nes.prepareRename`,t.uri,n,r,i,e.requestUuid,a);if(s===void 0)return o;if(typeof s==`string`){let e=aM.fromString(s);return e===aM.yes||e===aM.maybe?{canRename:e,oldName:r,onOldState:!1}:{canRename:e,timedOut:!1}}return s}catch{return o}}isRenamePossible(e,t,n,r){return t===void 0||t.canRename===aM.no||!n.equals(sM.create(this._codeEditorService,r))?!1:this._renameRunnable===void 0||this._renameRunnable.requestUuid!==e.requestUuid&&(this._renameRunnable.cancel(),this._renameRunnable=void 0,!0)}};lM=rM([iM(0,kr),iM(1,z),iM(2,Ln),iM(3,ad),iM(4,du),iM(5,$s)],lM);var uM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dM=function(e,t){return function(n,r){t(n,r,e)}},fM,pM=class extends K{static{fM=this}static{this._requestId=0}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._textModel=e,this._versionId=t,this._debounceValue=n,this._cursorPosition=r,this._languageConfigurationService=a,this._logService=o,this._configurationService=s,this._instantiationService=c,this._contextKeyService=l,this._textModelService=u,this._updateOperation=this._register(new fc),this._state=VA(this,{initial:()=>({inlineCompletions:vM.createEmpty(),suggestWidgetInlineCompletions:vM.createEmpty()}),disposeFinal:e=>{e.inlineCompletions.dispose(),e.suggestWidgetInlineCompletions.dispose()},changeTracker:Js(()=>({versionId:this._versionId})),update:(e,t,n)=>{let r=Hc.compose(n.changes.map(e=>e.change?vc(e.change.changes):Hc.empty).filter(Zi));if(r.isEmpty())return t;try{return{inlineCompletions:t.inlineCompletions.createStateWithAppliedEdit(r,this._textModel),suggestWidgetInlineCompletions:t.suggestWidgetInlineCompletions.createStateWithAppliedEdit(r,this._textModel)}}finally{t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,e=>e.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,e=>e.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=V(this,e=>{this._versionId.read(e),this._updateOperation.clear()}),this._loadingCount=ls(this,0),this.loading=this._loadingCount.map(this,e=>e>0),this._dataChannelTelemetryService=this._instantiationService.createInstance(GA),this._loggingEnabled=Wr(`editor.inlineSuggest.logFetch`,!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=Wr(`editor.inlineSuggest.emptyResponseInformation`,!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(Rk.cast(),`editor.inlineSuggest.logFetch.commandId`)),this._renameProcessor=this._store.add(this._instantiationService.createInstance(lM)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store),i&&(this._updateCompletionsEnablement(i),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(i)&&this._updateCompletionsEnablement(i)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(e){let t=this._configurationService.getValue(e);this._completionsEnabled=Wa(t)?t:void 0}_log(e){this._loggingEnabled.get()&&this._logService.info(Lk(e)),this._structuredFetchLogger.log(e)}fetch(e,t,n,r,i,a,o){let s=new mM(this._cursorPosition.get(),n,this._textModel.getVersionId(),new Set(e)),c=n.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(s))return this._updateOperation.value.promise;if(c?.request?.satisfies(s))return Promise.resolve(!0);let l=!!this._updateOperation.value;this._updateOperation.clear();let u=new No,d=(async()=>{let c=new I;this._loadingCount.set(this._loadingCount.get()+1,void 0);let d=!1,f=()=>{d||(d=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};c.add(new Lr(()=>f(),1e4)).schedule();let p=new hM(n,o,e.filter(e=>e.providerId));try{let d=this._debounceValue.get(this._textModel),f=fl(e.map(e=>e.debounceDelayMs),Ms(Rc))??d;if((l||i&&n.triggerKind===wi.Automatic)&&await xA(f,u.token),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId)return p.setNoSuggestionReasonIfNotSet(`canceled:beforeFetch`),!1;let m=fM._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:`InlineCompletions.fetch`,kind:`start`,requestId:m,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:n.triggerKind,suggestInfo:n.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:t});let h=new Date,g=jj(e,this._cursorPosition.get(),this._textModel,n,o,this._languageConfigurationService);Mj(u.token,()=>g.cancelAndDispose({kind:`tokenCancellation`}));let _=!1,v=!1,y=[];for await(let e of g.lists)if(e){e.addRef(),c.add(Yo(()=>e.removeRef(e.inlineSuggestionsData.length===0?{kind:`empty`}:{kind:`notTaken`})));for(let t of e.inlineSuggestionsData){if(v=!0,!n.includeInlineEdits&&(t.isInlineEdit||t.showInlineEditMenu)){t.setNotShownReason(`notInlineEditRequested`);continue}if(!n.includeInlineCompletions&&!(t.isInlineEdit||t.showInlineEditMenu)){t.setNotShownReason(`notInlineCompletionRequested`);continue}t.addPerformanceMarker(`providerReturned`);let e=t.action?.uri,r,i;if(e&&e.toString()!==this._textModel.uri.toString()){let t=await this._textModelService.createModelReference(e);r=t.object.textEditorModel,i=t}else r=this._textModel,i=void 0;let a=uj.snapshot(r),o=dj.create(t,a);if(i){let e=tn(o.identity.onDispose,()=>{i?.dispose(),e.dispose()})}t.addPerformanceMarker(`itemCreated`),y.push(o),!o.isInlineEdit&&!o.showInlineEditMenu&&n.triggerKind===wi.Automatic&&o.isVisible(this._textModel,this._cursorPosition.get())&&(_=!0)}if(_)break}y.forEach(e=>e.addPerformanceMarker(`providersResolved`));let b=await Promise.all(y.map(async e=>this._renameProcessor.proposeRenameRefactoring(this._textModel,e,n)));if(b.forEach(e=>e.addPerformanceMarker(`renameProcessed`)),g.cancelAndDispose({kind:`lostRace`}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){let e=g.didAllProvidersReturn,t;(u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId)&&(t=`canceled`);let n=b.map(e=>{let t=e.getSourceCompletion();if(t.doNotLog)return;let n={insertText:t.insertText,range:t.range,additionalTextEdits:t.additionalTextEdits,uri:t.uri,command:t.command,gutterMenuLinkAction:t.gutterMenuLinkAction,shownCommand:t.shownCommand,completeBracketPairs:t.completeBracketPairs,isInlineEdit:t.isInlineEdit,showInlineEditMenu:t.showInlineEditMenu,showRange:t.showRange,warning:t.warning,hint:t.hint,supportsRename:t.supportsRename,correlationId:t.correlationId,jumpToPosition:t.jumpToPosition};return{...qr(n,e=>w.isIRange(e)?w.lift(e).toString():j.isIPosition(e)?j.lift(e).toString():If.is(e)?{$commandId:e.id}:e),$providerId:e.source.provider.providerId?.toString()}}).filter(e=>e!==void 0);this._log({sourceId:`InlineCompletions.fetch`,kind:`end`,requestId:m,durationMs:Date.now()-h.getTime(),error:t,result:n,time:Date.now(),didAllProvidersReturn:e})}if(p.setRequestUuid(g.contextWithUuid.requestUuid),v)p.setHasProducedSuggestion(),b.length>0&&u.token.isCancellationRequested&&b.forEach(e=>e.setNotShownReasonIfNotSet(`canceled:whileAwaitingOtherProviders`));else if(u.token.isCancellationRequested)p.setNoSuggestionReasonIfNotSet(`canceled:whileFetching`);else{let e=this._contextKeyService.getContextKeyValue(`completionsQuotaExceeded`);p.setNoSuggestionReasonIfNotSet(e?`completionsQuotaExceeded`:`noSuggestion`)}let ee=n.earliestShownDateTime-Date.now();if(ee>0&&await xA(ee,u.token),b.forEach(e=>e.addPerformanceMarker(`minShowDelayPassed`)),u.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==s.versionId||a.get()){let e=u.token.isCancellationRequested?`canceled:afterMinShowDelay`:this._store.isDisposed?`canceled:disposed`:this._textModel.getVersionId()===s.versionId?a.get()?`canceled:userJumped`:`unknown`:`canceled:documentChanged`;return b.forEach(t=>t.setNotShownReasonIfNotSet(e)),!1}let te=new Date;this._debounceValue.update(this._textModel,te.getTime()-h.getTime());let x=this._cursorPosition.get();this._updateOperation.clear(),Ps(e=>{let t=this._state.get();n.selectedSuggestionInfo?this._state.set({inlineCompletions:vM.createEmpty(),suggestWidgetInlineCompletions:t.suggestWidgetInlineCompletions.createStateWithAppliedResults(b,s,this._textModel,x,r)},e):this._state.set({inlineCompletions:t.inlineCompletions.createStateWithAppliedResults(b,s,this._textModel,x,r),suggestWidgetInlineCompletions:vM.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()})}finally{c.dispose(),f(),this._sendInlineCompletionsRequestTelemetry(p)}return!0})(),f=new _M(s,u,d);return this._updateOperation.value=f,d}clear(e){if(this._store.isDisposed)return;this._updateOperation.clear();let t=this._state.get();this._state.set({inlineCompletions:vM.createEmpty(),suggestWidgetInlineCompletions:vM.createEmpty()},e),t.inlineCompletions.dispose(),t.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){let e=this.inlineCompletions.get(),t=this.suggestWidgetInlineCompletions.get();t&&Ps(n=>{if(!e||(t.request?.versionId??-1)>(e.request?.versionId??-1)){e?.dispose();let r=this._state.get();this._state.set({inlineCompletions:t.clone(),suggestWidgetInlineCompletions:vM.createEmpty()},n),r.inlineCompletions.dispose(),r.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(n)})}seedWithCompletion(e,t){let n=this._state.get();this._state.set({inlineCompletions:new vM([e],void 0),suggestWidgetInlineCompletions:vM.createEmpty()},t),n.inlineCompletions.dispose(),n.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(e){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue(`isRunningUnificationExperiment`)||e.requestUuid===void 0||e.hasProducedSuggestion||!Is(this._completionsEnabled,this._textModel.getLanguageId())||!e.providers.some(e=>JA(e.providerId?.extensionId)))return;let t={opportunityId:e.requestUuid,noSuggestionReason:e.noSuggestionReason??`unknown`,extensionId:`vscode-core`,extensionVersion:`0.0.0`,groupId:`empty`,shown:!1,skuPlan:e.requestInfo.sku?.plan,skuType:e.requestInfo.sku?.type,editorType:e.requestInfo.editorType,requestReason:e.requestInfo.reason,typingInterval:e.requestInfo.typingInterval,typingIntervalCharacterCount:e.requestInfo.typingIntervalCharacterCount,languageId:e.requestInfo.languageId,selectedSuggestionInfo:!!e.context.selectedSuggestionInfo,availableProviders:e.providers.map(e=>e.providerId?.toString()).filter(Zi).join(`,`),...qA(e.providers.some(e=>JA(e.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,acceptedAlternativeAction:void 0,correlationId:void 0,shownDuration:void 0,shownDurationUncollapsed:void 0,timeUntilShown:void 0,partiallyAccepted:void 0,partiallyAcceptedCountSinceOriginal:void 0,partiallyAcceptedRatioSinceOriginal:void 0,partiallyAcceptedCharactersSinceOriginal:void 0,cursorColumnDistance:void 0,cursorLineDistance:void 0,lineCountOriginal:void 0,lineCountModified:void 0,characterCountOriginal:void 0,characterCountModified:void 0,disjointReplacements:void 0,sameShapeReplacements:void 0,longDistanceHintVisible:void 0,longDistanceHintDistance:void 0,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};YA(this._dataChannelTelemetryService,t)}clearSuggestWidgetInlineCompletions(e){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}};pM=fM=uM([dM(5,Ln),dM(6,Pu),dM(7,Wi),dM(8,W),dM(9,Ra),dM(10,Ki)],pM);var mM=class{constructor(e,t,n,r){this.position=e,this.context=t,this.versionId=n,this.providers=r}satisfies(e){return this.position.equals(e.position)&&ua(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,dn())&&(e.context.triggerKind===wi.Automatic||this.context.triggerKind===wi.Explicit)&&this.versionId===e.versionId&&gM(e.providers,this.providers)}},hM=class{constructor(e,t,n){this.context=e,this.requestInfo=t,this.providers=n,this.hasProducedSuggestion=!1}setRequestUuid(e){this.requestUuid=e}setNoSuggestionReasonIfNotSet(e){this.noSuggestionReason??=e}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}};function gM(e,t){return[...e].every(e=>t.has(e))}var _M=class{constructor(e,t,n){this.request=e,this.cancellationTokenSource=t,this.promise=n}dispose(){this.cancellationTokenSource.cancel()}},vM=class e extends K{static createEmpty(){return new e([],void 0)}constructor(e,t){super(),this.inlineCompletions=e,this.request=t;for(let e of this.inlineCompletions)e.addRef();this._register({dispose:()=>{for(let e of this.inlineCompletions)e.removeRef()}})}_findById(e){return this.inlineCompletions.find(t=>t.identity===e)}_findByHash(e){return this.inlineCompletions.find(t=>t.hash===e)}createStateWithAppliedEdit(t,n){let r=this.inlineCompletions.map(e=>e.withEdit(t,n)).filter(Zi);return new e(r,this.request)}createStateWithAppliedResults(t,n,r,i,a){let o;if(a){let e=this._findById(a);if(e&&e.canBeReused(r,n.position)){o=e;let n=t.find(t=>t.hash===e.hash);t=n?bM(n,t):[e,...t]}}let s=o?!o.isInlineEdit:t.some(e=>!e.isInlineEdit&&e.isVisible(r,i)),c=[];for(let e of t){let t=this._findByHash(e.hash),n;t&&t!==e?(n=e.withIdentity(t.identity),e.setIsPreceeded(t),t.setEndOfLifeReason({kind:_n.Ignored,userTypingDisagreed:!1,supersededBy:e.getSourceCompletion()})):n=e,s!==n.isInlineEdit&&c.push(n)}return c.sort(dd(e=>e.showInlineEditMenu,ss)),c=yM(c,e=>e.semanticId),new e(c,n)}clone(){return new e(this.inlineCompletions,this.request)}};function yM(e,t){let n=new Set;return e.filter(e=>{let r=t(e);return!n.has(r)&&(n.add(r),!0)})}function bM(e,t){let n=t.indexOf(e);return n>-1?[e,...t.slice(0,n),...t.slice(n+1)]:t}var xM=class e extends K{static{this.MAX_SESSION_GAP_MS=3e3}static{this.MIN_SESSION_DURATION_MS=1e3}static{this.SESSION_HISTORY_LIMIT=50}static{this.TYPING_SPEED_WINDOW_MS=3e5}static{this.MIN_CHARS_FOR_RELIABLE_SPEED=20}getTypingInterval(){return(this._cacheInvalidated||this._cachedTypingIntervalResult===null)&&(this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1),this._cachedTypingIntervalResult}constructor(e){super(),this._textModel=e,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent(e=>this._updateTypingSpeed(e)))}_updateTypingSpeed(t){let n=Date.now();this._isUserTyping(t)?(this._currentSession&&n-this._lastChangeTime>e.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||={startTime:n,endTime:n,characterCount:0},this._currentSession.endTime=n,this._currentSession.characterCount+=this._getActualCharacterCount(t),this._lastChangeTime=n,this._cacheInvalidated=!0):this._finalizeCurrentSession()}_getActualCharacterCount(e){let t=0;for(let n of e.changes)t+=Math.max(n.text.length,n.rangeLength);return t}_isUserTyping(e){if(!e.detailedReasons||e.detailedReasons.length===0)return!1;for(let t of e.detailedReasons)if(this._isUserTypingReason(t))return!0;return!1}_isUserTypingReason(e){if(e.metadata.isUndoing||e.metadata.isRedoing)return!1;switch(e.metadata.source){case`cursor`:{let t=e.metadata.kind;return t===`type`||t===`compositionType`||t===`compositionEnd`}default:return!1}}_finalizeCurrentSession(){this._currentSession&&=(this._currentSession.endTime-this._currentSession.startTime>=e.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>e.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),null)}_calculateTypingInterval(){if(this._currentSession){let t={...this._currentSession};if(t.endTime-t.startTime>=e.MIN_SESSION_DURATION_MS&&t.characterCount>0){let e=[...this._typingSessions,t];return this._calculateSpeedFromSessions(e)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(t){if(t.length===0)return{averageInterval:0,characterCount:0};let n=[...t].sort((e,t)=>t.endTime-e.endTime),r=Date.now()-e.TYPING_SPEED_WINDOW_MS,i=n.filter(e=>e.endTime>r),a=n.splice(i.length),o=Gd(i.map(e=>e.characterCount));for(let t=0;t<a.length&&o<e.MIN_CHARS_FOR_RELIABLE_SPEED;t++)i.push(a[t]),o+=a[t].characterCount;let s=Gd(i.map(e=>e.endTime-e.startTime));if(s===0||o<=1)return{averageInterval:0,characterCount:o};let c=s/Math.max(1,o-1);return{averageInterval:Math.round(c),characterCount:o}}dispose(){this._finalizeCurrentSession(),super.dispose()}},SM;function CM(e){return SM?.(e)??null}function wM(e){SM=e}var TM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},EM=function(e,t){return function(n,r){t(n,r,e)}},DM=class extends K{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){super(),this.textModel=e,this._selectedSuggestItem=t,this._textModelVersionId=n,this._positions=r,this._debounceValue=i,this._enabled=a,this._isSuppressed=o,this._editor=s,this._instantiationService=c,this._commandService=l,this._languageConfigurationService=u,this._accessibilityService=d,this._languageFeaturesService=f,this._codeEditorService=p,this._inlineCompletionsService=m,this._isActive=ls(this,!1),this._onlyRequestInlineEditsSignal=wd(this),this._forceUpdateExplicitlySignal=wd(this),this._noDelaySignal=wd(this),this._fetchSpecificProviderSignal=wd(this),this._selectedInlineCompletionId=ls(this,void 0),this.primaryPosition=V(this,e=>this._positions.read(e)[0]??new j(1,1)),this.allPositions=V(this,e=>this._positions.read(e)),this.sku=ls(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=V(this,e=>{let t=this.state.read(e);return!t||!t.inlineSuggestion?!1:jM(this._editor,t.inlineSuggestion,e)}),this._onDidAccept=this._register(new P),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=Bc({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(e,t)=>(t.didUndo=e.didChange(this._textModelVersionId)&&!!e.change?.isUndoing,!0)}},(e,t)=>{let n=this._textModelVersionId.read(e);return n!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===n-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&t.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([OM.Redo,OM.Undo,OM.AcceptWord]),this.dontRefetchSignal=wd(this),this._fetchInlineCompletionsPromise=Bc({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:wi.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:``}),handleChange:(e,t)=>{if(e.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(e.change))&&(t.preserveCurrentCompletion=!0);let n=e.change?.detailedReasons??[];t.changeReason=n.length>0?n[0].getType():``,t.textChange=!0}else e.didChange(this._forceUpdateExplicitlySignal)?(t.preserveCurrentCompletion=!0,t.inlineCompletionTriggerKind=wi.Explicit):e.didChange(this.dontRefetchSignal)?t.dontRefetch=!0:e.didChange(this._onlyRequestInlineEditsSignal)?t.onlyRequestInlineEdits=!0:e.didChange(this._fetchSpecificProviderSignal)&&(t.provider=e.change?.provider,t.changeHint=e.change?.changeHint);return!0}}},(e,t)=>{if(this._source.clearOperationOnTextModelChange.read(e),this._noDelaySignal.read(e),this.dontRefetchSignal.read(e),this._onlyRequestInlineEditsSignal.read(e),this._forceUpdateExplicitlySignal.read(e),this._fetchSpecificProviderSignal.read(e),this._isSuppressed()||(!this._enabled.read(e)||!this._selectedSuggestItem.read(e))&&!this._isActive.read(e)||this._inlineCompletionsService.isSnoozing()&&t.inlineCompletionTriggerKind!==wi.Explicit){this._source.cancelUpdate();return}this._textModelVersionId.read(e);let n=this._source.suggestWidgetInlineCompletions.read(void 0),r=this._selectedSuggestItem.read(e);if(this._shouldShowOnSuggestConflict.read(void 0)&&(r=void 0),n&&!r&&this._source.seedInlineCompletionsWithSuggestWidget(),t.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(e)&&t.inlineCompletionTriggerKind!==wi.Explicit){Ps(e=>{this._source.clear(e)});return}let i=``;t.provider?i+=`providerOnDidChange`:t.inlineCompletionTriggerKind===wi.Explicit&&(i+=`explicit`),t.changeReason&&(i+=i.length>0?`:${t.changeReason}`:t.changeReason);let a=this._typing.getTypingInterval(),o={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:i,typingInterval:a.averageInterval,typingIntervalCharacterCount:a.characterCount,availableProviders:[],sku:this.sku.read(void 0)},s={triggerKind:t.inlineCompletionTriggerKind,selectedSuggestionInfo:r?.toSelectedSuggestionInfo(),includeInlineCompletions:!t.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(e),requestIssuedDateTime:o.startTime,earliestShownDateTime:o.startTime+(t.inlineCompletionTriggerKind===wi.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:t.changeHint};s.triggerKind===wi.Automatic&&t.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(s={...s,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});let c=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,l=t.preserveCurrentCompletion||c?.forwardStable?c:void 0,u=this._jumpedToId.map(e=>!!e&&e===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),d=t.provider?{providers:[t.provider],label:`single:`+t.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},f=this.getAvailableProviders(d.providers);return o.availableProviders=f.map(e=>e.providerId).filter(Zi),this._source.fetch(f,d.label,s,l?.identity,t.shouldDebounce,u,o)}),this._inlineSuggestionItems=Oc({owner:this},e=>{let t=this._source.inlineCompletions.read(e);if(!t)return;let n=this.primaryPosition.read(e),r,i=[];for(let e of t.inlineCompletions)e.isInlineEdit?r=e:e.isVisible(this.textModel,n)&&i.push(e);return i.length!==0&&(r=void 0),{inlineCompletions:i,inlineEdit:r}}),this._inlineCompletionItems=Oc({owner:this,equalsFn:xs()},e=>this._inlineSuggestionItems.read(e)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=V(this,e=>{let t=this._selectedInlineCompletionId.read(e),n=this._inlineCompletionItems.read(e),r=this._selectedInlineCompletionId===void 0?-1:n.findIndex(e=>e.semanticId===t);return r===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):r}),this.selectedInlineCompletion=V(this,e=>this._inlineCompletionItems.read(e)[this.selectedInlineCompletionIndex.read(e)]),this.activeCommands=Oc({owner:this,equalsFn:xs()},e=>this.selectedInlineCompletion.read(e)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=V(this,e=>{if(this.lastTriggerKind.read(e)===wi.Explicit)return this._inlineCompletionItems.read(e).length}),this._hasVisiblePeekWidgets=V(this,e=>this._editorObs.openedPeekWidgets.read(e)>0),this._shouldShowOnSuggestConflict=V(this,e=>{let t=this._showOnSuggestConflict.read(e);if(t!==`never`&&this.selectedInlineCompletion.read(e)){let n=this._selectedSuggestItem.read(e);return n?t!==`whenSuggestListIsIncomplete`||n.listIncomplete:!1}return!1}),this.state=Oc({owner:this,equalsFn:(e,t)=>!e||!t?e===t:e.kind===`ghostText`&&t.kind===`ghostText`?jA(e.ghostTexts,t.ghostTexts)&&e.inlineSuggestion===t.inlineSuggestion&&e.suggestItem===t.suggestItem:e.kind===`inlineEdit`&&t.kind===`inlineEdit`&&e.inlineSuggestion===t.inlineSuggestion},e=>{let t=this.textModel;if(this._suppressInSnippetMode.read(e)&&this._isInSnippetMode.read(e))return;let n=this._inlineSuggestionItems.read(e),r=n?.inlineEdit;if(r){if(this._hasVisiblePeekWidgets.read(e))return;let t=this.primaryPosition.map(e=>pn.fromRangeInclusive(r.targetRange).addMargin(1,1).contains(e.lineNumber)),i=r.action?.kind===`edit`?r.action.stringEdit:void 0,a=i?Cs.fromStringEdit(i,new Ko(this.textModel)).replacements:[],o=(n.inlineEdit?.command?.id===`vscode.open`||n.inlineEdit?.command?.id===`_workbench.open`)&&n.inlineEdit?.command.arguments?.length?Qn.from(n.inlineEdit?.command.arguments[0]):void 0;return r.originalTextRef.targets(this.textModel)||(o=r.originalTextRef.uri),{kind:`inlineEdit`,inlineSuggestion:r,edits:a,cursorAtInlineEdit:t,nextEditUri:o}}let i=this._selectedSuggestItem.read(e);if(!this._shouldShowOnSuggestConflict.read(e)&&i){let n=NA(i.getSingleTextEdit(),t),r=this._computeAugmentation(n,e);if(!this._suggestPreviewEnabled.read(e)&&!r)return;let a=r?.edit??n,o=r?r.edit.text.length-n.text.length:0,s=this._suggestPreviewMode.read(e),c=this._positions.read(e),l=[a,...kM(this.textModel,c,a)].map((e,n)=>({edit:e,ghostText:e?IA(e,t,s,c[n],o):void 0})).filter(({edit:e,ghostText:t})=>e!==void 0&&t!==void 0),u=l.map(({edit:e})=>e),d=l.map(({ghostText:e})=>e);return{kind:`ghostText`,edits:u,primaryGhostText:d[0]??new OA(a.range.endLineNumber,[]),ghostTexts:d,inlineSuggestion:r?.completion,suggestItem:i}}{if(!this._isActive.read(e))return;let n=this.selectedInlineCompletion.read(e);if(!n)return;let r=n.getSingleTextEdit(),i=this._inlineSuggestMode.read(e),a=this._positions.read(e),o=[r,...kM(this.textModel,a,r)].map((e,n)=>({edit:e,ghostText:e?IA(e,t,i,a[n],0):void 0})).filter(({edit:e,ghostText:t})=>e!==void 0&&t!==void 0),s=o.map(({edit:e})=>e),c=o.map(({ghostText:e})=>e);return c[0]?{kind:`ghostText`,edits:s,primaryGhostText:c[0],ghostTexts:c,inlineSuggestion:n,suggestItem:void 0}:void 0}}),this.status=V(this,e=>{if(this._source.loading.read(e))return`loading`;let t=this.state.read(e);return t?.kind===`ghostText`?`ghostText`:t?.kind===`inlineEdit`?`inlineEdit`:`noSuggestion`}),this.inlineCompletionState=V(this,e=>{let t=this.state.read(e);if(t&&t.kind===`ghostText`&&!this._editorObs.inComposition.read(e))return t}),this.inlineEditState=V(this,e=>{let t=this.state.read(e);if(t&&t.kind===`inlineEdit`)return t}),this.inlineEditAvailable=V(this,e=>!!this.inlineEditState.read(e)),this.warning=V(this,e=>this.inlineCompletionState.read(e)?.inlineSuggestion?.warning),this.ghostTexts=Oc({owner:this,equalsFn:jA},e=>{let t=this.inlineCompletionState.read(e);if(t)return t.ghostTexts}),this.primaryGhostText=Oc({owner:this,equalsFn:MA},e=>{let t=this.inlineCompletionState.read(e);if(t)return t?.primaryGhostText}),this.showCollapsed=V(this,e=>{let t=this.state.read(e);if(!t||t.kind!==`inlineEdit`||t.inlineSuggestion.hint||t.inlineSuggestion.action?.kind===`jumpTo`)return!1;let n=t.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(e);return(this._inlineEditsShowCollapsedEnabled.read(e)||!n)&&this._jumpedToId.read(e)!==t.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(e)}),this._tabShouldIndent=V(this,e=>{if(this._inAcceptFlow.read(e))return!1;function t(e){return e.startLineNumber!==e.endLineNumber}function n(e,t){let n=e.getLineIndentColumn(t),r=e.getLineLastNonWhitespaceColumn(t);return new w(t,n,t,Math.max(r,n))}return this._editorObs.selections.read(e)?.some(e=>e.isEmpty()?this.textModel.getLineLength(e.startLineNumber)===0:t(e)||e.containsRange(n(this.textModel,e.startLineNumber)))}),this.tabShouldJumpToInlineEdit=V(this,e=>{if(this._tabShouldIndent.read(e))return!1;let t=this.inlineEditState.read(e);return t?t.inlineSuggestion.action?.kind===`jumpTo`||this.showCollapsed.read(e)?!0:this._inAcceptFlow.read(e)&&this._appearedInsideViewport.read(e)?!1:!t.cursorAtInlineEdit.read(e):!1}),this.tabShouldAcceptInlineEdit=V(this,e=>{let t=this.inlineEditState.read(e);return!t||t.inlineSuggestion.action?.kind===`jumpTo`||this.showCollapsed.read(e)||this._tabShouldIndent.read(e)?!1:this._inAcceptFlow.read(e)&&this._appearedInsideViewport.read(e)||t.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(e)||this._jumpedToId.read(e)===t.inlineSuggestion.semanticId?!0:t.cursorAtInlineEdit.read(e)}),this._jumpedToId=ls(this,void 0),this._inAcceptFlow=ls(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(pM,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition,_r.defaultChatAgent?.completionsEnablementSetting)),this.lastTriggerKind=this._source.inlineCompletions.map(this,e=>e?.request?.context.triggerKind),this._editorObs=gs(this._editor);let g=this._editorObs.getOption(134);this._suggestPreviewEnabled=g.map(e=>e.preview),this._suggestPreviewMode=g.map(e=>e.previewMode);let _=this._editorObs.getOption(71);this._inlineSuggestMode=_.map(e=>e.mode),this._suppressedInlineCompletionGroupIds=_.map(e=>new Set(e.experimental.suppressInlineSuggestions.split(`,`))),this._inlineEditsEnabled=_.map(e=>!!e.edits.enabled),this._inlineEditsShowCollapsedEnabled=_.map(e=>e.edits.showCollapsed),this._triggerCommandOnProviderChange=_.map(e=>e.triggerCommandOnProviderChange),this._minShowDelay=_.map(e=>e.minShowDelay),this._showOnSuggestConflict=_.map(e=>e.experimental.showOnSuggestConflict),this._suppressInSnippetMode=_.map(e=>e.suppressInSnippetMode);let v=uA.get(this._editor);this._isInSnippetMode=v?.isInSnippetObservable??qi(!1),h.getDefaultAccount().then(PM(e=>this.sku.set(MM(e),void 0),this._store)),this._register(h.onDidChangeDefaultAccount(e=>this.sku.set(MM(e),void 0))),this._typing=this._register(new xM(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(e=>{e&&this.stop()}));{let e=this.textModel.uri.scheme===ul.vscodeNotebookCell,[t]=this._codeEditorService.listDiffEditors().filter(e=>e.getOriginalEditor().getId()===this._editor.getId()||e.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!t,this.editorType=e?Ij.Notebook:this.isInDiffEditor?Ij.DiffEditor:Ij.TextEditor}this._register(nc(this.state,e=>{e&&e.inlineSuggestion&&this._inlineCompletionsService.reportNewCompletion(e.inlineSuggestion.requestUuid)})),this._register(nc(this._fetchInlineCompletionsPromise)),this._register(Fl(e=>{this._editorObs.versionId.read(e),this._inAcceptFlow.set(!1,void 0)})),this._register(Fl(e=>{this.state.map((e,t)=>!e||e.kind===`inlineEdit`&&!e.cursorAtInlineEdit.read(t)).read(e)&&this._jumpedToId.set(void 0,void 0)})),this._register(Fl(e=>{let t=this.state.map(e=>e?.inlineSuggestion).read(e);t&&t.addPerformanceMarker(`activeSuggestion`)}));let y=this.inlineEditState.map(e=>e?.inlineSuggestion.semanticId);this._register(Fl(e=>{y.read(e)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion})}));let b=ou(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(e));zi(this,b,(e,t)=>{e.onDidChangeInlineCompletions&&t.add(e.onDidChangeInlineCompletions(t=>{if(!this._enabled.get()||(this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}let n=this.state.get();n&&(n.inlineSuggestion||n.edits)&&n.inlineSuggestion?.source.provider!==e||Ps(n=>{this._fetchSpecificProviderSignal.trigger(n,{provider:e,changeHint:t??void 0}),this.trigger(n)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(e){let t=!1,n=!0,r=this?.primaryGhostText.read(e);if(this?._selectedSuggestItem&&r&&r.parts.length>0){let{column:e,lines:i}=r.parts[0],a=i[0].line;if(e<=this.textModel.getLineIndentColumn(r.lineNumber)){let e=al(a);e===-1&&(e=a.length-1),t=e>0;let r=this.textModel.getOptions().tabSize;n=Zt.visibleColumnFromColumn(a,e+1,r)<r}}return{startsWithIndentation:t,startsWithIndentationLessThanTabSize:n}}_getReason(e){return e?.isUndoing?OM.Undo:e?.isRedoing?OM.Redo:this.isAcceptingPartially?OM.AcceptWord:OM.Other}getAvailableProviders(e){let t=this._suppressedInlineCompletionGroupIds.get(),n=e.filter(e=>!(e.groupId&&t.has(e.groupId))),r=new Set;for(let e of n)e.excludesGroupIds?.forEach(e=>r.add(e));let i=[];for(let e of n)e.groupId&&r.has(e.groupId)||i.push(e);return i}async trigger(e,t={}){pd(e,e=>{t.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(e),t.noDelay&&this._noDelaySignal.trigger(e),this._isActive.set(!0,e),t.explicit&&(this._inAcceptFlow.set(!0,e),this._forceUpdateExplicitlySignal.trigger(e)),t.provider&&this._fetchSpecificProviderSignal.trigger(e,{provider:t.provider,changeHint:t.changeHint})}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e,t=!1){return this.trigger(e,{onlyFetchInlineEdits:t,explicit:!0})}stop(e=`automatic`,t){pd(t,t=>{if(e===`explicitCancel`){let e=this.state.get()?.inlineSuggestion;e&&e.reportEndOfLife({kind:_n.Rejected})}this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){let n=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),i=r?r.inlineCompletions.filter(e=>!e.isInlineEdit):[this.selectedInlineCompletion.read(t)].filter(Zi);return Zr(i,t=>{let r=t.getSingleTextEdit();return r=NA(r,n,w.fromPositions(r.range.getStartPosition(),e.range.getEndPosition())),PA(r,e)?{completion:t,edit:r}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();let t=this._inlineCompletionItems.get()||[];if(t.length>0){let n=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[n].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(e,t,n=void 0){return n?ws.inlineCompletionPartialAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,providerId:e.source.provider.providerId,languageId:t,type:n,correlationId:e.getSourceCompletion().correlationId}):ws.inlineCompletionAccept({nes:e.isInlineEdit,requestUuid:e.requestUuid,correlationId:e.getSourceCompletion().correlationId,providerId:e.source.provider.providerId,languageId:t})}async accept(e=this._editor,t=!1){if(e.getModel()!==this.textModel)throw new To;let n,r=!1,i=this.state.get();if(i?.kind===`ghostText`){if(!i||i.primaryGhostText.isEmpty()||!i.inlineSuggestion)return;n=i.inlineSuggestion}else if(i?.kind===`inlineEdit`)n=i.inlineSuggestion,r=!!i.nextEditUri;else return;n.addRef();try{let a=!1;if(e.pushUndoStop(),!n.originalTextRef.targets(this.textModel)){let e=await this._codeEditorService.openCodeEditor({resource:n.originalTextRef.uri},this._editor);if(e){let t=CM(e)?.model.get();e.focus(),t?.transplantCompletion(n),e.revealLineInCenter(n.targetRange.startLineNumber)}}else if(!r&&n.action?.kind===`edit`){let r=n.action;if(t&&r.alternativeAction){a=!0;let e=r.alternativeAction.command;await this._commandService.executeCommand(e.id,...e.arguments||[]).then(void 0,ec)}else if(r.snippetInfo){let t=bf.delete(r.textReplacement.range),i=n.additionalTextEdits.map(e=>new bf(w.lift(e.range),e.text??``)),a=Cs.fromParallelReplacementsUnsorted([t,...i]);e.edit(a,this._getMetadata(n,this.textModel.getLanguageId())),e.setPosition(r.snippetInfo.range.getStartPosition(),`inlineCompletionAccept`),uA.get(e)?.insert(r.snippetInfo.snippet,{undoStopBefore:!1})}else{let t=i.edits,r=t;i.kind===`ghostText`&&(r=vA(t,this.textModel));let a=gA(r).map(e=>J.fromPositions(e)),o=n.additionalTextEdits.map(e=>new bf(w.lift(e.range),e.text??``)),s=Cs.fromParallelReplacementsUnsorted([...t,...o]);if(e.edit(s,this._getMetadata(n,this.textModel.getLanguageId())),n.hint===void 0&&e.setSelections(i.kind===`inlineEdit`?a.slice(-1):a,`inlineCompletionAccept`),i.kind===`inlineEdit`&&!this._accessibilityService.isMotionReduced()){let t=s.getNewRanges(),n=this._store.add(new AM(e,t,()=>{this._store.delete(n)}))}}}this._onDidAccept.fire(),this.stop(),n.command&&await this._commandService.executeCommand(n.command.id,...n.command.arguments||[]).then(void 0,ec),a&&this.trigger(void 0),n.reportEndOfLife({kind:_n.Accepted,alternativeAction:t})}finally{n.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:n}}}async acceptNextWord(){await this._acceptNext(this._editor,`word`,(e,t)=>{let n=this.textModel.getLanguageIdAtPosition(e.lineNumber,e.column),r=this._languageConfigurationService.getLanguageConfiguration(n),i=new RegExp(r.wordDefinition.source,r.wordDefinition.flags.replace(`g`,``)),a=t.match(i),o=0;o=a&&a.index!==void 0?a.index===0?a[0].length:a.index:t.length;let s=/\s+/g.exec(t);return s&&s.index!==void 0&&s.index+s[0].length<o&&(o=s.index+s[0].length),o},0)}async acceptNextLine(){await this._acceptNext(this._editor,`line`,(e,t)=>{let n=t.match(/\n/);return n&&n.index!==void 0?n.index+1:t.length},1)}async _acceptNext(e,t,n,r){if(e.getModel()!==this.textModel)throw new To;let i=this.inlineCompletionState.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineSuggestion)return;let a=i.primaryGhostText,o=i.inlineSuggestion;if(o.snippetInfo){await this.accept(e);return}let s=a.parts[0],c=new j(a.lineNumber,s.column),l=s.text,u=n(c,l);if(u===l.length&&a.parts.length===1){this.accept(e);return}let d=l.substring(0,u),f=this._positions.get(),p=f[0];o.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();let n=w.fromPositions(p,c),r=e.getModel().getValueInRange(n)+d,i=new bf(n,r),a=[i,...kM(this.textModel,f,i)].filter(Zi),s=gA(a).map(e=>J.fromPositions(e));e.edit(Cs.fromParallelReplacementsUnsorted(a),this._getMetadata(o,this.textModel.getLanguageId(),t)),e.setSelections(s,`inlineCompletionPartialAccept`),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),0)}finally{this._isAcceptingPartially=!1}let n=w.fromPositions(o.editRange.getStartPosition(),wa.ofText(d).addToPosition(c)),i=e.getModel().getValueInRange(n,1).length;o.reportPartialAccept(i,{kind:r,acceptedLength:i},{characters:u,ratio:u/l.length,count:1})}finally{o.removeRef()}}handleSuggestAccepted(e){let t=NA(e.getSingleTextEdit(),this.textModel),n=this._computeAugmentation(t,void 0);if(!n)return;let r=this.textModel.getValueInRange(n.completion.editRange,1).length+t.text.length;n.completion.reportPartialAccept(t.text.length,{kind:2,acceptedLength:r},{characters:t.text.length,count:1,ratio:1})}extractReproSample(){return{documentValue:this.textModel.getValue(),inlineCompletion:(this.state.get()?.inlineSuggestion)?.getSourceCompletion()}}jump(){let e=this.inlineEditState.get();if(!e)return;let t=e.inlineSuggestion;if(!t.originalTextRef.targets(this.textModel))this.accept(this._editor);else{t.addRef();try{Ps(n=>{t.action?.kind===`jumpTo`&&(this.stop(void 0,n),t.reportEndOfLife({kind:_n.Accepted,alternativeAction:!1})),this._jumpedToId.set(e.inlineSuggestion.semanticId,n),this.dontRefetchSignal.trigger(n);let r=e.inlineSuggestion.targetRange,i=r.getStartPosition();if(this._editor.setPosition(i,`inlineCompletions.jump`),r.isSingleLine()&&(e.inlineSuggestion.hint||e.inlineSuggestion.action?.kind===`edit`&&!e.inlineSuggestion.action.textReplacement.text.includes(`
|
|
41
|
+
`))||e.inlineSuggestion.action?.kind===`jumpTo`)this._editor.revealPosition(i,0);else{let e=new w(r.startLineNumber-1,1,r.endLineNumber+1,1);this._editor.revealRange(e,0)}e.inlineSuggestion.identity.setJumpTo(n),this._editor.focus()})}finally{t.removeRef()}}}async handleInlineSuggestionShown(e,t,n,r){await e.reportInlineEditShown(this._commandService,t,n,this.textModel,r)}transplantCompletion(e){Ps(t=>{this._source.seedWithCompletion(e,t),this._isActive.set(!0,t),this._inAcceptFlow.set(!0,t),this.dontRefetchSignal.trigger(t)})}};DM=TM([EM(8,W),EM(9,kr),EM(10,Ln),EM(11,jn),EM(12,z),EM(13,$s),EM(14,Jl),EM(15,On)],DM);var OM;(function(e){e[e.Undo=0]=`Undo`,e[e.Redo=1]=`Redo`,e[e.AcceptWord=2]=`AcceptWord`,e[e.Other=3]=`Other`})(OM||={});function kM(e,t,n){if(t.length===1)return[];let r=new Ko(e),i=r.getTransformer(),a=i.getOffset(t[0]),o=t.slice(1).map(e=>i.getOffset(e));n=n.removeCommonPrefixAndSuffix(r);let s=i.getStringReplacement(n),c=s.replaceRange.start-a,l=s.replaceRange.join(li.emptyAt(a)),u=r.getValueOfOffsetRange(l);return o.map(e=>{let t=e+c,n=t+s.replaceRange.length,a=new li(t,n),o=a.join(li.emptyAt(e));if(r.getValueOfOffsetRange(o)!==u)return;let l=new Ac(a,s.newText);return i.getTextReplacement(l)}).filter(Zi)}var AM=class extends K{constructor(e,t,n){super(),n&&this._register({dispose:()=>n()}),this._register(gs(e).setDecorations(qi(t.map(e=>({range:e,options:{description:`animation`,className:`edits-fadeout-decoration`,zIndex:1}})))));let r=new EA(CA.startNow(1,0,1e3,TA));this._register(Fl(t=>{let n=r.getValue(t);e.getContainerDomNode().style.setProperty(`--animation-opacity`,n.toString()),r.isFinished(t)&&this.dispose()}))}};function jM(e,t,n=void 0){let r=t.targetRange;gs(e).scrollTop.read(n);let i=e.getVisibleRanges();return i.length<1?!1:new w(i[0].startLineNumber,i[0].startColumn,i[i.length-1].endLineNumber,i[i.length-1].endColumn).containsRange(r)}function MM(e){if(e?.entitlementsData?.access_type_sku&&e?.entitlementsData?.copilot_plan)return{type:e.entitlementsData.access_type_sku,plan:e.entitlementsData.copilot_plan}}var NM=class{constructor(e){this.handler=e=>this._cb?.(e),this._cb=e}dispose(){this._cb=void 0}};function PM(e,t){let n=new NM(e);return t.add(n),n.handler}var FM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},IM=function(e,t){return function(n,r){t(n,r,e)}},LM,RM=class{constructor(e){this.name=e}select(e,t,n){if(n.length===0)return 0;let r=n[0].score[0];for(let e=0;e<n.length;e++){let{score:t,completion:i}=n[e];if(t[0]!==r)break;if(i.preselect)return e}return 0}},zM=class extends RM{constructor(){super(`first`)}memorize(e,t,n){}toJSON(){}fromJSON(){}},BM=class extends RM{constructor(){super(`recentlyUsed`),this._cache=new Si(300,.66),this._seq=0}memorize(e,t,n){let r=`${e.getLanguageId()}/${n.textLabel}`;this._cache.set(r,{touch:this._seq++,type:n.completion.kind,insertText:n.completion.insertText})}select(e,t,n){if(n.length===0)return 0;let r=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(r))return super.select(e,t,n);let i=n[0].score[0],a=-1,o=-1,s=-1;for(let t=0;t<n.length&&n[t].score[0]===i;t++){let r=`${e.getLanguageId()}/${n[t].textLabel}`,i=this._cache.peek(r);if(i&&i.touch>s&&i.type===n[t].completion.kind&&i.insertText===n[t].completion.insertText&&(s=i.touch,o=t),n[t].completion.preselect&&a===-1)return a=t}return o===-1?a===-1?0:a:o}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(let[t,n]of e)n.touch=0,n.type=typeof n.type==`number`?n.type:Ds.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}},VM=class extends RM{constructor(){super(`recentlyUsedByPrefix`),this._trie=el.forStrings(),this._seq=0}memorize(e,t,n){let{word:r}=e.getWordUntilPosition(t),i=`${e.getLanguageId()}/${r}`;this._trie.set(i,{type:n.completion.kind,insertText:n.completion.insertText,touch:this._seq++})}select(e,t,n){let{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,n);let i=`${e.getLanguageId()}/${r}`,a=this._trie.get(i);if(a||=this._trie.findSubstr(i),a)for(let e=0;e<n.length;e++){let{kind:t,insertText:r}=n[e].completion;if(t===a.type&&r===a.insertText)return e}return super.select(e,t,n)}toJSON(){let e=[];return this._trie.forEach((t,n)=>e.push([n,t])),e.sort((e,t)=>-(e[1].touch-t[1].touch)).forEach((e,t)=>e[1].touch=t),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(let[t,n]of e)n.type=typeof n.type==`number`?n.type:Ds.fromString(n.type),this._trie.set(t,n)}}},HM=class{static{LM=this}static{this._strategyCtors=new Map([[`recentlyUsedByPrefix`,VM],[`recentlyUsed`,BM],[`first`,zM]])}static{this._storagePrefix=`suggest/memories`}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new I,this._persistSoon=new Lr(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===$o.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,n){this._withStrategy(e,t).memorize(e,t,n),this._persistSoon.schedule()}select(e,t,n){return this._withStrategy(e,t).select(e,t,n)}_withStrategy(e,t){let n=this._configService.getValue(`editor.suggestSelection`,{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==n){this._saveState();let e=LM._strategyCtors.get(n)||zM;this._strategy=new e;try{let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=this._storageService.get(`${LM._storagePrefix}/${n}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch{}}return this._strategy}_saveState(){if(this._strategy){let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=JSON.stringify(this._strategy);this._storageService.store(`${LM._storagePrefix}/${this._strategy.name}`,t,e,1)}}};HM=LM=FM([IM(0,kc),IM(1,Wi)],HM);var UM=nu(`ISuggestMemories`);_o(UM,HM,1);var WM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},GM=function(e,t){return function(n,r){t(n,r,e)}},KM,qM=class{static{KM=this}static{this.AtEnd=new M(`atEndOfWord`,!1,{type:`boolean`,description:S(1568,`A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled`)})}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=KM.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){let e=this._editor.getOption(139)===`on`;if(this._enabled!==e){if(this._enabled=e,this._enabled){let e=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());n?this._ckAtEnd.set(n.endColumn===t.getStartPosition().column&&t.getStartPosition().lineNumber===t.getEndPosition().lineNumber):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&=(this._ckAtEnd.reset(),this._selectionListener.dispose(),void 0)}}};qM=KM=WM([GM(1,Ra)],qM);var JM=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YM=function(e,t){return function(n,r){t(n,r,e)}},XM,ZM=class{static{XM=this}static{this.OtherSuggestions=new M(`hasOtherSuggestions`,!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=XM.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){e.items.length===0||XM._moveIndex(!0,e,t)===t?this.reset():(this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0))}static _moveIndex(e,t,n){let r=n;for(let i=t.items.length;i>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,r!==n&&t.items[r].completion.additionalTextEdits);i--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=XM._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};ZM=XM=JM([YM(1,Ra)],ZM);var QM=class{constructor(e,t,n,r){this._disposables=new I,this._disposables.add(n.onDidSuggest(e=>{e.completionModel.items.length===0&&this.reset()})),this._disposables.add(n.onDidCancel(e=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(i=>{if(this._active&&!t.isFrozen()&&n.state!==0){let t=i.charCodeAt(i.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!ku(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;let t=new Yn;for(let n of e.item.completion.commitCharacters)n.length>0&&t.add(n.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}},$M=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}},eN=class e{constructor(t,n,r,i,a,o,s=At.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=i,this._options=a,this._refilterKind=1,this._lineContext=r,this._fuzzyScoreOptions=s,o===`top`?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:o===`bottom`&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();let e=new Set;for(let[t,n]of this.getItemsByProvider())n.length>0&&n[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;let e=[],{leadingLineContent:t,characterCountDelta:n}=this._lineContext,r=``,i=``,a=this._refilterKind===1?this._items:this._filteredItems,o=[],s=!this._options.filterGraceful||a.length>2e3?Fa:io;for(let c=0;c<a.length;c++){let l=a[c];if(l.isInvalid)continue;let u=this._itemsByProvider.get(l.provider);u?u.push(l):this._itemsByProvider.set(l.provider,[l]);let d=l.position.column-l.editStart.column,f=d+n-(l.position.column-this._column);if(r.length!==f&&(r=f===0?``:t.slice(-f),i=r.toLowerCase()),l.word=r,f===0)l.score=Uf.Default;else{let e=0;for(;e<d;){let t=r.charCodeAt(e);if(t===32||t===9)e+=1;else break}if(e>=f)l.score=Uf.Default;else if(typeof l.completion.filterText==`string`){let t=s(r,i,e,l.completion.filterText,l.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;cc(l.completion.filterText,l.textLabel)===0?l.score=t:(l.score=qa(r,i,e,l.textLabel,l.labelLow,0),l.score[0]=t[0])}else{let t=s(r,i,e,l.textLabel,l.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;l.score=t}}l.idx=c,l.distance=this._wordDistance.distance(l.position,l.completion),o.push(l),e.push(l.textLabel.length)}this._filteredItems=o.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Ec(e.length-.85,e,(e,t)=>e-t):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:+(e.idx>t.idx)}static _compareCompletionItemsSnippetsDown(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return 1;if(n.completion.kind===28)return-1}return e._compareCompletionItems(t,n)}static _compareCompletionItemsSnippetsUp(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return-1;if(n.completion.kind===28)return 1}return e._compareCompletionItems(t,n)}},tN=class e{async provideSelectionRanges(t,n){let r=[];for(let i of n){let n=[];r.push(n);let a=new Map;await new Promise(n=>e._bracketsRightYield(n,0,t,i,a)),await new Promise(r=>e._bracketsLeftYield(r,0,t,i,a,n))}return r}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(t,n,r,i,a){let o=new Map,s=Date.now();for(;;){if(n>=e._maxRounds||!i){t();break}let c=r.bracketPairs.findNextBracket(i);if(!c){t();break}if(Date.now()-s>e._maxDuration){setTimeout(()=>e._bracketsRightYield(t,n+1,r,i,a));break}if(c.bracketInfo.isOpeningBracket){let e=c.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{let e=c.bracketInfo.getOpeningBrackets()[0].bracketText,t=o.has(e)?o.get(e):0;if(--t,o.set(e,Math.max(0,t)),t<0){let t=a.get(e);t||(t=new Ml,a.set(e,t)),t.push(c.range)}}i=c.range.getEndPosition()}}static _bracketsLeftYield(t,n,r,i,a,o){let s=new Map,c=Date.now();for(;;){if(n>=e._maxRounds&&a.size===0||!i){t();break}let l=r.bracketPairs.findPrevBracket(i);if(!l){t();break}if(Date.now()-c>e._maxDuration){setTimeout(()=>e._bracketsLeftYield(t,n+1,r,i,a,o));break}if(l.bracketInfo.isOpeningBracket){let t=l.bracketInfo.bracketText,n=s.has(t)?s.get(t):0;if(--n,s.set(t,Math.max(0,n)),n<0){let n=a.get(t);if(n){let i=n.shift();n.size===0&&a.delete(t);let s=w.fromPositions(l.range.getEndPosition(),i.getStartPosition()),c=w.fromPositions(l.range.getStartPosition(),i.getEndPosition());o.push({range:s}),o.push({range:c}),e._addBracketLeading(r,c,o)}}}else{let e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}i=l.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;let r=t.startLineNumber,i=e.getLineFirstNonWhitespaceColumn(r);i!==0&&i!==t.startColumn&&(n.push({range:w.fromPositions(new j(r,i),t.getEndPosition())}),n.push({range:w.fromPositions(new j(r,1),t.getEndPosition())}));let a=r-1;if(a>0){let r=e.getLineFirstNonWhitespaceColumn(a);r===t.startColumn&&r!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:w.fromPositions(new j(a,r),t.getEndPosition())}),n.push({range:w.fromPositions(new j(a,1),t.getEndPosition())}))}}},nN=class e{static{this.None=new class extends e{distance(){return 0}}}static async create(t,n){if(!n.getOption(134).localityBonus||!n.hasModel())return e.None;let r=n.getModel(),i=n.getPosition();if(!t.canComputeWordRanges(r.uri))return e.None;let[a]=await new tN().provideSelectionRanges(r,[i]);if(a.length===0)return e.None;let o=await t.computeWordRanges(r.uri,a[0].range);if(!o)return e.None;let s=r.getWordUntilPosition(i);return delete o[s.word],new class extends e{distance(e,t){if(!i.equals(n.getPosition()))return 0;if(t.kind===17)return 2<<20;let r=typeof t.label==`string`?t.label:t.label.label,s=o[r];if(pc(s))return 2<<20;let c=Qu(s,w.fromPositions(e),w.compareRangesUsingStarts),l=c>=0?s[c]:s[Math.max(0,~c-1)],u=a.length;for(let e of a){if(!w.containsRange(e.range,l))break;--u}return u}}}},rN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iN=function(e,t){return function(n,r){t(n,r,e)}},aN,oN=class{static shouldAutoTrigger(e){if(!e.hasModel())return!1;let t=e.getModel(),n=e.getPosition();t.tokenization.tokenizeIfCheap(n.lineNumber);let r=t.getWordAtPosition(n);return!(!r||r.endColumn!==n.column&&r.startColumn+1!==n.column||!isNaN(Number(r.word)))}constructor(e,t,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=n}};function sN(e,t,n){if(!t.getContextKeyValue(qO.inlineSuggestionVisible.key))return!0;let r=t.getContextKeyValue(qO.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}function cN(e,t,n){if(!t.getContextKeyValue(`inlineSuggestionVisible`))return!0;let r=t.getContextKeyValue(qO.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}var lN=aN=class{constructor(e,t,n,r,i,a,o,s,c){this._editor=e,this._editorWorkerService=t,this._clipboardService=n,this._telemetryService=r,this._logService=i,this._contextKeyService=a,this._configurationService=o,this._languageFeaturesService=s,this._envService=c,this._toDispose=new I,this._triggerCharacterListener=new I,this._triggerQuickSuggest=new $i,this._triggerState=void 0,this._completionDisposables=new I,this._onDidCancel=new P,this._onDidTrigger=new P,this._onDidSuggest=new P,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new J(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let l=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{l=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{l=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{l||this._onCursorChange(e)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!l&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Lc(this._triggerCharacterListener),Lc([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._waitForInlineCompletions?.dispose(),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(104)||!this._editor.hasModel()||!this._editor.getOption(137))return;let e=new Map;for(let t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let n of t.triggerCharacters||[]){let r=e.get(n);r||(r=new Set,e.set(n,r)),r.add(t)}let t=t=>{if(!cN(this._editor,this._contextKeyService,this._configurationService)||oN.shouldAutoTrigger(this._editor))return;if(!t){let e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let n=``;Vd(t.charCodeAt(t.length-1))?Bl(t.charCodeAt(t.length-2))&&(n=t.substr(t.length-2)):n=t.charAt(t.length-1);let r=e.get(n);if(r){let e=new Map;if(this._completionModel)for(let[t,n]of this._completionModel.getItemsByProvider())r.has(t)||e.set(t,n);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:r,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){this._triggerQuickSuggest.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerState!==void 0&&(this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;let t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!==`keyboard`&&e.source!==`deleteLeft`?this.cancel():this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){KO.isAllOff(this._editor.getOption(102))||this._editor.getOption(134).snippetsPreventQuickSuggestions&&uA.get(this._editor)?.isInSnippet()||(this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!oN.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(102);if(KO.isAllOff(n))return;let r=!1;if(!KO.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);let i=e.tokenization.getLineTokens(t.lineNumber),a=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(t.column-1-1,0))),o=KO.valueFor(n,a);if(o===`off`||o===`inline`)return;o===`offWhenInlineCompletions`&&(r=this._languageFeaturesService.inlineCompletionsProvider.has(e)&&this._editor.getOption(71).enabled)}sN(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&(r?this._waitForInlineCompletionsAndTrigger(e,t):this.trigger({auto:!0}))},this._editor.getOption(103)))}_waitForInlineCompletionsAndTrigger(e,t){let n=e.getVersionId(),r=CM(this._editor),i=r?.model.get();if(!r||!i){this.trigger({auto:!0});return}if(i.state.get()?.inlineSuggestion)return;let a=new I;this._waitForInlineCompletions=a;let o=r=>{if(a.dispose(),this._waitForInlineCompletions===a&&(this._waitForInlineCompletions=void 0),this._triggerState!==void 0||!r)return;let i=this._editor.getModel(),o=this._editor.getPosition();i===e&&i.getVersionId()===n&&o?.equals(t)&&this._editor.hasWidgetFocus()&&this.trigger({auto:!0})};Ka(()=>{o(!0),i.stop(`automatic`)},750,a),hc(a,e=>{if(r.model.read(e)!==i){e.dispose(),o(!1);return}let t=i.status.read(e),n=i.state.read(e);(n||t!==`loading`)&&(e.dispose(),o(!n))})}_refilterCompletionItems(){tr(this._editor.hasModel()),tr(this._triggerState!==void 0);let e=new oN(this._editor.getModel(),this._editor.getPosition(),{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=new oN(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=n;let r={triggerKind:e.triggerKind??0};e.triggerCharacter&&(r={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new No;let i=this._editor.getOption(128),a=1;switch(i){case`top`:a=0;break;case`bottom`:a=2}let{itemKind:o,showDeprecated:s}=aN.createSuggestFilter(this._editor),c=new LO(a,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,s),l=nN.create(this._editorWorkerService,this._editor),u=zO(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),c,r,this._requestToken.token);Promise.all([u,l]).then(async([t,n])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){t.disposable.dispose();return}let r=e?.clipboardText;if(!r&&t.needsClipboard&&(r=await this._clipboardService.readText()),this._triggerState===void 0){t.disposable.dispose();return}let i=new oN(this._editor.getModel(),this._editor.getPosition(),e),a={...At.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new eN(t.items,this._context.column,{leadingLineContent:i.leadingLineContent,characterCountDelta:i.column-this._context.column},n,this._editor.getOption(134),this._editor.getOption(128),a,r),this._completionDisposables.add(t.disposable),this._onNewContext(i),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(let e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)}).catch(at)}_reportDurationsTelemetry(e){Math.random()>1e-4||setTimeout(()=>{this._telemetryService.publicLog2(`suggest.durations.json`,{data:JSON.stringify(e)}),this._logService.debug(`suggest.durations.json`,e)})}static createSuggestFilter(e){let t=new Set;e.getOption(128)===`none`&&t.add(28);let n=e.getOption(134);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(28),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber)this.cancel();else if(wu(e.leadingLineContent)!==wu(this._context.leadingLineContent))this.cancel();else if(e.column<this._context.column)e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();else if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(oN.shouldAutoTrigger(this._editor)&&this._context){let e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){let e=new Map,t=new Set;for(let[n,r]of this._completionModel.getItemsByProvider())r.length>0&&r[0].container.incomplete?t.add(n):e.set(n,r);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{let t=this._completionModel.lineContext,n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){let r=oN.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto||(this._completionModel.lineContext=t,n=this._completionModel.items.length>0,n&&e.leadingWord.word.length===0)){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}}}};lN=aN=rN([iN(1,dr),iN(2,us),iN(3,St),iN(4,Pu),iN(5,Ra),iN(6,Wi),iN(7,z),iN(8,gc)],lN);var uN=class e{static{this._maxSelectionLength=51200}constructor(t,n){this._disposables=new I,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType(()=>{if(this._locked||!t.hasModel())return;let n=t.getSelections(),r=n.length,i=!1;for(let e=0;e<r;e++)if(!n[e].isEmpty()){i=!0;break}if(!i){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];let a=t.getModel();for(let t=0;t<r;t++){let r=n[t];if(a.getValueLengthInRange(r)>e._maxSelectionLength)return;this._lastOvertyped[t]={value:a.getValueInRange(r),multiline:r.startLineNumber!==r.endLineNumber}}})),this._disposables.add(n.onDidTrigger(e=>{this._locked=!0})),this._disposables.add(n.onDidCancel(e=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}},dN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fN=function(e,t){return function(n,r){t(n,r,e)}},pN=class{constructor(e,t,n,r,i,a){this._menuId=t,this._menuService=i,this._contextKeyService=a,this._menuDisposables=new I,this.element=q(e,N(`.suggest-status-bar`));let o=(e=>n?.showIconsNoKeybindings?e instanceof Pi?r.createInstance(ia,e,void 0):void 0:e instanceof Pi?r.createInstance(qf,e,{useComma:!1}):void 0);this._leftActions=new Hr(this.element,{actionViewItemProvider:o}),this._rightActions=new Hr(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add(`left`),this._rightActions.domNode.classList.add(`right`)}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){let e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{let t=[],n=[];for(let[r,i]of e.getActions())r===`left`?t.push(...i):n.push(...i);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};pN=dN([fN(3,W),fN(4,$r),fN(5,Ra)],pN);var mN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hN=function(e,t){return function(n,r){t(n,r,e)}};function gN(e){return!!e&&!!(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}var _N=class{constructor(e,t,n){this._editor=e,this._themeService=t,this._markdownRendererService=n,this._onDidClose=new P,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new P,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new I,this._renderDisposeable=new I,this._size=new hu(330,0),this.domNode=N(`.suggest-details`),this.domNode.classList.add(`no-docs`),this._body=N(`.body`),this._scrollbar=new la(this._body,{alwaysConsumeMouseWheel:!0}),q(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=q(this._body,N(`.header`)),this._close=q(this._header,N(`span`+H.asCSSSelector(A.close))),this._close.title=S(1563,`Close`),this._close.ariaLabel=S(1564,`Close`),this._close.role=`button`,this._close.tabIndex=-1,this._type=q(this._header,N(`p.type`)),this._docs=q(this._body,N(`p.docs`)),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){let e=this._editor.getOptions(),t=e.get(59),n=t.getMassagedFontFamily(),r=e.get(135)||t.fontSize,i=e.get(136)||t.lineHeight,a=t.fontWeight,o=`${r}px`,s=`${i}px`;this.domNode.style.fontSize=o,this.domNode.style.lineHeight=`${i/r}`,this.domNode.style.fontWeight=a,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=s,this._close.style.width=s}getLayoutInfo(){let e=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,t=_t(this._themeService.getColorTheme().type)?2:1;return{lineHeight:e,borderWidth:t,borderHeight:t*2,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=S(1565,`Loading...`),this._docs.textContent=``,this.domNode.classList.remove(`no-docs`,`no-type`),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:n,documentation:r}=e.completion;if(t){let t=``;t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??`(no prefix)`}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+` (filterText)`:e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||`label`}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join(``)}\n`,r=new ji().appendCodeblock(`empty`,t),n=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!gN(e))this.clearContents();else{if(this.domNode.classList.remove(`no-docs`,`no-type`),n){let e=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=e,this._type.title=e,Cr(this._type),this._type.classList.toggle(`auto-wrap`,!/\r?\n^\s+/gim.test(e))}else Df(this._type),this._type.title=``,ii(this._type),this.domNode.classList.add(`no-type`);if(Df(this._docs),typeof r==`string`)this._docs.classList.remove(`markdown-docs`),this._docs.textContent=r;else if(r){this._docs.classList.add(`markdown-docs`),Df(this._docs);let e=this._markdownRendererService.render(r,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(e.element),this._renderDisposeable.add(e)}this.domNode.classList.toggle(`detail-and-doc`,!!n&&!!r),this.domNode.style.userSelect=`text`,this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}}clearContents(){this.domNode.classList.add(`no-docs`),this._type.textContent=``,this._docs.textContent=``}get isEmpty(){return this.domNode.classList.contains(`no-docs`)}get size(){return this._size}layout(e,t){let n=new hu(e,t);hu.equals(n,this._size)||(this._size=n,zu(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};_N=mN([hN(1,Xn),hN(2,Ca)],_N);var vN=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new I,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new pv,this._resizable.domNode.classList.add(`suggest-details-container`),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n,r,i=0,a=0;this._disposables.add(this._resizable.onDidWillResize(()=>{n=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(e=>{if(n&&r){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(a=r.width-e.dimension.width,t=!0),e.north&&(i=r.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:n.top+i,left:n.left+a})}e.done&&(n=void 0,r=void 0,i=0,a=0,this._userSize=e.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return`suggest.details`}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||=(this._editor.addOverlayWidget(this),!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){let n=e.getBoundingClientRect();this._anchorBox=n,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,n){let r=Lt(this.getDomNode().ownerDocument.body),i=this.widget.getLayoutInfo(),a=new hu(220,2*i.lineHeight),o=e.top,s=(function(){let n=r.width-(e.left+e.width+i.borderWidth+i.horizontalPadding),s=-i.borderWidth+e.left+e.width,c=new hu(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),c=(function(){let n=e.left-i.borderWidth-i.horizontalPadding,s=Math.max(i.horizontalPadding,e.left-t.width-i.borderWidth),c=new hu(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),l=(function(){let n=e.left,o=-i.borderWidth+e.top+e.height,s=new hu(e.width-i.borderHeight,r.height-e.top-e.height-i.verticalPadding);return{top:o,left:n,fit:s.height-t.height,maxSizeBottom:s,maxSizeTop:s,minSize:a.with(s.width)}})(),u=(function(){let n=e.left,r=new hu(e.width-i.borderHeight,e.top-i.verticalPadding);return{top:Math.max(i.verticalPadding,e.top-t.height),left:n,fit:r.height-t.height,maxSizeTop:r,maxSizeBottom:r,minSize:a.with(r.width)}})(),d=[s,c,n?l:u],f=d.find(e=>e.fit>=0)??d.sort((e,t)=>t.fit-e.fit)[0],p=e.top+e.height-i.borderHeight,m,h=t.height,g=Math.max(f.maxSizeTop.height,f.maxSizeBottom.height);h>g&&(h=g);let _;n?h<=f.maxSizeTop.height?(m=!0,_=f.maxSizeTop):(m=!1,_=f.maxSizeBottom):h<=f.maxSizeBottom.height?(m=!1,_=f.maxSizeBottom):(m=!0,_=f.maxSizeTop);let{top:v,left:y}=f;f===u?v=e.top-h+i.borderWidth:!m&&h>e.height&&(v=p-h);let b=this._editor.getDomNode();if(b){let e=b.getBoundingClientRect();v-=e.top,y-=e.left}this._applyTopLeft({left:y,top:v}),f===u?this._resizable.enableSashes(!0,!1,!1,!0):this._resizable.enableSashes(!m,f===s,m,f!==s),this._resizable.minSize=f.minSize,this._resizable.maxSize=_,this._resizable.layout(h,Math.min(_.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}},yN=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function bN(e,t,n,r,i){if(H.isThemeIcon(i))return[`codicon-${i.id}`,`predefined-file-icon`];if(Qn.isUri(i))return[];let a=r===uD.ROOT_FOLDER?[`rootfolder-icon`]:r===uD.FOLDER?[`folder-icon`]:[`file-icon`];if(n){let i;if(n.scheme===ul.data)i=ns.parseMetaData(n).get(ns.META_DATA_LABEL);else{let e=n.path.match(yN);e?(i=SN(e[2].toLowerCase()),e[1]&&a.push(`${SN(e[1].toLowerCase())}-name-dir-icon`)):i=SN(n.authority.toLowerCase())}if(r===uD.ROOT_FOLDER)a.push(`${i}-root-name-folder-icon`);else if(r===uD.FOLDER)a.push(`${i}-name-folder-icon`);else{if(i){if(a.push(`${i}-name-file-icon`),a.push(`name-file-icon`),i.length<=255){let e=i.split(`.`);for(let t=1;t<e.length;t++)a.push(`${e.slice(t).join(`.`)}-ext-file-icon`)}a.push(`ext-file-icon`)}let r=xN(e,t,n);r&&a.push(`${SN(r)}-lang-file-icon`)}}return a}function xN(e,t,n){if(!n)return null;let r=null;if(n.scheme===ul.data){let e=ns.parseMetaData(n).get(ns.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{let t=e.getModel(n);t&&(r=t.getLanguageId())}return r&&r!==`plaintext`?r:t.guessLanguageIdByFilepathOrFirstLine(n)}function SN(e){return e.replace(/[\s]/g,`/`)}var CN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wN=function(e,t){return function(n,r){t(n,r,e)}},TN=Mr(`suggest-more-info`,A.chevronRight,S(1566,`Icon for more information in the suggest widget.`)),EN=new class e{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=RegExp(`^${e._regexRelaxed.source}$`,`i`)}extract(t,n){if(t.textLabel.match(e._regexStrict))return n[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return n[0]=t.completion.detail,!0;if(t.completion.documentation){let r=typeof t.completion.documentation==`string`?t.completion.documentation:t.completion.documentation.value,i=e._regexRelaxed.exec(r);if(i&&(i.index===0||i.index+i[0].length===r.length))return n[0]=i[0],!0}return!1}},DN=class{constructor(e,t,n,r){this._editor=e,this._modelService=t,this._languageService=n,this._themeService=r,this._onDidToggleDetails=new P,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId=`suggestion`}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){let t=new I,n=e;n.classList.add(`show-file-icons`);let r=q(e,N(`.icon`)),i=q(r,N(`span.colorspan`)),a=q(e,N(`.contents`)),o=q(a,N(`.main`)),s=q(o,N(`.icon-label.codicon`)),c=q(o,N(`span.left`)),l=q(o,N(`span.right`)),u=new Va(c,{supportHighlights:!0,supportIcons:!0});t.add(u);let d=q(c,N(`span.signature-label`)),f=q(c,N(`span.qualifier-label`)),p=q(l,N(`span.details-label`)),m=q(l,N(`span.readMore`+H.asCSSSelector(TN)));return m.title=S(1567,`Read More`),{root:n,left:c,right:l,icon:r,colorspan:i,iconLabel:u,iconContainer:s,parametersLabel:d,qualifierLabel:f,detailsLabel:p,readMore:m,disposables:t,configureFont:()=>{let e=this._editor.getOptions(),t=e.get(59),i=t.getMassagedFontFamily(),a=t.fontFeatureSettings,s=t.fontVariationSettings,c=e.get(135)||t.fontSize,l=e.get(136)||t.lineHeight,u=t.fontWeight,d=t.letterSpacing,f=`${c}px`,p=`${l}px`,h=`${d}px`;n.style.fontSize=f,n.style.fontWeight=u,n.style.letterSpacing=h,o.style.fontFamily=i,o.style.fontFeatureSettings=a,o.style.fontVariationSettings=s,o.style.lineHeight=p,r.style.height=p,r.style.width=p,m.style.height=p,m.style.width=p}}}renderElement(e,t,n){n.configureFont();let{completion:r}=e;n.colorspan.style.backgroundColor=``;let i={labelEscapeNewLines:!0,matches:Jn(e.score)},a=[];if(r.kind===19&&EN.extract(e,a))n.icon.className=`icon customcolor`,n.iconContainer.className=`icon hide`,n.colorspan.style.backgroundColor=a[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`;let t=bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:e.textLabel}),uD.FILE),a=bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:r.detail}),uD.FILE);i.extraClasses=t.length>a.length?t:a}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`,i.extraClasses=[bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:e.textLabel}),uD.FOLDER),bN(this._modelService,this._languageService,Qn.from({scheme:`fake`,path:r.detail}),uD.FOLDER)].flat()):(n.icon.className=`icon hide`,n.iconContainer.className=``,n.iconContainer.classList.add(`suggest-icon`,...H.asClassNameArray(Ds.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(i.extraClasses=(i.extraClasses||[]).concat([`deprecated`]),i.matches=[]),n.iconLabel.setLabel(e.textLabel,void 0,i),typeof r.label==`string`?(n.parametersLabel.textContent=``,n.detailsLabel.textContent=ON(r.detail||``),n.root.classList.add(`string-label`)):(n.parametersLabel.textContent=ON(r.label.detail||``),n.detailsLabel.textContent=ON(r.label.description||``),n.root.classList.remove(`string-label`)),this._editor.getOption(134).showInlineDetails?Cr(n.detailsLabel):ii(n.detailsLabel),gN(e)?(n.right.classList.add(`can-expand-details`),Cr(n.readMore),n.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},n.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(n.right.classList.remove(`can-expand-details`),ii(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};DN=CN([wN(1,dt),wN(2,Vo),wN(3,Xn)],DN);function ON(e){return e.replace(/\r\n|\r|\n/g,``)}var kN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},AN=function(e,t){return function(n,r){t(n,r,e)}},jN,MN=k(`editorSuggestWidget.background`,It,S(1545,`Background color of the suggest widget.`));k(`editorSuggestWidget.border`,tf,S(1546,`Border color of the suggest widget.`));var NN=k(`editorSuggestWidget.foreground`,cd,S(1547,`Foreground color of the suggest widget.`)),PN=k(`editorSuggestWidget.selectedForeground`,{dark:ki,light:ki,hcDark:MN,hcLight:MN},S(1548,`Foreground color of the selected entry in the suggest widget.`));k(`editorSuggestWidget.selectedIconForeground`,{dark:Sn,light:Sn,hcDark:MN,hcLight:MN},S(1549,`Icon foreground color of the selected entry in the suggest widget.`));var FN=k(`editorSuggestWidget.selectedBackground`,{dark:oi,light:oi,hcDark:NN,hcLight:NN},S(1550,`Background color of the selected entry in the suggest widget.`)),IN=k(`editorSuggestWidget.focusOutline`,ht,S(1551,`Outline color of the focused (keyboard-navigated) entry in the suggest widget.`));k(`editorSuggestWidget.highlightForeground`,Tr,S(1552,`Color of the match highlights in the suggest widget.`)),k(`editorSuggestWidget.focusHighlightForeground`,{dark:Pn,light:Pn,hcDark:PN,hcLight:PN},S(1553,`Color of the match highlights in the suggest widget when an item is focused.`)),k(`editorSuggestWidgetStatus.foreground`,Rf(NN,.5),S(1554,`Foreground color of the suggest widget status.`));var LN=class{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Xb}`}restore(){let e=this._service.get(this._key,0)??``;try{let t=JSON.parse(e);if(hu.is(t))return hu.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}},RN=class{static{jN=this}static{this.LOADING_MESSAGE=S(1555,`Loading...`)}static{this.NO_SUGGESTIONS_MESSAGE=S(1556,`No suggestions.`)}constructor(e,t,n,r,i){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._loadingTimeout=new fc,this._pendingLayout=new fc,this._pendingShowDetails=new fc,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new $i,this._disposables=new I,this._onDidSelect=new ud,this._onDidFocus=new ud,this._onDidHide=new P,this._onDidShow=new P,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new P,this.element=new pv,this.element.domNode.classList.add(`editor-widget`,`suggest-widget`),this._contentWidget=new zN(this,e),this._persistedSize=new LN(t,e);class a{constructor(e,t,n=!1,r=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=n,this.persistWidth=r}}let o;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),o=new a(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(e=>{if(this._resize(e.dimension.width,e.dimension.height),o&&(o.persistHeight=o.persistHeight||!!e.north||!!e.south,o.persistWidth=o.persistWidth||!!e.east||!!e.west),e.done){if(o){let{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),n=Math.round(e/2),{width:r,height:i}=this.element.size;(!o.persistHeight||Math.abs(o.currentSize.height-i)<=n)&&(i=o.persistedSize?.height??t.height),(!o.persistWidth||Math.abs(o.currentSize.width-r)<=n)&&(r=o.persistedSize?.width??t.width),this._persistedSize.store(new hu(r,i))}this._contentWidget.unlockPreference(),o=void 0}})),this._messageElement=q(this.element.domNode,N(`.message`)),this._listElement=q(this.element.domNode,N(`.tree`));let s=this._disposables.add(i.createInstance(_N,this.editor));s.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new vN(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 u=i.createInstance(DN,this.editor);this._disposables.add(u),this._disposables.add(u.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Wo(`SuggestWidget`,this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>`suggestion`},[u],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>Xt?`listitem`:`option`,getWidgetAriaLabel:()=>S(1557,`Suggest`),getWidgetRole:()=>`listbox`,getAriaLabel:e=>{let t=e.textLabel,n=Ds.toLabel(e.completion.kind);if(typeof e.completion.label!=`string`){let{detail:r,description:i}=e.completion.label;r&&i?t=S(1558,`{0} {1}, {2}, {3}`,t,r,i,n):r?t=S(1559,`{0} {1}, {2}`,t,r,n):i&&(t=S(1560,`{0}, {1}, {2}`,t,i,n))}else t=S(1561,`{0}, {1}`,t,n);if(!e.isResolved||!this._isDetailsVisible())return t;let{documentation:r,detail:i}=e.completion,a=hs(`{0}{1}`,i||``,r?typeof r==`string`?r:r.value:``);return S(1562,`{0}, docs: {1}`,t,a)}}}),this._list.style(br({listInactiveFocusBackground:FN,listInactiveFocusOutline:IN})),this._status=i.createInstance(pN,this.element.domNode,FO,void 0);let d=()=>this.element.domNode.classList.toggle(`with-status-bar`,this.editor.getOption(134).showStatusBar);d(),this._disposables.add(this._list.onMouseDown(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onTap(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onDidChangeSelection(e=>this._onListSelection(e))),this._disposables.add(this._list.onDidChangeFocus(e=>this._onListFocus(e))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(e=>{e.hasChanged(134)&&(d(),c(),l()),this._completionModel&&(e.hasChanged(59)||e.hasChanged(135)||e.hasChanged(136))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=$.Visible.bindTo(n),this._ctxSuggestWidgetDetailsVisible=$.DetailsVisible.bindTo(n),this._ctxSuggestWidgetMultipleSuggestions=$.MultipleSuggestions.bindTo(n),this._ctxSuggestWidgetHasFocusedSuggestion=$.HasFocusedSuggestion.bindTo(n),this._ctxSuggestWidgetDetailsFocused=$.DetailsFocused.bindTo(n);let f=fr(this._details.widget.domNode);this._disposables.add(f),this._disposables.add(f.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(f.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(Jo(this._details.widget.domNode,`keydown`,e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidHide.dispose(),this._onDidShow.dispose(),this._onDetailsKeydown.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){e.element!==void 0&&e.index!==void 0&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){let n=this._completionModel;n&&(this._onDidSelect.fire({item:e,index:t,model:n}),this.editor.focus())}_onListFocus(e){if(this._ignoreFocusEvents)return;if(this._state===5&&this._setState(3),!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);let t=e.elements[0],n=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(n),this._currentSuggestionDetails=kt(async e=>{let n=Ka(()=>{this._isDetailsVisible()&&this._showDetails(!0,!1)},250),r=e.onCancellationRequested(()=>n.dispose());try{return await t.resolve(e)}finally{n.dispose(),r.dispose()}}),this._currentSuggestionDetails.then(()=>{n>=this._list.length||t!==this._list.element(n)||(this._ignoreFocusEvents=!0,this._list.splice(n,1,[t]),this._list.setFocus([n]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this._showDetails(!1,!1):this.element.domNode.classList.remove(`docs-side`),this.editor.setAriaOptions({activeDescendant:this._list.getElementID(n)}))}).catch(at)),this._onDidFocus.fire({item:t,index:n,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle(`frozen`,e===4),this.element.domNode.classList.remove(`message`),e){case 0:ii(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=jN.LOADING_MESSAGE,ii(this._listElement,this._status.element),Cr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uo(jN.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add(`message`),this._messageElement.textContent=jN.NO_SUGGESTIONS_MESSAGE,ii(this._listElement,this._status.element),Cr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,uo(jN.NO_SUGGESTIONS_MESSAGE);break;case 3:ii(this._messageElement),Cr(this._listElement,this._status.element),this._show();break;case 4:ii(this._messageElement),Cr(this._listElement,this._status.element),this._show();break;case 5:ii(this._messageElement),Cr(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add(`visible`),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout.value=Ka(()=>this._setState(1),t)))}showSuggestions(e,t,n,r,i){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&this._state!==2&&this._state!==0){this._setState(4);return}let a=this._completionModel.items.length,o=a===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(a>1),o)this._setState(r?0:2),this._completionModel=void 0;else{this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0,t===0?0:this.getLayoutInfo().itemHeight*.33),this._list.setFocus(i?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Wn(cl(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove(`focused`)})}}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._list.setFocus(this._list.getFocus()),this._setState(3)):this._state===3&&(this._setState(5),this._isDetailsVisible()?this._details.widget.focus():this.toggleDetails(!0))}toggleDetails(e=!1){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove(`shows-details`)):(gN(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this._showDetails(!1,e))}_showDetails(e,t){this._pendingShowDetails.value=Wn(cl(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let n=!1;e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add(`shows-details`),t&&(this._details.widget.focus(),n=!0)),n||this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this._showDetails(!1,!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout.clear(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();let e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){e===null?this._isDetailsVisible()&&this._details.hide():this._state!==2&&this._state!==1&&(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){if(!this.editor.hasModel()||!this.editor.getDomNode())return;let t=Lt(this.element.domNode.ownerDocument.body),n=this.getLayoutInfo();e||=n.defaultSize;let r=e.height,i=e.width;if(this._status.element.style.height=`${n.itemHeight}px`,this._state===2||this._state===1)r=n.itemHeight+n.borderHeight,i=n.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new hu(i,r),this._contentWidget.setPreference(2);else{let a=t.width-n.borderHeight-2*n.horizontalPadding;i>a&&(i=a);let o=this._completionModel?this._completionModel.stats.pLabelLen*n.typicalHalfwidthCharacterWidth:i;if(this.editor.getOption(134).fitWidthToDetails&&this._completionModel&&!this._persistedSize.restore()){let e=Math.min(a,this.editor.getLayoutInfo().width),t=Math.min(e,this._measureContentWidth(n));i=Math.max(i,t),o=Math.max(o,t)}let s=n.statusBarHeight+this._list.contentHeight+n.borderHeight,c=n.itemHeight+n.statusBarHeight,l=ya(this.editor.getDomNode()),u=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),d=l.top+u.top+u.height,f=Math.min(t.height-d-n.verticalPadding,s),p=l.top+u.top-n.verticalPadding,m=Math.min(p,s),h=Math.min(Math.max(m,f)+n.borderHeight,s);r===this._cappedHeight?.capped&&(r=this._cappedHeight.wanted),r<c&&(r=c),r>h&&(r=h),r>f&&m>f||this._forceRenderingAbove&&p>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),h=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),h=f),this.element.preferredSize=new hu(o,n.defaultSize.height),this.element.maxSize=new hu(a,h),this.element.minSize=new hu(220,c),this._cappedHeight=r===s?{wanted:this._cappedHeight?.wanted??e.height,capped:r}:void 0}this._resize(i,r)}_resize(e,t){let{width:n,height:r}=this.element.maxSize;e=Math.min(n,e),t=Math.min(r,t);let{statusBarHeight:i}=this.getLayoutInfo();this._list.layout(t-i,e),this._listElement.style.height=`${t-i}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}_measureContentWidth(e){let t=this._completionModel;if(!t)return 0;if(this._fitContentWidth?.model===t)return this._fitContentWidth.width;this._measureContext===void 0&&(this._measureContext=N(`canvas`).getContext(`2d`));let n;if(this._measureContext){let e=this.editor.getOptions(),r=e.get(59),i=e.get(135)||r.fontSize;this._measureContext.font=`${r.fontWeight} ${i}px ${r.getMassagedFontFamily()}`,n=0;for(let e of t.items){let{completion:t}=e,r=e.textLabel;typeof t.label==`string`?r+=t.detail??``:r+=(t.label.detail??``)+(t.label.description??``),n=Math.max(n,this._measureContext.measureText(r).width)}}else n=t.stats.pLabelLen*e.typicalHalfwidthCharacterWidth;let r=2*e.itemHeight+2*e.horizontalPadding+20,i=n+r;return this._fitContentWidth={model:t,width:i},i}getLayoutInfo(){let e=this.editor.getOption(59),t=Qt(this.editor.getOption(136)||e.lineHeight,8,1e3),n=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.getLayoutInfo().borderWidth;return{itemHeight:t,statusBarHeight:n,borderWidth:r,borderHeight:2*r,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new hu(430,n+12*t)}}_isDetailsVisible(){return this._storageService.getBoolean(`expandSuggestionDocs`,0,!1)}_setDetailsVisible(e){this._storageService.store(`expandSuggestionDocs`,e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};RN=jN=kN([AN(1,kc),AN(2,Ra),AN(3,Xn),AN(4,W)],RN);var zN=class{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return`editor.widget.suggestWidget`}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){let{height:e,width:t}=this._widget.element.size,{borderWidth:n,horizontalPadding:r}=this._widget.getLayoutInfo();return new hu(t+2*n+r,e+2*n)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}},BN=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VN=function(e,t){return function(n,r){t(n,r,e)}},HN,UN=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=F.register({description:`suggest-line-suffix`,stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){let n=e.getOffsetAt(t),r=e.getPositionAt(n+1);e.changeDecorations(e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(w.fromPositions(t,r),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){let t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}},WN=class{static{HN=this}static{this.ID=`editor.contrib.suggestController`}static get(e){return e.getContribution(HN.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(e,t,n,r,i,a,o){this._memoryService=t,this._commandService=n,this._contextKeyService=r,this._instantiationService=i,this._logService=a,this._telemetryService=o,this._lineSuffix=new fc,this._toDispose=new I,this._selectors=new GN(e=>e.priority),this._onWillInsertSuggestItem=new P,this._wantsForceRenderingAbove=!1,this.editor=e,this.model=i.createInstance(lN,this.editor),this._selectors.register({priority:0,select:(e,t,n)=>this._memoryService.select(e,t,n)});let s=$.InsertMode.bindTo(r);s.set(e.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>s.set(e.getOption(134).insertMode))),this.widget=this._toDispose.add(new dc(cl(e.getDomNode()),()=>{let e=this._instantiationService.createInstance(RN,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));let t=new QM(this.editor,e,this.model,e=>this._insertSuggestion(e,2));this._toDispose.add(t);let n=$.MakesTextEdit.bindTo(this._contextKeyService),r=$.HasInsertAndReplaceRange.bindTo(this._contextKeyService),i=$.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Yo(()=>{n.reset(),r.reset(),i.reset()})),this._toDispose.add(e.onDidFocus(({item:e})=>{let t=this.editor.getPosition(),a=e.editStart.column,o=t.column,s=!0;this.editor.getOption(1)===`smart`&&this.model.state===2&&!e.completion.additionalTextEdits&&!(e.completion.insertTextRules&4)&&o-a===e.completion.insertText.length&&(s=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:a,endLineNumber:t.lineNumber,endColumn:o})!==e.completion.insertText),n.set(s),r.set(!j.equals(e.editInsertEnd,e.editReplaceEnd)),i.set(!!e.provider.resolveCompletionItem||!!e.completion.documentation||e.completion.detail!==e.completion.label)})),this._wantsForceRenderingAbove&&e.forceRenderingAbove(),e})),this._overtypingCapturer=this._toDispose.add(new dc(cl(e.getDomNode()),()=>this._toDispose.add(new uN(this.editor,this.model)))),this._alternatives=this._toDispose.add(new dc(cl(e.getDomNode()),()=>this._toDispose.add(new ZM(this.editor,this._contextKeyService)))),this._toDispose.add(i.createInstance(qM,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new UN(this.editor.getModel(),e.position)})),this._toDispose.add(this.model.onDidSuggest(e=>{if(e.triggerOptions.shy)return;let t=-1;for(let n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),t!==-1)break;if(t===-1&&(t=0),this.model.state===0)return;let n=!1;if(e.triggerOptions.auto){let t=this.editor.getOption(134);t.selectionMode===`never`||t.selectionMode===`always`?n=t.selectionMode===`never`:t.selectionMode===`whenTriggerCharacter`?n=e.triggerOptions.triggerKind!==1:t.selectionMode===`whenQuickSuggestion`&&(n=e.triggerOptions.triggerKind===1&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,n)})),this._toDispose.add(this.model.onDidCancel(e=>{e.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let c=$.AcceptSuggestionsOnEnter.bindTo(r),l=()=>{let e=this.editor.getOption(1);c.set(e===`on`||e===`smart`)};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>l())),l()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;let n=uA.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});let r=this.editor.getModel(),i=r.getAlternativeVersionId(),{item:a}=e,o=[],s=new No;t&1||this.editor.pushUndoStop();let c=this.getOverwriteInfo(a,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),a);let l=a.isResolved,u=-1,d=-1;if(Array.isArray(a.completion.additionalTextEdits)){this.model.cancel();let e=mt.capture(this.editor);this.editor.executeEdits(`suggestController.additionalTextEdits.sync`,a.completion.additionalTextEdits.map(e=>{let t=w.lift(e.range);if(t.startLineNumber===a.position.lineNumber&&t.startColumn>a.position.column){let e=this.editor.getPosition().column-a.position.column,n=e,r=w.spansMultipleLines(t)?0:e;t=new w(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+r)}return sc.replaceMove(t,e.text)})),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!l){let e=new js,n,i=r.onDidChangeContent(e=>{if(e.isFlush)s.cancel(),i.dispose();else for(let t of e.changes){let e=w.getEndPosition(t.range);(!n||j.isBefore(e,n))&&(n=e)}}),c=t;t|=2;let l=!1,u=this.editor.onWillType(()=>{u.dispose(),l=!0,c&2||this.editor.pushUndoStop()});o.push(a.resolve(s.token).then(()=>{if(!a.completion.additionalTextEdits||s.token.isCancellationRequested)return;if(n&&a.completion.additionalTextEdits.some(e=>j.isBefore(n,w.getStartPosition(e.range))))return!1;l&&this.editor.pushUndoStop();let e=mt.capture(this.editor);return this.editor.executeEdits(`suggestController.additionalTextEdits.async`,a.completion.additionalTextEdits.map(e=>sc.replaceMove(w.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),(l||!(c&2))&&this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace(`[suggest] async resolving of edits DONE (ms, applied?)`,e.elapsed(),t),d=t===!0?1:t===!1?0:-2}).finally(()=>{i.dispose(),u.dispose()}))}let{insertText:f}=a.completion;if(a.completion.insertTextRules&4||(f=km.escape(f)),this.model.cancel(),n.insert(f,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(a.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:ws.suggest({providerId:gl.fromExtensionId(a.extensionId?.value)})}),t&2||this.editor.pushUndoStop(),a.completion.command){if(a.completion.command.id===KN.id)this.model.trigger({auto:!0,retrigger:!0});else{let e=new js;o.push(this._commandService.executeCommand(a.completion.command.id,...a.completion.command.arguments?[...a.completion.command.arguments]:[]).catch(e=>{a.completion.extensionId?ec(e):at(e)}).finally(()=>{u=e.elapsed()}))}}t&4&&this._alternatives.value.set(e,e=>{for(s.cancel();r.canUndo();){i!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(e,3|(t&8?8:0));break}}),this._alertCompletionItem(a),Promise.all(o).finally(()=>{this._reportSuggestionAcceptedTelemetry(a,r,l,u,d,e.index,e.model.items),this.model.clear(),s.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,n,r,i,a,o){if(Math.random()>1e-4)return;let s=new Map;for(let e=0;e<Math.min(30,o.length);e++){let t=o[e].textLabel;s.has(t)?s.get(t).push(e):s.set(t,[e])}let c=s.get(e.textLabel),l=c&&c.length>1?c[0]:-1;this._telemetryService.publicLog2(`suggest.acceptedSuggestion`,{extensionId:e.extensionId?.value??`unknown`,providerId:e.provider._debugDisplayName??`unknown`,kind:e.completion.kind,basenameHash:Sl(Zd(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:ma(t.uri),resolveInfo:e.provider.resolveCompletionItem?+!!n:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:i,index:a,firstIndex:l})}getOverwriteInfo(e,t){tr(this.editor.hasModel());let n=this.editor.getOption(134).insertMode===`replace`;t&&(n=!n);let r=e.position.column-e.editStart.column,i=(n?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,a=this.editor.getPosition().column-e.position.column,o=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+a,overwriteAfter:i+o}}_alertCompletionItem(e){if(ku(e.completion.additionalTextEdits)){let t=S(1534,`Accepting '{0}' made {1} additional edits`,e.textLabel,e.completion.additionalTextEdits.length);Co(t)}}triggerSuggest(e,t,n){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:n?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;let t=this.editor.getPosition(),n=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=e=>{if(e.completion.insertTextRules&4||e.completion.additionalTextEdits)return!0;let t=this.editor.getPosition(),n=e.editStart.column,r=t.column;return r-n!==e.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText};gu.once(this.model.onDidTrigger)(e=>{let t=[];gu.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Lc(t),n()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(Lc(t),e.items.length===0){n();return}let i=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),a=e.items[i];r(a)?(this.editor.pushUndoStop(),this._insertSuggestion({index:i,item:a,model:e},7)):n()},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){let n=this.widget.value.getFocusedItem(),r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(n,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.isInitialized?this.widget.value.forceRenderingAbove():this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){this.widget.isInitialized?this.widget.value.stopForceRenderingAbove():this._wantsForceRenderingAbove=!1}registerSelector(e){return this._selectors.register(e)}};WN=HN=BN([VN(1,UM),VN(2,kr),VN(3,Ra),VN(4,W),VN(5,Pu),VN(6,St)],WN);var GN=class{constructor(e){this.prioritySelector=e,this._items=[]}register(e){if(this._items.indexOf(e)!==-1)throw Error(`Value is already registered`);return this._items.push(e),this._items.sort((e,t)=>this.prioritySelector(t)-this.prioritySelector(e)),{dispose:()=>{let t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}},KN=class e extends G{static{this.id=`editor.action.triggerSuggest`}constructor(){super({id:e.id,label:R(1543,`Trigger Suggest`),precondition:T.and(D.writable,D.hasCompletionItemProvider,$.Visible.toNegated()),kbOpts:{kbExpr:D.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){let r=WN.get(t);if(!r)return;let i;n&&typeof n==`object`&&n.auto===!0&&(i=!0),r.triggerSuggest(void 0,i,void 0)}};Ls(WN.ID,WN,2),B(KN);var qN=190,JN=id.bindToContribution(WN.get);U(new JN({id:`acceptSelectedSuggestion`,precondition:T.and($.Visible,$.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:T.and($.Visible,D.textInputFocus),weight:qN},{primary:3,kbExpr:T.and($.Visible,D.textInputFocus,$.AcceptSuggestionsOnEnter,$.MakesTextEdit),weight:qN}],menuOpts:[{menuId:FO,title:S(1535,`Insert`),group:`left`,order:1,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange.toNegated())},{menuId:FO,title:S(1536,`Insert`),group:`left`,order:1,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`insert`))},{menuId:FO,title:S(1537,`Replace`),group:`left`,order:1,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`replace`))}]})),U(new JN({id:`acceptAlternativeSelectedSuggestion`,precondition:T.and($.Visible,D.textInputFocus,$.HasFocusedSuggestion),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:FO,group:`left`,order:2,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`insert`)),title:S(1538,`Replace`)},{menuId:FO,group:`left`,order:2,when:T.and($.HasFocusedSuggestion,$.HasInsertAndReplaceRange,$.InsertMode.isEqualTo(`replace`)),title:S(1539,`Insert`)}]})),zn.registerCommandAlias(`acceptSelectedSuggestionOnEnter`,`acceptSelectedSuggestion`),U(new JN({id:`hideSuggestWidget`,precondition:$.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:9,secondary:[1033]}})),U(new JN({id:`selectNextSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:FO,group:`left`,order:0,when:$.HasFocusedSuggestion.toNegated(),title:S(1540,`Select`)}})),U(new JN({id:`selectNextPageSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:12,secondary:[2060]}})),U(new JN({id:`selectLastSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),U(new JN({id:`selectPrevSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),U(new JN({id:`selectPrevPageSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:11,secondary:[2059]}})),U(new JN({id:`selectFirstSuggestion`,precondition:T.and($.Visible,T.or($.MultipleSuggestions,$.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),U(new JN({id:`focusSuggestion`,precondition:T.and($.Visible,$.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),U(new JN({id:`focusAndAcceptSuggestion`,precondition:T.and($.Visible,$.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),U(new JN({id:`toggleSuggestionDetails`,precondition:T.and($.Visible,$.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:FO,group:`right`,order:1,when:T.and($.DetailsVisible,$.CanResolve),title:S(1541,`Show Less`)},{menuId:FO,group:`right`,order:1,when:T.and($.DetailsVisible.toNegated(),$.CanResolve),title:S(1542,`Show More`)}]})),U(new JN({id:`toggleExplainMode`,precondition:$.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),U(new JN({id:`toggleSuggestionFocus`,precondition:$.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2570,mac:{primary:778}}})),U(new JN({id:`insertBestCompletion`,precondition:T.and(D.textInputFocus,T.equals(`config.editor.tabCompletion`,`on`),qM.AtEnd,$.Visible.toNegated(),ZM.OtherSuggestions.toNegated(),uA.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(Wa(t)?{fallback:`tab`,...t}:{fallback:`tab`})},kbOpts:{weight:qN,primary:2}})),U(new JN({id:`insertNextSuggestion`,precondition:T.and(D.textInputFocus,T.equals(`config.editor.tabCompletion`,`on`),ZM.OtherSuggestions,$.Visible.toNegated(),uA.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:2}})),U(new JN({id:`insertPrevSuggestion`,precondition:T.and(D.textInputFocus,T.equals(`config.editor.tabCompletion`,`on`),ZM.OtherSuggestions,$.Visible.toNegated(),uA.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:qN,kbExpr:D.textInputFocus,primary:1026}})),U(new class extends id{constructor(){super({id:`suggestWidgetCopy`,precondition:$.DetailsFocused,kbOpts:{weight:200,kbExpr:$.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(e,t){cl(t.getDomNode()).document.execCommand(`copy`)}}),B(class extends G{constructor(){super({id:`editor.action.resetSuggestSize`,label:R(1544,`Reset Suggest Widget Size`),precondition:void 0})}run(e,t){WN.get(t)?.resetWidgetSize()}});var YN=class extends K{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,n){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=n,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new P),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));let r=WN.get(this.editor);if(r){this._register(r.registerSelector({priority:100,select:(e,t,n)=>{let i=this.editor.getModel();if(!i)return-1;let a=this.suggestControllerPreselector(),o=a?NA(a,i):void 0;if(!o)return-1;let s=j.lift(t),c=n.map((e,t)=>{let n=NA(XN.fromSuggestion(r,i,s,e,this.isShiftKeyPressed).getSingleTextEdit(),i);return{index:t,valid:PA(o,n),prefixLength:n.text.length,suggestItem:e}}).filter(e=>e&&e.valid&&e.prefixLength>0),l=bi(c,dd(e=>e.prefixLength,Rc));return l?l.index:-1}}));let e=!1,t=()=>{e||(e=!0,this._register(r.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(r.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(r.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(gu.once(r.model.onDidTrigger)(e=>{t()})),this._register(r.onWillInsertSuggestItem(e=>{let t=this.editor.getPosition(),n=this.editor.getModel();if(!t||!n)return;let i=XN.fromSuggestion(r,n,t,e.item,this.isShiftKeyPressed);this.onWillAccept(i)}))}this.update(this._isActive)}update(e){let t=this.getSuggestItemInfo();this._isActive===e&&ZN(this._currentSuggestItemInfo,t)||(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){let e=WN.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;let t=e.widget.value.getFocusedItem(),n=this.editor.getPosition(),r=this.editor.getModel();if(t&&n&&r)return XN.fromSuggestion(e,r,n,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){WN.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){WN.get(this.editor)?.forceRenderingAbove()}},XN=class e{static fromSuggestion(t,n,r,i,a){let{insertText:o}=i.completion,s=!1;if(i.completion.insertTextRules&4){let e=new km().parse(o);e.children.length<100&&aA.adjustWhitespace(n,r,!0,e),o=e.toString(),s=!0}let c=t.getOverwriteInfo(i,a);return new e(w.fromPositions(r.delta(0,-c.overwriteBefore),r.delta(0,Math.max(c.overwriteAfter,0))),o,i.completion.kind,s,i.container.incomplete??!1)}constructor(e,t,n,r,i){this.range=e,this.insertText=t,this.completionItemKind=n,this.isSnippetText=r,this.listIncomplete=i}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new ti(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new bf(this.range,this.insertText)}};function ZN(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}var QN=class extends K{constructor(e,t,n){super(),this._editorObs=e,this._handleSuggestAccepted=t,this._suggestControllerPreselector=n,this._suggestWidgetAdaptor=this._register(new YN(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),e=>this._editorObs.forceUpdate(t=>{this._handleSuggestAccepted(e)}))),this.selectedItem=ou(this,e=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(t=>e(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}},$N=class{constructor(e,t){this.lineNumber=e,this.columnRange=t}},eP=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new To(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new w(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}toZeroBasedOffsetRange(){return new li(this.startColumn-1,this.endColumnExclusive-1)}},tP=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new nP(t.getTokenText(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e){return ic.createFromTextAndMetadata(this.map((e,t)=>({text:t.text,metadata:t.metadata})),e)}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new li(n,n+r.text.length);t.push(e(i,r)),n+=r.text.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.text.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new nP(e.text.slice(r,e.text.length-o),e.metadata))}r+=e.text.length}return e.create(n)}append(t){let n=this._tokenInfo.concat(t._tokenInfo);return e.create(n)}},nP=class{constructor(e,t){this.text=e,this.metadata=t}},rP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iP=function(e,t){return function(n,r){t(n,r,e)}},aP=class e{static from(t){if(t)return new e(t.icon)}constructor(e=A.warning){this.icon=e}},oP=`ghost-text`,sP=class extends K{constructor(e,t,n,r){super(),this._editor=e,this._data=t,this._languageService=r,this._isDisposed=ls(this,!1),this._warningState=V(e=>{let t=this._data.read(e),n=t?.warning;if(!t||!n)return;let r=t.ghostText;return{lineNumber:r.lineNumber,position:new j(r.lineNumber,r.parts[0].column),icon:n.icon}}),this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=V(this,e=>{let t=this._data.read(e);if(t)return t.ghostText.parts.map(e=>e.lines.map(e=>e.line).join(``)).join(``).replace(/\s/g,``).length}),this._extraClassNames=V(this,e=>{let t=this._extraClasses.slice();this._warningState.read(e)&&t.push(`warning`);let n=this._nonWhitespaceCount.read(e);return this._highlightShortText&&n&&n<3?t.push(`short-text`):this._useSyntaxHighlighting.read(e)&&t.push(`syntax-highlighted`),t.map(e=>` ${e}`).join(``)}),this._state=V(this,e=>{if(this._isDisposed.read(e))return;let t=this._data.read(e);if(!t)return;let n=this._editorObs.model.read(e);if(!n)return;let r=t.ghostText,i=r instanceof AA?r.columnRange:void 0,a=this._useSyntaxHighlighting.read(e),{inlineTexts:o,additionalLines:s,hiddenRange:c,additionalLinesOriginalSuffix:l}=lP(r,n,oP+this._extraClassNames.read(e)),u=n.getLineContent(r.lineNumber),d=new Hc(o.map(e=>Ac.insert(e.column-1,e.text))),f=a?n.tokenization.tokenizeLinesAt(r.lineNumber,[d.apply(u),...s.map(e=>e.content)]):void 0,p=d.getNewRanges(),m=o.map((e,t)=>({...e,tokens:f?.[0]?.getTokensInRange(p[t])})),h=s.map((e,t)=>{let r=f?.[t+1]??ic.createEmpty(e.content,this._languageService.languageIdCodec);if(t===s.length-1&&l){let e=tP.fromLineTokens(n.tokenization.getLineTokens(l.lineNumber)).slice(l.columnRange.toZeroBasedOffsetRange());r=tP.fromLineTokens(r).append(e).toLineTokens(r.languageIdCodec)}return new pP(r,e.decorations)}),g=this._editor.getSelection()?.getStartPosition().column,_=m.filter(e=>e.text!==``),v=_.length!==0,y=new kj((v?_[0].column:1)-g,v?0:s.findIndex(e=>e.content!==``)+1,+!!v,s.length+ +!!v,0,Gd(_.map(e=>e.text.length))+Gd(h.map(e=>e.content.getTextLength())),_.length+ +(s.length>0),_.length>1&&h.length===0?_.every(e=>e.text===_[0].text):void 0);return{replacedRange:i,inlineTexts:m,additionalLines:h,hiddenRange:c,lineNumber:r.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(e),targetTextModel:n,syntaxHighlightingEnabled:a,telemetryViewData:y,handleInlineCompletionShown:t.handleInlineCompletionShown}}),this._decorations=V(this,e=>{let t=this._state.read(e);if(!t)return[];let n=[],r=this._extraClassNames.read(e);t.replacedRange&&n.push({range:t.replacedRange.toRange(t.lineNumber),options:{inlineClassName:`inline-completion-text-to-replace`+r,description:`GhostTextReplacement`}}),t.hiddenRange&&n.push({range:t.hiddenRange.toRange(t.lineNumber),options:{inlineClassName:`ghost-text-hidden`,description:`ghost-text-hidden`}});for(let e of t.inlineTexts){let i=``;this._highlightShortText&&e.text.length<5&&(i+=` short-text`),n.push({range:w.fromPositions(new j(t.lineNumber,e.column)),options:{description:`ghost-text-decoration`,after:{content:e.text,tokens:e.tokens,inlineClassName:(e.preview?`ghost-text-decoration-preview`:`ghost-text-decoration`)+(this._isClickable?` clickable`:``)+r+i+e.lineDecorations.map(e=>` `+e.className).join(` `),cursorStops:zr.Left,attachedData:new cP(this)},showIfCollapsed:!0}})}return n}),this.isHovered=V(this,e=>this._isDisposed.read(e)?!1:this._isInlineTextHovered.read(e)||this._additionalLinesWidget.isHovered.read(e)),this._extraClasses=n.extraClasses??[],this._isClickable=n.isClickable??!1,this._shouldKeepCursorStable=n.shouldKeepCursorStable??!1,this._minReservedLineCount=n.minReservedLineCount??qi(0),this._useSyntaxHighlighting=n.useSyntaxHighlighting??qi(!0),this._highlightShortText=n.highlightShortSuggestions??!1,this._editorObs=gs(this._editor),this._additionalLinesWidget=this._register(new dP(this._editor,Oc({owner:this,equalsFn:Bt(dn())},e=>{let t=this._state.read(e);return t?new uP(t.lineNumber,t.additionalLines,t.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered(e=>e.target.type===6&&e.target.detail.injectedText?.options.attachedData instanceof cP&&e.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register(Yo(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable&&(this._register(this._additionalLinesWidget.onDidClick(e=>this._onDidClick.fire(e))),this._register(this._editor.onMouseUp(e=>{if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options.attachedData;t instanceof cP&&t.owner===this&&this._onDidClick.fire(e.event)}))),this._register(Fl(e=>{let t=this._state.read(e);t?.handleInlineCompletionShown(t.telemetryViewData)})),this._register(Gs((e,t)=>{}))}static getWarningWidgetContext(e){let t=e.ghostTextViewWarningWidgetData;if(t)return t;if(e.parentElement)return this.getWarningWidgetContext(e.parentElement)}ownsViewZone(e){return this._additionalLinesWidget.viewZoneId===e}};sP=rP([iP(3,Vo)],sP);var cP=class{constructor(e){this.owner=e}};function lP(e,t,n){let r=[],i=[];function a(e,t){if(i.length>0){let n=i[i.length-1];t&&n.decorations.push(new rt(n.content.length+1,n.content.length+1+e[0].line.length,t,0)),n.content+=e[0].line,e=e.slice(1)}for(let n of e)i.push({content:n.line,decorations:t?[new rt(1,n.line.length+1,t,0),...n.lineDecorations]:[...n.lineDecorations]})}let o=t.getLineContent(e.lineNumber),s,c=0;for(let t of e.parts){let e=t.lines;s===void 0?(r.push({column:t.column,text:e[0].line,preview:t.preview,lineDecorations:e[0].lineDecorations}),e=e.slice(1)):a([{line:o.substring(c,t.column-1),lineDecorations:[]}],void 0),e.length>0&&(a(e,n),s===void 0&&t.column<=o.length&&(s=t.column)),c=t.column-1}let l;return s!==void 0&&(l=new $N(e.lineNumber,new eP(c+1,o.length+1))),{inlineTexts:r,additionalLines:i,hiddenRange:s===void 0?void 0:new eP(s,o.length+1),additionalLinesOriginalSuffix:l}}var uP=class{constructor(e,t,n){this.lineNumber=e,this.additionalLines=t,this.minReservedLineCount=n}equals(e){return this.lineNumber!==e.lineNumber||this.minReservedLineCount!==e.minReservedLineCount?!1:Nd(this.additionalLines,e.additionalLines,dn())}},dP=class extends K{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}constructor(e,t,n,r){super(),this._editor=e,this._lines=t,this._shouldKeepCursorStable=n,this._isClickable=r,this._viewZoneHeight=ls(`viewZoneHeight`,void 0),this.editorOptionsChanged=on(`editorOptionChanged`,gu.filter(this._editor.onDidChangeConfiguration,e=>e.hasChanged(40)||e.hasChanged(133)||e.hasChanged(113)||e.hasChanged(108)||e.hasChanged(60)||e.hasChanged(59)||e.hasChanged(75)||e.hasChanged(176))),this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new fc),this.isHovered=gs(this._editor).isTargetHovered(e=>fP(e.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof fs&&this._shouldKeepCursorStable&&this._register(this._editor.onBeforeExecuteEdit(e=>this.hasBeenAccepted=e.source===`inlineCompletionAccept`)),this._register(Fl(e=>{let t=this._lines.read(e);this.editorOptionsChanged.read(e),t?(this.hasBeenAccepted=!1,this.updateLines(t.lineNumber,t.additionalLines,t.minReservedLineCount)):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones(e=>{this.removeActiveViewZone(e)})}updateLines(e,t,n){let r=this._editor.getModel();if(!r)return;let{tabSize:i}=r.getOptions();gs(this._editor).transaction(r=>{this._editor.changeViewZones(r=>{let a=new I;this.removeActiveViewZone(r);let o=Math.max(t.length,n);if(o>0){let n=document.createElement(`div`);mP(n,i,t,this._editor.getOptions(),this._isClickable),this._isClickable&&(a.add(L(n,`mousedown`,e=>{e.preventDefault()})),a.add(L(n,`click`,e=>{fP(e.target)&&this._onDidClick.fire(new Hu(cl(e),e))}))),this.addViewZone(r,e,o,n)}this._viewZoneListener.value=a})})}addViewZone(e,t,n,r){let i=e.addZone({afterLineNumber:t,heightInLines:n,domNode:r,afterColumnAffinity:1,onComputedHeight:e=>{this._viewZoneHeight.set(e,void 0)}});this.keepCursorStable(t,n),this._viewZoneInfo={viewZoneId:i,heightInLines:n,lineNumber:t}}removeActiveViewZone(e){this._viewZoneInfo&&(e.removeZone(this._viewZoneInfo.viewZoneId),this.hasBeenAccepted||this.keepCursorStable(this._viewZoneInfo.lineNumber,-this._viewZoneInfo.heightInLines),this._viewZoneInfo=void 0,this._viewZoneHeight.set(void 0,void 0))}keepCursorStable(e,t){if(!this._shouldKeepCursorStable)return;let n=this._editor.getSelection()?.getStartPosition()?.lineNumber;n!==void 0&&e<n&&this._editor.setScrollTop(this._editor.getScrollTop()+t*this._editor.getOption(75))}};function fP(e){return Xi(e)&&e.classList.contains(oP)}var pP=class{constructor(e,t){this.content=e,this.decorations=t}equals(e){return this.content.equals(e.content)?rt.equalsArr(this.decorations,e.decorations):!1}};function mP(e,t,n,r,i){let a=r.get(40),o=r.get(133),s=r.get(108),c=r.get(60),l=r.get(59),u=r.get(75),d=r.get(176)===`twoCells`,f=`suggest-preview-text`;i&&(f+=` clickable`);let p=new lt(1e4);p.appendString(`<div class="${f}">`);for(let e=0,r=n.length;e<r;e++){let r=n[e],i=r.content;p.appendString(`<div class="view-line`),p.appendString(`" style="top:`),p.appendString(String(e*u)),p.appendString(`px;width:1000000px;">`);let f=i.getLineContent(),m=vd(f),h=kd(f);Ri(new Fo(l.isMonospace&&!a,l.canUseHalfwidthRightwardsArrow,f,!1,m,h,0,i,r.decorations.slice(),t,0,l.spaceWidth,l.middotWidth,l.wsmiddotWidth,o,`none`,s,c!==Go.OFF,null,null,0,!1,d),p),p.appendString(`</div>`)}p.appendString(`</div>`),Xu(e,l);let m=p.build();e.innerHTML=hP?hP.createHTML(m):m}var hP=tl(`editorGhostText`,{createHTML:e=>e}),gP=class e{constructor(e,t){this.width=e,this.height=t}toString(){return`(${this.width},${this.height})`}transpose(){return new e(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}},_P=class e{static fromPoints(t,n){return new e(t.x,t.y,n.x,n.y)}static fromPointSize(t,n){return new e(t.x,t.y,t.x+n.x,t.y+n.y)}static fromLeftTopRightBottom(t,n,r,i){return new e(t,n,r,i)}static fromLeftTopWidthHeight(t,n,r,i){return new e(t,n,t+r,n+i)}static fromRanges(t,n){return new e(t.start,n.start,t.endExclusive,n.endExclusive)}static hull(t){let n=2**53-1,r=2**53-1,i=-(2**53-1),a=-(2**53-1);for(let e of t)n=Math.min(n,e.left),r=Math.min(r,e.top),i=Math.max(i,e.right),a=Math.max(a,e.bottom);return new e(n,r,i,a)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(e,t,n,r){if(this.left=e,this.top=t,this.right=n,this.bottom=r,e>n)throw new To(`Invalid arguments: Horizontally offset by `+(e-n));if(t>r)throw new To(`Invalid arguments: Vertically offset by `+(t-r))}withMargin(t,n,r,i){let a,o,s,c;return n===void 0&&r===void 0&&i===void 0?a=o=s=c=t:r===void 0&&i===void 0?(a=o=n,s=c=t):(a=i,o=n,s=t,c=r),new e(this.left-a,this.top-s,this.right+o,this.bottom+c)}intersectVertical(t){let n=Math.max(this.top,t.start),r=Math.min(this.bottom,t.endExclusive);return new e(this.left,n,this.right,Math.max(n,r))}intersectHorizontal(t){let n=Math.max(this.left,t.start),r=Math.min(this.right,t.endExclusive);return new e(n,this.top,Math.max(n,r),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(t){let n=Math.max(this.left,t.left),r=Math.min(this.right,t.right),i=Math.max(this.top,t.top),a=Math.min(this.bottom,t.bottom);if(!(n>r||i>a))return new e(n,i,r,a)}containsRect(e){return this.left<=e.left&&this.top<=e.top&&this.right>=e.right&&this.bottom>=e.bottom}containsPoint(e){return this.left<=e.x&&this.top<=e.y&&this.right>=e.x&&this.bottom>=e.y}moveToBeContainedIn(t){let n=this.width,r=this.height,i=this.left,a=this.top;return i<t.left?i=t.left:i+n>t.right&&(i=t.right-n),a<t.top?a=t.top:a+r>t.bottom&&(a=t.bottom-r),new e(i,a,i+n,a+r)}withWidth(t){return new e(this.left,this.top,this.left+t,this.bottom)}withHeight(t){return new e(this.left,this.top,this.right,this.top+t)}withTop(t){return new e(this.left,t,this.right,this.bottom)}withLeft(t){return new e(t,this.top,this.right,this.bottom)}translateX(t){return new e(this.left+t,this.top,this.right+t,this.bottom)}translateY(t){return new e(this.left,this.top+t,this.right,this.bottom+t)}getLeftBottom(){return new pf(this.left,this.bottom)}getRightBottom(){return new pf(this.right,this.bottom)}getRightTop(){return new pf(this.right,this.top)}toStyles(){return{position:`absolute`,left:`${this.left}px`,top:`${this.top}px`,width:`${this.width}px`,height:`${this.height}px`}}withHorizontalRange(t){return new e(t.start,this.top,t.endExclusive,this.bottom)}getSize(){return new gP(this.width,this.height)}},vP=class e{constructor(e,t,n,r=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=n,this.showEndForLine=r}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Nd(this.startLineNumbers,e.startLineNumbers)&&Nd(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new e([],[],0)}},yP=tl(`stickyScrollViewLayer`,{createHTML:e=>e}),bP=`data-sticky-line-index`,xP=`data-sticky-is-line`,SP=`data-sticky-is-line-number`,CP=`data-sticky-is-folding-icon`,wP=class extends K{get height(){return this._height}constructor(e){super(),this._foldingIconStore=this._register(new I),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 P),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=e,this._lineNumbersDomNode.className=`sticky-widget-line-numbers`,this._lineNumbersDomNode.setAttribute(`role`,`none`),this._linesDomNode.className=`sticky-widget-lines`,this._linesDomNode.setAttribute(`role`,`list`),this._linesDomNodeScrollable.className=`sticky-widget-lines-scrollable`,this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className=`sticky-widget`,this._rootDomNode.classList.toggle(`peek`,e instanceof Xb),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);let t=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:`0px`};this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(131)&&t()})),this._register(this._editor.onDidScrollChange(e=>{e.scrollLeftChanged&&t(),e.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),t(),this._register(this._editor.onDidLayoutChange(e=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,n){let r=!this._state&&!e,i=this._state&&this._state.equals(e);if(n===void 0&&(r||i))return;let a=this._findRenderingData(e),o=this._lineNumbers;this._lineNumbers=a.lineNumbers,this._lastLineRelativePosition=a.lastLineRelativePosition;let s=this._findIndexToRebuildFrom(o,this._lineNumbers,n);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,t,s),this._state=e}_findRenderingData(e){if(!e)return{lineNumbers:[],lastLineRelativePosition:0};let t=[...e.startLineNumbers];e.showEndForLine!==null&&(t[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]);let n=0;for(let e=0;e<t.length;e++){let r=new j(t[e],1),i=this._editor._getViewModel();i&&r.lineNumber<=i.getLineCount()&&(n+=this._editor.getLineHeightForPosition(new j(t[e],1)))}return n===0?{lineNumbers:[],lastLineRelativePosition:0}:{lineNumbers:t,lastLineRelativePosition:e.lastLineRelativePosition}}_findIndexToRebuildFrom(e,t,n){if(t.length===0)return 0;if(n!==void 0)return n;let r=t.findIndex(t=>!e.includes(t));return r===-1?0:r}_updateWidgetWidth(){let e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty(`--vscode-editorStickyScroll-scrollableWidth`,`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty(`--vscode-editorStickyScroll-foldingOpacityTransition`,`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(let t of this._renderedStickyLines){let n=t.foldingIcon;n&&n.setVisible(e?!0:n.isCollapsed)}}async _renderRootNode(e,t,n,r){let i=this._editor._getViewModel();if(!i||e.length===0){this._clearWidget();return}let a=[],o=e[e.length-1],s=0;for(let e=0;e<this._renderedStickyLines.length;e++)if(e<r){let t=this._renderedStickyLines[e];a.push(this._updatePosition(t,s,t.lineNumber===o)),s+=t.height}else{let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}let c=this._editor.getLayoutInfo();for(let t=r;t<e.length;t++){let r=e[t];if(r>i.getLineCount())continue;let l=this._renderChildNode(i,t,r,s,o===r,n,c);s+=l.height,this._linesDomNode.appendChild(l.lineDomNode),this._lineNumbersDomNode.appendChild(l.lineNumberDomNode),a.push(l)}n&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin)),this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(e=>e.scrollWidth))+c.verticalScrollbarWidth,this._renderedStickyLines=a,this._setHeight(s+t),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let e=0;e<this._renderedStickyLines.length;e++){let t=this._renderedStickyLines[e];t.lineNumberDomNode.remove(),t.lineDomNode.remove()}this._setHeight(0)}_setHeight(e){this._height!==e&&(this._height=e,this._height===0?this._rootDomNode.style.display=`none`:(this._rootDomNode.style.display=`block`,this._lineNumbersDomNode.style.height=`${this._height}px`,this._linesDomNodeScrollable.style.height=`${this._height}px`,this._rootDomNode.style.height=`${this._height}px`),this._onDidChangeStickyScrollHeight.fire({height:this._height}))}_setFoldingHoverListeners(){this._foldingIconStore.clear(),this._editor.getOption(126)===`mouseover`&&(this._foldingIconStore.clear(),this._foldingIconStore.add(L(this._lineNumbersDomNode,jl.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(L(this._lineNumbersDomNode,jl.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,n,r,i,a,o){let s=new TP(this._editor,e,o,a,this._isOnGlyphMargin,t,n);return this._updatePosition(s,r,i)}_updatePosition(e,t,n){let r=e.lineDomNode,i=e.lineNumberDomNode;if(n){r.style.zIndex=`0`,i.style.zIndex=`0`;let n=`${t+this._lastLineRelativePosition+ +!!e.foldingIcon?.isCollapsed}px`;r.style.top=n,i.style.top=n}else r.style.zIndex=`1`,i.style.zIndex=`1`,r.style.top=`${t}px`,i.style.top=`${t}px`;return e}getId(){return`editor.contrib.stickyScrollWidget`}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOrdinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;let t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;let n=_i(t.characterMapping,e,0);return new j(t.lineNumber,n)}getLineNumberFromChildDomNode(e){return this._getRenderedStickyLineFromChildDomNode(e)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(e){let t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){let t=this._getAttributeValue(e,bP);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,xP)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,CP)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){let n=e.getAttribute(t);if(n!==null)return n;e=e.parentElement}}},TP=class{constructor(e,t,n,r,i,a,o){this.index=a,this.lineNumber=o;let s=t.coordinatesConverter.convertModelPositionToViewPosition(new j(o,1)).lineNumber,c=t.getViewLineRenderingData(s),l=e.getOption(76),u=e.getOption(117).verticalScrollbarSize,d;try{d=rt.filter(c.inlineDecorations,s,c.minColumn,c.maxColumn)}catch{d=[]}let f=e.getLineHeightForPosition(new j(o,1)),p=t.getTextDirection(o),m=e.getOption(59),h=new Fo(!0,!0,c.content,c.continuesWithWrappedLine,c.isBasicASCII,c.containsRTL,0,c.tokens,d,c.tabSize,c.startVisibleColumn,m.spaceWidth,1,1,500,`none`,!0,!0,null,p,u,!1,e.getOption(176)===`twoCells`),g=new lt(2e3),_=Ri(h,g);this.characterMapping=_.characterMapping;let v;v=yP?yP.createHTML(g.build()):g.build();let y=document.createElement(`span`);y.setAttribute(bP,String(a)),y.setAttribute(xP,``),y.setAttribute(`role`,`listitem`),y.tabIndex=0,y.className=`sticky-line-content`,y.classList.add(`stickyLine${o}`),y.style.lineHeight=`${f}px`,y.innerHTML=v;let b=document.createElement(`span`);b.setAttribute(bP,String(a)),b.setAttribute(SP,``),b.className=`sticky-line-number`,b.style.lineHeight=`${f}px`;let ee=n.contentLeft;b.style.width=`${ee}px`;let te=document.createElement(`span`);l.renderType===1||l.renderType===3&&o%10==0?te.innerText=o.toString():l.renderType===2&&(te.innerText=Math.abs(o-e.getPosition().lineNumber).toString()),te.className=`sticky-line-number-inner`,te.style.width=`${n.lineNumbersWidth}px`,te.style.paddingLeft=`${n.lineNumbersLeft}px`,b.appendChild(te),this.foldingIcon=this._renderFoldingIconForLine(e,r,o,f,i),this.foldingIcon&&(b.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${n.lineNumbersWidth+n.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${f}px`),e.applyFontInfo(y),e.applyFontInfo(b),b.style.lineHeight=`${f}px`,y.style.lineHeight=`${f}px`,b.style.height=`${f}px`,y.style.height=`${f}px`,this.scrollWidth=y.scrollWidth,this.lineDomNode=y,this.lineNumberDomNode=b,this.height=f}_renderFoldingIconForLine(e,t,n,r,i){let a=e.getOption(126);if(!t||a===`never`)return;let o=t.regions,s=o.findRange(n),c=o.getStartLineNumber(s);if(n!==c)return;let l=o.isCollapsed(s),u=new EP(l,c,o.getEndLineNumber(s),r);return u.setVisible(i?!0:l||a===`always`),u.domNode.setAttribute(CP,``),u}},EP=class{constructor(e,t,n,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=n,this.dimension=r,this.domNode=document.createElement(`div`),this.domNode.style.width=`26px`,this.domNode.style.height=`${r}px`,this.domNode.style.lineHeight=`${r}px`,this.domNode.className=H.asClassName(e?ST:xT)}setVisible(e){this.domNode.style.cursor=e?`pointer`:`default`,this.domNode.style.opacity=e?`1`:`0`}},DP=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},OP=class{constructor(e,t,n){this.range=e,this.children=t,this.parent=n}},kP=class{constructor(e,t,n,r){this.uri=e,this.version=t,this.element=n,this.outlineProviderId=r}},AP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jP=function(e,t){return function(n,r){t(n,r,e)}},MP;(function(e){e.OUTLINE_MODEL=`outlineModel`,e.FOLDING_PROVIDER_MODEL=`foldingProviderModel`,e.INDENTATION_MODEL=`indentationModel`})(MP||={});var NP;(function(e){e[e.VALID=0]=`VALID`,e[e.INVALID=1]=`INVALID`,e[e.CANCELED=2]=`CANCELED`})(NP||={});var PP=class extends K{constructor(e,t,n,r){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new rr(300)),this._updateOperation=this._register(new I),this._editor.getOption(131).defaultModel){case MP.OUTLINE_MODEL:this._modelProviders.push(new IP(this._editor,r));case MP.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new zP(this._editor,t,r));case MP.INDENTATION_MODEL:this._modelProviders.push(new RP(this._editor,n))}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&=(this._modelPromise.cancel(),null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(let t of this._modelProviders){let{statusPromise:n,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;let i=await n;if(this._modelPromise!==r)return null;switch(i){case NP.CANCELED:return this._updateOperation.clear(),null;case NP.VALID:return t.stickyModel}}return null}).catch(e=>(at(e),null))}};PP=AP([jP(2,W),jP(3,z)],PP);var FP=class extends K{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,NP.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};let t=kt(e=>this.createModelFromProvider(e));return{statusPromise:t.then(t=>this.isModelValid(t)?e.isCancellationRequested?NP.CANCELED:(this._stickyModel=this.createStickyModel(e,t),NP.VALID):this._invalid()).then(void 0,e=>(at(e),NP.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},IP=class extends FP{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return JC.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){let{stickyOutlineElement:n,providerID:r}=this._stickyModelFromOutlineModel(t,this._stickyModel?.outlineProviderId),i=this._editor.getModel();return new kP(i.uri,i.getVersionId(),n,r)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let n;if(Wd.first(e.children.values())instanceof qC){let r=Wd.find(e.children.values(),e=>e.id===t);if(r)n=r.children;else{let r=``,i=-1,a;for(let[t,n]of e.children.entries()){let e=this._findSumOfRangesOfGroup(n);e>i&&(a=n,i=e,r=n.id)}t=r,n=a.children}}else n=e.children;let r=[],i=Array.from(n.values()).sort((e,t)=>{let n=new DP(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),r=new DP(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(n,r)});for(let e of i)r.push(this._stickyModelFromOutlineElement(e,e.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new OP(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){let n=[];for(let r of e.children.values())if(r.symbol.selectionRange.startLineNumber!==r.symbol.range.endLineNumber){if(r.symbol.selectionRange.startLineNumber!==t)n.push(this._stickyModelFromOutlineElement(r,r.symbol.selectionRange.startLineNumber));else for(let e of r.children.values())n.push(this._stickyModelFromOutlineElement(e,r.symbol.selectionRange.startLineNumber))}return n.sort((e,t)=>this._comparator(e.range,t.range)),new OP(new DP(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber),n,void 0)}_comparator(e,t){return e.startLineNumber===t.startLineNumber?t.endLineNumber-e.endLineNumber:e.startLineNumber-t.startLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(let n of e.children.values())t+=this._findSumOfRangesOfGroup(n);return e instanceof KC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};IP=AP([jP(1,z)],IP);var LP=class extends FP{constructor(e){super(e),this._foldingLimitReporter=this._register(new BT(e))}createStickyModel(e,t){let n=this._fromFoldingRegions(t),r=this._editor.getModel();return new kP(r.uri,r.getVersionId(),n,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){let t=e.length,n=[],r=new OP(void 0,[],void 0);for(let i=0;i<t;i++){let t=e.getParentIndex(i),a;a=t===-1?r:n[t];let o=new OP(new DP(e.getStartLineNumber(i),e.getEndLineNumber(i)+1),[],a);a.children.push(o),n.push(o)}return r}},RP=class extends LP{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new gT(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};RP=AP([jP(1,Ln)],RP);var zP=class extends LP{constructor(e,t,n){super(e),this._languageFeaturesService=n,this.provider=this._register(new fc),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(e,t)})),this._updateProvider(e,t)}_updateProvider(e,t){let n=zT.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length!==0&&(this.provider.value=new jT(e.getModel(),n,t,this._foldingLimitReporter,void 0))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){return this.provider.value?.compute(e)??null}};zP=AP([jP(2,z)],zP);var BP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},VP=function(e,t){return function(n,r){t(n,r,e)}},HP=class{constructor(e,t,n,r){this.startLineNumber=e,this.endLineNumber=t,this.top=n,this.height=r}},UP=class extends K{constructor(e,t,n){super(),this._languageFeaturesService=t,this._languageConfigurationService=n,this._onDidChangeStickyScroll=this._register(new P),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new I),this._updateSoon=this._register(new Lr(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(131)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(131).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Yo(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null,this._editor.hasModel()&&(this._stickyModelProvider=new PP(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){this._cts?.dispose(!0),this._cts=new No,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}let t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}getCandidateStickyLinesIntersecting(e){if(!this._model?.element)return[];let t=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,0,-1),this.filterHiddenRanges(t)}getCandidateStickyLinesIntersectingFromStickyModel(e,t,n,r,i,a){let o=this._editor.getModel();if(!o||t.children.length===0)return;let s=a,c=[];for(let e=0;e<t.children.length;e++){let n=t.children[e];n.range&&c.push(n.range.startLineNumber)}let l=this.updateIndex(Qu(c,e.startLineNumber,(e,t)=>e-t)),u=this.updateIndex(Qu(c,e.endLineNumber,(e,t)=>e-t));for(let a=l;a<=u;a++){let c=t.children[a];if(!c||!c.range)continue;let{startLineNumber:l,endLineNumber:u}=c.range;if(u>l+1&&e.startLineNumber<=u+1&&l-1<=e.endLineNumber&&l!==s&&o.isValidRange(new w(l,1,u,1))){s=l;let t=this._editor.getLineHeightForPosition(new j(l,1));n.push(new HP(l,u-1,i,t)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,c,n,r+1,i+t,l)}}}filterHiddenRanges(e){let t=this._editor._getViewModel()?.getHiddenAreas();return t?e.filter(e=>!t.some(t=>e.startLineNumber>=t.startLineNumber&&e.endLineNumber<=t.endLineNumber+1)):e}updateIndex(e){return e===-1?0:e<0?-e-2:e}};UP=BP([VP(1,z),VP(2,Ln)],UP);var WP=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},GP=function(e,t){return function(n,r){t(n,r,e)}},KP,qP=class extends K{static{KP=this}static{this.ID=`store.contrib.stickyScrollController`}constructor(e,t,n,r,i,a,o){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=n,this._instaService=r,this._contextKeyService=o,this._sessionStore=new I,this._maxStickyLines=2**53-1,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._mouseTarget=null,this._onDidChangeStickyScrollHeight=this._register(new P),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new wP(this._editor),this._stickyLineCandidateProvider=new UP(this._editor,n,i),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=vP.Empty;let s=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight(e=>{e.changes.forEach(e=>{let t=e.lineNumber;this._widgetState.startLineNumbers.includes(t)&&this._renderStickyScroll(t)})})),this._register(this._editor.onDidChangeFont(e=>{e.changes.forEach(e=>{let t=e.lineNumber;this._widgetState.startLineNumbers.includes(t)&&this._renderStickyScroll(t)})})),this._register(this._editor.onDidChangeConfiguration(e=>{this._readConfigurationChange(e)})),this._register(L(s,jl.CONTEXT_MENU,async e=>{this._onContextMenu(cl(s),e)})),this._stickyScrollFocusedContextKey=D.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=D.stickyScrollVisible.bindTo(this._contextKeyService);let c=this._register(fr(s));this._register(c.onDidBlur(e=>{this._positionRevealed===!1&&s.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(c.onDidFocus(e=>{this.focus()})),this._registerMouseListeners(),this._register(L(s,jl.MOUSE_DOWN,e=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight(e=>{this._onDidChangeStickyScrollHeight.fire(e)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(e){return e.getContribution(KP.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}isFocused(){return this._focused}focus(){this._onMouseDown?(this._onMouseDown=!1,this._editor.focus()):this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new I,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){let e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(w.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){let e=this._register(new I),t=this._register(new Ub(this._editor,{extractLineNumberFromMouseEvent:e=>{let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return t?t.lineNumber:0}})),n=e=>{if(!this._editor.hasModel()||e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId())return null;let t=e.target.element;if(!t||t.innerText!==t.innerHTML)return null;let n=this._stickyScrollWidget.getEditorPositionFromNode(t);return n?{range:new w(n.lineNumber,n.column,n.lineNumber,n.column+t.innerText.length),textElement:t}:null},r=this._stickyScrollWidget.getDomNode();this._register(Jo(r,jl.CLICK,e=>{if(e.ctrlKey||e.altKey||e.metaKey||!e.leftButton)return;if(e.shiftKey){let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(e.target);if(t===null)return;let n=new j(this._endLineNumbers[t],1);this._revealLineInCenterIfOutsideViewport(n);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(e.target)){let t=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);this._toggleFoldingRegionForLine(t);return}if(!this._stickyScrollWidget.isInStickyLine(e.target))return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target);if(!t){let n=this._stickyScrollWidget.getLineNumberFromChildDomNode(e.target);if(n===null)return;t=new j(n,1)}this._revealPosition(t)})),this._register(L($d,jl.MOUSE_MOVE,e=>{this._mouseTarget=e.target,this._onMouseMoveOrKeyDown(e)})),this._register(L($d,jl.KEY_DOWN,e=>{this._onMouseMoveOrKeyDown(e)})),this._register(L($d,jl.KEY_UP,()=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([t,r])=>{let i=n(t);if(!i||!t.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}let{range:a,textElement:o}=i;if(!a.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=a,e.clear();else if(o.style.textDecoration===`underline`)return;let s=new No;e.add(Yo(()=>s.dispose(!0)));let c;tS(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new j(a.startLineNumber,a.startColumn+1),!1,s.token).then((t=>{if(!s.token.isCancellationRequested){if(t.length!==0){this._candidateDefinitionsLength=t.length;let n=o;c===n?c||(c=n,c.style.textDecoration=`underline`,e.add(Yo(()=>{c.style.textDecoration=`none`}))):(e.clear(),c=n,c.style.textDecoration=`underline`,e.add(Yo(()=>{c.style.textDecoration=`none`})))}else e.clear()}}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async e=>{if(e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId())return;let t=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);t&&this._editor.hasModel()&&this._stickyRangeProjectedOnEditor&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t.lineNumber,column:1})),this._instaService.invokeFunction(gS,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))}))}_onContextMenu(e,t){let n=new Hu(e,t);this._contextMenuService.showContextMenu({menuId:O.StickyScrollContext,getAnchor:()=>n,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(e){if(!e.shiftKey||!this._mouseTarget||!Xi(this._mouseTarget))return;let t=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);t!==null&&this._showEndForLine!==t&&(this._showEndForLine=t,this._renderStickyScroll())}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;let t=this._stickyScrollWidget.getRenderedStickyLine(e),n=t?.foldingIcon;if(!n)return;eT(this._foldingModel,1,[e]),n.isCollapsed=!n.isCollapsed;let r=(n.isCollapsed?this._editor.getTopForLineNumber(n.foldingEndLine):this._editor.getTopForLineNumber(n.foldingStartLine))-this._editor.getOption(75)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){let e=this._editor.getOption(131);e.enabled===!1?(this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1):(e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(e=>this._onTokensChange(e))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0),this._editor.getOption(76).renderType===2?this._cursorPositionListener||(this._cursorPositionListener=this._editor.onDidChangeCursorPosition(e=>{this._positionLineNumber!==e.position.lineNumber&&(this._positionLineNumber=e.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0))}),this._sessionStore.add(this._cursorPositionListener)):this._cursorPositionListener&&=(this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),void 0))}_readConfigurationChange(e){(e.hasChanged(131)||e.hasChanged(81)||e.hasChanged(75)||e.hasChanged(126)||e.hasChanged(76))&&this._readConfiguration(),(e.hasChanged(76)||e.hasChanged(52)||e.hasChanged(126)||e.hasChanged(59)||e.hasChanged(176))&&this._renderStickyScroll(0)}_needsUpdate(e){let t=this._stickyScrollWidget.getCurrentLines();for(let n of t)for(let t of e.ranges)if(n>=t.fromLineNumber&&n<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){let e=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(e*.25),this._renderStickyScroll(0)}async _renderStickyScroll(e){let t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}let n=this._updateAndGetMinRebuildFromLine(e),r=this._stickyLineCandidateProvider.getVersionId();if(r===void 0||r===t.getVersionId()){if(!this._focused)await this._updateState(n);else if(this._focusedStickyElementIndex===-1)await this._updateState(n),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{let e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(n),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){let t=this._minRebuildFromLine===void 0?1/0:this._minRebuildFromLine;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){this._minRebuildFromLine=void 0,this._foldingModel=await zT.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();let t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=vP.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){let e=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),t=this._editor.getScrollTop(),n=0,r=[],i=[],a=this._editor.getVisibleRanges();if(a.length!==0){let o=new DP(a[0].startLineNumber,a[a.length-1].endLineNumber),s=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(o);for(let a of s){let o=a.startLineNumber,s=a.endLineNumber,c=a.top,l=c+a.height,u=this._editor.getTopForLineNumber(o)-t,d=this._editor.getBottomForLineNumber(s)-t;if(c>u&&c<=d&&(r.push(o),i.push(s+1),l>d&&(n=d-l)),r.length===e)break}}return this._endLineNumbers=i,new vP(r,i,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};qP=KP=WP([GP(1,ac),GP(2,z),GP(3,W),GP(4,Ln),GP(5,Ks),GP(6,Ra)],qP);var JP=k(`inlineEdit.originalBackground`,Rf(Ro,.2),S(1286,`Background color for the original text in inline edits.`),!0),YP=k(`inlineEdit.modifiedBackground`,Rf(Eo,.3),S(1287,`Background color for the modified text in inline edits.`),!0);k(`inlineEdit.originalChangedLineBackground`,Rf(Ro,.8),S(1288,`Background color for the changed lines in the original text of inline edits.`),!0);var XP=k(`inlineEdit.originalChangedTextBackground`,Rf(Ro,.8),S(1289,`Overlay color for the changed text in the original text of inline edits.`),!0),ZP=k(`inlineEdit.modifiedChangedLineBackground`,{light:Rf(mo,.7),dark:Rf(mo,.7),hcDark:mo,hcLight:mo},S(1290,`Background color for the changed lines in the modified text of inline edits.`),!0),QP=k(`inlineEdit.modifiedChangedTextBackground`,Rf(Eo,.7),S(1291,`Overlay color for the changed text in the modified text of inline edits.`),!0),$P=k(`inlineEdit.gutterIndicator.primaryForeground`,Ir,S(1292,`Foreground color for the primary inline edit gutter indicator.`)),eF=k(`inlineEdit.gutterIndicator.primaryBorder`,nr,S(1293,`Border color for the primary inline edit gutter indicator.`)),tF=k(`inlineEdit.gutterIndicator.primaryBackground`,{light:Rf(eF,.5),dark:Rf(eF,.4),hcDark:Rf(eF,.4),hcLight:Rf(eF,.5)},S(1294,`Background color for the primary inline edit gutter indicator.`)),nF=k(`inlineEdit.gutterIndicator.secondaryForeground`,jd,S(1295,`Foreground color for the secondary inline edit gutter indicator.`)),rF=k(`inlineEdit.gutterIndicator.secondaryBorder`,Al,S(1296,`Border color for the secondary inline edit gutter indicator.`)),iF=k(`inlineEdit.gutterIndicator.secondaryBackground`,ks,S(1297,`Background color for the secondary inline edit gutter indicator.`)),aF=k(`inlineEdit.gutterIndicator.successfulForeground`,Ir,S(1298,`Foreground color for the successful inline edit gutter indicator.`)),oF=k(`inlineEdit.gutterIndicator.successfulBorder`,nr,S(1299,`Border color for the successful inline edit gutter indicator.`)),sF=k(`inlineEdit.gutterIndicator.successfulBackground`,oF,S(1300,`Background color for the successful inline edit gutter indicator.`)),cF=k(`inlineEdit.gutterIndicator.background`,{hcDark:Rf(`tab.inactiveBackground`,.5),hcLight:Rf(`tab.inactiveBackground`,.5),dark:Rf(`tab.inactiveBackground`,.5),light:`#5f5f5f18`},S(1301,`Background color for the inline edit gutter indicator.`)),lF=k(`inlineEdit.originalBorder`,{light:Ro,dark:Ro,hcDark:Ro,hcLight:Ro},S(1302,`Border color for the original text in inline edits.`)),uF=k(`inlineEdit.modifiedBorder`,{light:$n(Eo,.6),dark:Eo,hcDark:Eo,hcLight:Eo},S(1303,`Border color for the modified text in inline edits.`)),dF=k(`inlineEdit.tabWillAcceptModifiedBorder`,{light:$n(uF,0),dark:$n(uF,0),hcDark:$n(uF,0),hcLight:$n(uF,0)},S(1304,`Modified border color for the inline edits widget when tab will accept it.`)),fF=k(`inlineEdit.tabWillAcceptOriginalBorder`,{light:$n(lF,0),dark:$n(lF,0),hcDark:$n(lF,0),hcLight:$n(lF,0)},S(1305,`Original border color for the inline edits widget over the original text when tab will accept it.`));function pF(e){return e.map(e=>e===Ej.Accept?dF:uF)}function mF(e){return e.map(e=>e===Ej.Accept?fF:lF)}function hF(e,t){let n;n=typeof e==`string`?_F(e,t):e.map((e,n)=>_F(e,t).read(n));let r=_F(ot,t);return n.map((e,t)=>e.makeOpaque(r.read(t)))}function gF(e){let t;switch(e){case Ij.TextEditor:t=ot;break;case Ij.DiffEditor:t=ot;break;case Ij.Notebook:t=`notebook.cellEditorBackground`;break;default:Bu(e,`Not supported editor type yet`)}return yn(t)}function _F(e,t){return ed({owner:{observeColor:e},equalsFn:(e,t)=>e.equals(t),debugName:()=>`observeColor(${e})`},t.onDidColorThemeChange,()=>{let n=t.getColorTheme().getColor(e);if(!n)throw new To(`Missing color: ${e}`);return n})}function vF(e,t,n){let r=e.model.read(n);if(!r)return 0;let i=0;for(let r=t.startLineNumber;r<t.endLineNumberExclusive;r++){let t=e.getWidthOfLine(r,n);i=Math.max(i,t)}let a=t.mapToLineArray(e=>r.getLineContent(e));return i<5&&a.some(e=>e.length>0)&&r.uri.scheme!==`file`&&console.log(`unexpected width`),i}function yF(e,t,n){on(e,e.editor.onDidChangeLineHeight).read(n);let r=e.model.read(n);if(!r)throw new To(`Model is required`);let i=[];for(let a=t.startLineNumber;a<t.endLineNumberExclusive;a++){let t=e.getWidthOfLine(a,n);t===-1&&(t=r.getLineMaxColumn(a)*e.editor.getOption(59).typicalHalfwidthCharacterWidth);let o=e.editor.getLineHeightForPosition(new j(a,1));i.push(new gP(t,o))}return i}function bF(e,t,n){return e.layoutInfo.read(n),e.value.read(n),e.model.read(n)?(e.scrollTop.read(n),e.editor.getOffsetForColumn(t.lineNumber,t.column)):0}function xF(e,t,n,r,i=void 0){let a=r.getModel();if(!a)return{prefixTrim:0,prefixLeftOffset:0};let o=e.map(e=>e.isSingleLine()?e.startColumn-1:0),s=t.mapToLineArray(e=>Rd(a.getLineContent(e))),c=n.filter(e=>e!==``).map(e=>Rd(e)),l=Math.min(...o,...s,...c),u;if(a.getLineIndentColumn(t.startLineNumber)>=l+1)gs(r).scrollTop.read(i),u=r.getOffsetForColumn(t.startLineNumber,l+1);else if(n.length>0)u=SF(n[0].slice(0,l),r,a);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:l,prefixLeftOffset:u}}function SF(e,t,n){let r=t.getOption(59).typicalHalfwidthCharacterWidth,i=n.getOptions().tabSize*r,a=e.split(` `).length-1;return(e.length-a)*r+a*i}function CF(e){let t=e.layoutInfoContentLeft,n=V({name:`editor.validOverlay.width`},n=>{let r=e.layoutInfoMinimap.read(n).minimapLeft!==0,i=Math.max(0,e.layoutInfoWidth.read(n)-t.read(n));if(r){let t=e.layoutInfoMinimap.read(n).minimapWidth+e.layoutInfoVerticalScrollbarWidth.read(n);return Math.max(0,i-t)}return i}),r=V({name:`editor.validOverlay.height`},t=>e.layoutInfoHeight.read(t)+e.contentHeight.read(t));return V({name:`editor.validOverlay`},e=>_P.fromLeftTopWidthHeight(t.read(e),0,n.read(e),r.read(e)))}function wF(e,t){let n=[];for(let r of e){let e=t.mapRange(r.modifiedRange);n.push(new Yd(r.originalRange,e))}return n}function TF(...e){return e.filter(e=>typeof e==`string`).join(` `)}function EF(e,t){return new w(t.lineNumber,t.column+e.start,t.lineNumber,t.column+e.endExclusive)}function DF(e,t){let n=0;loop:for(let r=0,i=e.length;r<i;r++)switch(e.charCodeAt(r)){case 9:n+=t;break;case 32:n++;break;default:break loop}return n-n%t}function OF(e,t,n){let r=t-t%n,i=0;for(;i<e.length&&r!==0;i++)switch(e.charCodeAt(i)){case 9:r-=n;break;case 32:r--;break;default:throw new To(`Unexpected character found while calculating indent length`)}return i}function kF(e,t,n){let r=$l(e),i=[],a=wl(t.mapToLineArray(e=>DF(r[e-1],n)),Rc);return t.forEach(e=>{let t=OF(r[e-1],a,n);i.push(new bf(EF(new li(0,t),new j(e,1)),``))}),new Cs(i)}var AF=class{constructor(){this._data=``}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}build(){return this._data}};function jF(e){let t=Io(void 0,(t,n)=>e.read(t)||n);return Oc({debugName:()=>`${e.debugName}.mapOutFalsy`},n=>{if(t.read(n),e.read(n))return t})}function MF(e,t=Af.ofCaller()){return{left:V({name:`editor.validOverlay.left`},t=>e(t)?.left,t),top:V({name:`editor.validOverlay.top`},t=>e(t)?.top,t),width:V({name:`editor.validOverlay.width`},t=>{let n=e(t);if(n)return n.width},t),height:V({name:`editor.validOverlay.height`},t=>{let n=e(t);if(n)return n.height},t)}}function NF(e,t){let n=e.getContainerDomNode(),r=ls(`domRect`,n.getBoundingClientRect());return t.add(e.onDidLayoutChange(e=>{r.set(n.getBoundingClientRect(),void 0)})),r}var PF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},FF=function(e,t){return function(n,r){t(n,r,e)}},IF=class{constructor(e,t,n,r,i,a){this._editorObs=e,this._data=t,this._close=n,this._contextKeyService=r,this._keybindingService=i,this._commandService=a,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map(e=>e.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){let e=ls(`active`,void 0),t=t=>({title:t.title,icon:t.icon,keybinding:typeof t.commandId==`string`?this._getKeybinding(t.commandArgs?void 0:t.commandId):V(this,e=>typeof t.commandId==`string`?void 0:this._getKeybinding(t.commandArgs?void 0:t.commandId.read(e)).read(e)),isActive:e.map(e=>e===t.id),onHoverChange:n=>e.set(n?t.id:void 0,void 0),onAction:()=>{let e=typeof t.commandId==`string`?t.commandId:t.commandId.get();return this._close(!0,e),this._commandService.executeCommand(e,...t.commandArgs??[])}}),n=this._data.extensionCommands.map(e=>e.map((e,n)=>zF(t({id:e.command.id+`_`+n,title:e.command.title,icon:e.icon??A.symbolEvent,commandId:e.command.id,commandArgs:e.command.arguments})))),r=[];for(let e of n)e.length>0&&(r.push(VF()),r.push(...e));if(this._data.extensionCommandsOnly)return LF(r.slice(1));let i=RF(this._data.displayName),a=zF(t({id:`gotoAndAccept`,title:S(1276,`Go To / Accept`),icon:A.check,commandId:U_})),o=zF(t({id:`reject`,title:S(1277,`Reject`),icon:A.close,commandId:J_})),s=this._data.alternativeAction?zF(t({id:`alternativeCommand`,title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:W_})):void 0,c=[],l=this._inlineEditsShowCollapsed.map(e=>zF(t(e?{id:`showExpanded`,title:S(1278,`Show Expanded`),icon:A.expandAll,commandId:Y_}:{id:`showCollapsed`,title:S(1279,`Show Collapsed`),icon:A.collapseAll,commandId:Y_}))),u=zF(t({id:`snooze`,title:S(1280,`Snooze`),icon:A.bellSlash,commandId:`editor.action.inlineSuggest.snooze`})),d=zF(t({id:`settings`,title:S(1281,`Settings`),icon:A.gear,commandId:`workbench.action.openSettings`,commandArgs:[`@tag:nextEditSuggestions`]})),f=this._data.action?[this._data.action]:[],p=f.length>0?BF(f.map(e=>({id:e.id,label:e.title+`...`,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[]),class:void 0,tooltip:e.tooltip??e.title})),{hoverDelegate:nl}):void 0;return LF([i,a,s,o,l,c.length?VF():void 0,...c,u,d,...r,p?VF():void 0,p])}_getKeybinding(e){return e?ou(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e)):qi(void 0)}};IF=PF([FF(3,Ra),FF(4,Ta),FF(5,kr)],IF);function LF(e){return C.div({class:`content`,style:{margin:4,minWidth:180}},e)}function RF(e){return C.div({class:`header`,style:{color:yn(Gr),fontSize:`13px`,fontWeight:`600`,padding:`0 4px`,lineHeight:28}},[e])}function zF(e){return V({name:`inlineEdits.option`},t=>C.div({class:[`monaco-menu-option`,e.isActive?.map(e=>e&&`active`)],onmouseenter:()=>e.onHoverChange?.(!0),onmouseleave:()=>e.onHoverChange?.(!1),onclick:e.onAction,onkeydown:t=>{t.key===`Enter`&&e.onAction?.()},tabIndex:0,style:{borderRadius:3}},[C.elem(`span`,{style:{fontSize:16,display:`flex`}},[H.isThemeIcon(e.icon)?yt(e.icon):e.icon.map(e=>yt(e))]),C.elem(`span`,{},[e.title]),C.div({style:{marginLeft:`auto`},ref:n=>{let r=t.store.add(new Lf(n,ys,{disableTitle:!0,...Bn,keybindingLabelShadow:void 0,keybindingLabelForeground:yn(Gr),keybindingLabelBackground:`transparent`,keybindingLabelBorder:`transparent`,keybindingLabelBottomBorder:void 0}));t.store.add(Fl(t=>{r.set(e.keybinding.read(t))}))}})]))}function BF(e,t){return V({name:`inlineEdits.actionBar`},n=>C.div({class:[`action-widget-action-bar`],style:{padding:`3px 24px`}},[C.div({ref:r=>{n.store.add(new Hr(r,t)).push(e,{icon:!1,label:!0})}})]))}function VF(){return C.div({id:`inline-edit-gutter-indicator-menu-separator`,class:`menu-separator`,style:{color:yn(no),padding:`2px 0`}},C.div({style:{borderBottom:`1px solid ${yn(Al)}`}}))}var HF=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},UF=function(e,t){return function(n,r){t(n,r,e)}},WF=class{constructor(e,t,n,r,i){this.gutterMenuData=e,this.originalRange=t,this.model=n,this.altAction=r,this.customization=i}},GF=class e{static fromInlineSuggestion(t){let n=t.action?.kind===`edit`?t.action.alternativeAction:void 0,r=t.source.inlineSuggestions.commands??[];return new e(t.gutterMenuLinkAction,t.source.provider.displayName??S(1282,`Inline Suggestion`),r.length>0?[r]:[],n,t.source.provider.modelInfo,t.source.provider.setModelId?.bind(t.source.provider))}constructor(e,t,n,r,i,a,o=!1){this.action=e,this.displayName=t,this.extensionCommands=n,this.alternativeAction=r,this.modelInfo=i,this.setModelId=a,this.extensionCommandsOnly=o}},KF=class e{static fromInlineCompletionModel(t){return new e(()=>t.accept(),()=>t.jump())}constructor(e,t){this.accept=e,this.jump=t}},qF=16,JF=2,YF=class extends K{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._editorObs=e,this._data=t,this._tabAction=n,this._verticalOffset=r,this._isHoveringOverInlineEdit=i,this._focusIsInMenu=a,this._hoverService=o,this._instantiationService=s,this._accessibilityService=c,this._themeService=l,this._userInteractionService=u,this._onDidCloseWithCommand=this._register(new P),this._modifierPressed=V(this,e=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),e).shiftKey),this._gutterIndicatorStyles=V(this,e=>{let t=this._tabAction.read(e),n=this._data.read(e)?.altAction,r=this._modifierPressed.read(e);switch(n&&r&&(t=Ej.Inactive),t){case Ej.Inactive:return{background:hF(iF,this._themeService).read(e).toString(),foreground:hF(nF,this._themeService).read(e).toString(),border:hF(rF,this._themeService).read(e).toString()};case Ej.Jump:return{background:hF(tF,this._themeService).read(e).toString(),foreground:hF($P,this._themeService).read(e).toString(),border:hF(eF,this._themeService).read(e).toString()};case Ej.Accept:return{background:hF(sF,this._themeService).read(e).toString(),foreground:hF(aF,this._themeService).read(e).toString(),border:hF(oF,this._themeService).read(e).toString()};default:Bu()}}),this._state=V(this,e=>{let t=this._originalRangeObs.read(e);if(t)return{range:t,lineOffsetRange:this._editorObs.observeLineOffsetRange(t,e.store)}}),this._lineNumberToRender=V(this,e=>{if(this._verticalOffset.read(e)!==0)return``;let t=this._data.read(e)?.originalRange.startLineNumber,n=this._editorObs.getOption(76).read(e);if(t===void 0||n.renderType===0)return``;if(n.renderType===3){let n=this._editorObs.cursorPosition.read(e);return t%10==0||n&&n.lineNumber===t?t.toString():``}if(n.renderType===2){let n=this._editorObs.cursorPosition.read(e);if(!n)return``;let r=Math.abs(t-n.lineNumber);return r===0?t.toString():r.toString()}return n.renderType===4?n.renderFn?n.renderFn(t):``:t.toString()}),this._availableWidthForIcon=V(this,e=>{let t=this._editorObs.editor.getModel(),n=this._editorObs.editor,r=this._editorObs.layoutInfo.read(e),i=r.decorationsLeft+r.decorationsWidth-r.glyphMarginLeft;if(!t||i<=0)return()=>0;if(r.lineNumbersLeft===0)return()=>i;let a=this._editorObs.getOption(76).read(e);if(a.renderType===2||a.renderType===0)return()=>i;let o=n.getOption(59).typicalHalfwidthCharacterWidth,s=r.lineNumbersLeft+r.lineNumbersWidth,c=(t.getLineCount()+1).toString().length,l=[];for(let e=1;e<=c;e++){let t=10**(e-1),a=n.getTopForLineNumber(t),c=e*o,u=Math.min(i,Math.max(0,s-c-r.glyphMarginLeft));l.push({firstLineNumberWithDigitCount:t,topOfLineNumber:a,usableWidthLeftOfLineNumber:u})}return e=>{for(let t=l.length-1;t>=0;t--)if(e>=l[t].topOfLineNumber)return l[t].usableWidthLeftOfLineNumber;throw new To(`Could not find avilable width for icon`)}}),this._layout=V(this,e=>{let t=this._state.read(e);if(!t)return;let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.observeLineHeightForLine(t.range.map(e=>e.startLineNumber)).read(e),i=n.decorationsLeft+n.decorationsWidth-n.glyphMarginLeft-2,a=n.height-4,o=_P.fromLeftTopWidthHeight(1,2,i,a),s=o.withTop(this._stickyScrollHeight.read(e)),c=o.withTop(s.top+2),l=t.lineOffsetRange.read(e),u=_P.fromRanges(li.fromTo(c.left,c.right),l),d=r,f=this._verticalOffset.read(e),p=u.withHeight(d).translateY(f),m=s.containsRect(p),h=this._data.read(e)?.customization?.icon,g=h?qi(h):this._tabAction.map(e=>e===Ej.Accept?A.keyboardTab:A.arrowRight),_=h?qi(h):V(this,e=>this._isHoveredOverIconDebounced.read(e)||this._isHoveredOverInlineEditDebounced.read(e)?A.check:this._tabAction.read(e)===Ej.Accept?A.keyboardTab:(this._editorObs.cursorLineNumber.read(e)??0)<=t.range.read(e).startLineNumber?A.keyboardTabAbove:A.keyboardTabBelow),v=e=>{let t=this._availableWidthForIcon.read(void 0)(e.bottom+this._editorObs.editor.getScrollTop())-1;return Math.max(Math.min(t,22),qF)};if(m){let e=p,t;t=n.lineNumbersWidth===0?Math.max(0,Math.min(Math.max(n.lineNumbersLeft-o.left,0),e.width-22)):Math.max(n.lineNumbersLeft+n.lineNumbersWidth-o.left,0);let r=e.withWidth(t),i=Math.min(e.width-t,22);return{gutterEditArea:u,icon:_,iconDirection:`right`,iconRect:e.withWidth(Math.max(i,18)).translateX(t),iconVisible:i>=18,pillRect:e,lineNumberRect:r}}let y=o.intersect(u);if(y&&y.height>=d){let e=p.moveToBeContainedIn(c).moveToBeContainedIn(y),t=e.withWidth(v(e));return{gutterEditArea:u,icon:_,iconDirection:`right`,iconRect:t,pillRect:t,iconVisible:!0}}let b=p.moveToBeContainedIn(o),ee=b.withWidth(v(b)),te=ee;return{gutterEditArea:u,icon:g,iconDirection:ee.top<p.top?`top`:`bottom`,iconRect:te,pillRect:ee,iconVisible:!0}}),this._iconRef=C.ref(),this.isVisible=this._layout.map(e=>!!e),this._hoverVisible=ls(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=ls(this,!1),this._isHoveredOverIconDebounced=wo(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=C.div({class:`inline-edits-view-gutter-indicator`,style:{position:`absolute`,overflow:`visible`}},jF(this._layout).map(e=>e?[C.div({style:{position:`absolute`,background:yn(cF),borderRadius:`3px`,...MF(t=>e.read(t).gutterEditArea)}}),C.div({class:`icon`,ref:this._iconRef,tabIndex:0,onclick:()=>{let e=this._layout.get()?.icon.get()===A.check,t=this._data.get();if(!t)throw new To(`Gutter indicator data not available`);this._editorObs.editor.focus(),e?t.model.accept():t.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(e=>e.background),"--vscodeIconForeground":this._gutterIndicatorStyles.map(e=>e.foreground),border:this._gutterIndicatorStyles.map(e=>`1px solid ${e.border}`),boxSizing:`border-box`,borderRadius:`3px`,display:`flex`,justifyContent:e.map(e=>e.iconDirection===`bottom`?`flex-start`:`flex-end`),transition:this._modifierPressed.map(e=>e?``:`background-color 0.2s ease-in-out, width 0.2s ease-in-out`),...MF(t=>e.read(t).pillRect)}},[C.div({className:`line-number`,style:{lineHeight:e.map(e=>e.lineNumberRect?e.lineNumberRect.height:0),display:e.map(e=>e.lineNumberRect?`flex`:`none`),alignItems:`center`,justifyContent:`flex-end`,width:e.map(e=>e.lineNumberRect?e.lineNumberRect.width:0),height:`100%`,color:this._gutterIndicatorStyles.map(e=>e.foreground)}},this._lineNumberToRender),C.div({style:{transform:e.map(e=>`rotate(${XF(e.iconDirection)}deg)`),transition:`rotate 0.2s ease-in-out, opacity 0.2s ease-in-out`,display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,opacity:e.map(e=>e.iconVisible?`1`:`0`),marginRight:e.map(e=>e.pillRect.width-e.iconRect.width-(e.lineNumberRect?.width??0)),width:e.map(e=>e.iconRect.width),position:`relative`,right:e.map(e=>e.iconDirection===`top`?`1px`:`0`),color:this._data.map(e=>e?.customization?.icon?.color?yn(e.customization.icon.color.id):void 0)}},[e.map((e,t)=>ZF(yt(e.icon.read(t)),{fontSize:QF(Math.min(e.iconRect.width-JF,qF))}))])])]:[])),this._originalRangeObs=jF(this._data.map(e=>e?.originalRange)),this._stickyScrollController=qP.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?ou(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):qi(0),this._isHoveredOverInlineEditDebounced=wo(this._isHoveringOverInlineEdit,100);let d=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:d.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register(tn(this._isHoveredOverInlineEditDebounced,e=>{e&&this.triggerAnimation()})),this._register(Fl(e=>{d.readEffect(e),d.element&&this._editorObs.editor.applyFontInfo(d.element)}))}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map(e=>e.border).get()}`,outlineOffset:`-1px`,offset:0},{outline:`2px solid transparent`,outlineOffset:`10px`,offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;let e=this._data.get();if(!e)throw new To(`Gutter indicator data not available`);let t=new I,n=t.add(this._instantiationService.createInstance(IF,this._editorObs,e.gutterMenuData,(e,t)=>{e&&this._editorObs.editor.focus(),t&&this._onDidCloseWithCommand.fire(t),i?.dispose()}).toDisposableLiveElement()),r=this._userInteractionService.createFocusTracker(n.element,t);t.add(Fl(e=>{this._focusIsInMenu.set(r.read(e),void 0)})),t.add(Yo(()=>this._focusIsInMenu.set(!1,void 0)));let i=this._hoverService.showInstantHover({target:this._iconRef.element,content:n.element});i?(this._hoverVisible.set(!0,void 0),t.add(this._editorObs.editor.onDidScrollChange(()=>i.dispose())),t.add(i.onDispose(()=>{this._hoverVisible.set(!1,void 0),t.dispose()}))):t.dispose()}};YF=HF([UF(6,lu),UF(7,W),UF(8,jn),UF(9,Xn),UF(10,Ut)],YF);function XF(e){switch(e){case`top`:return 90;case`bottom`:return-90;case`right`:return 0}}function ZF(e,t){for(let n in t)e.style[n]=t[n];return e}function QF(e){return`${e}px`}var $F=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eI=function(e,t){return function(n,r){t(n,r,e)}},tI;(function(e){e.FirstTime=`firstTime`,e.SecondTime=`secondTime`,e.Active=`active`})(tI||={});var nI=class extends K{constructor(e,t,n,r,i){super(),this._model=e,this._indicator=t,this._collapsedView=n,this._storageService=r,this._configurationService=i,this._disposables=this._register(new fc),this._setupDone=ls({name:`setupDone`},!1),this._activeCompletionId=V(e=>{let t=this._model.read(e);if(!t||!this._setupDone.read(e))return;let n=this._indicator.read(e);if(n&&n.isVisible.read(e))return t.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===tI.Active)return;let e=new I,t=!1,n=!1,r=0,i=0;return e.add(xi(this._activeCompletionId,async(e,a,o,s)=>{if(e===void 0)return;let c=this.getNewUserType();switch(c){case tI.FirstTime:(r++>=5||t)&&(c=tI.SecondTime,this.setNewUserType(c));break;case tI.SecondTime:i++>=3&&n&&(c=tI.Active,this.setNewUserType(c))}switch(c){case tI.FirstTime:for(let e=0;e<3&&!s.isCancellationRequested;e++)await this._indicator.get()?.triggerAnimation(),await Er(500);break;case tI.SecondTime:this._indicator.get()?.triggerAnimation()}})),e.add(Fl(e=>{this._collapsedView.isVisible.read(e)&&this.getNewUserType()!==tI.Active&&this._collapsedView.triggerAnimation()})),e.add(Fl(e=>{let n=this._indicator.read(e);n&&e.store.add(tn(n.isHoveredOverIcon,async e=>{e&&(t=!0)}))})),e.add(Fl(e=>{let t=this._model.read(e);t&&e.store.add(t.onDidAccept(()=>{n=!0}))})),e}getNewUserType(){return this._storageService.get(`inlineEditsGutterIndicatorUserKind`,-1,tI.FirstTime)}setNewUserType(e){switch(e){case tI.FirstTime:throw new To(`UserKind should not be set to first time`);case tI.SecondTime:break;case tI.Active:this._disposables.clear()}this._storageService.store(`inlineEditsGutterIndicatorUserKind`,e,-1,0)}_initializeDebugSetting(){let e=`editor.inlineSuggest.edits.resetNewUserExperience`;return this._configurationService.getValue(e)&&this._storageService.remove(`inlineEditsGutterIndicatorUserKind`,-1),this._configurationService.onDidChangeConfiguration(t=>{t.affectsConfiguration(e)&&this._configurationService.getValue(e)&&(this._storageService.remove(`inlineEditsGutterIndicatorUserKind`,-1),this._disposables.value=this.setupNewUserExperience())})}};nI=$F([eI(3,kc),eI(4,Wi)],nI);var rI=class e{static{this.empty=new e([])}constructor(e){this.replacements=e,Nn(pr(e,(e,t)=>e.lineRange.endLineNumberExclusive<=t.lineRange.startLineNumber))}toString(){return this.replacements.map(e=>e.toString()).join(`,`)}getNewLineRanges(){let e=[],t=0;for(let n of this.replacements)e.push(pn.ofLength(n.lineRange.startLineNumber+t,n.newLines.length)),t+=n.newLines.length-n.lineRange.length;return e}},iI=class e{static fromSingleTextEdit(t,n){let r=$l(t.text),i=t.range.startLineNumber,a=n.getValueOfRange(w.fromPositions(new j(t.range.startLineNumber,1),t.range.getStartPosition()));r[0]=a+r[0];let o=t.range.endLineNumber+1,s=n.getTransformer().getLineLength(t.range.endLineNumber)+1,c=n.getValueOfRange(w.fromPositions(t.range.getEndPosition(),new j(t.range.endLineNumber,s)));r[r.length-1]=r[r.length-1]+c;let l=t.range.startColumn===n.getTransformer().getLineLength(t.range.startLineNumber)+1,u=t.range.endColumn===1;return l&&r[0].length===a.length&&(i++,r.shift()),r.length>0&&i<o&&u&&r[r.length-1].length===c.length&&(o--,r.pop()),new e(new pn(i,o),r)}constructor(e,t){this.lineRange=e,this.newLines=t}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new rI([this])}},aI=class{get lineEdit(){return this.action?.kind===`jumpTo`?new iI(pn.ofLength(this.action.position.lineNumber,0),[]):this.action?.kind===`edit`?iI.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText):new iI(new pn(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(pn.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(e,t,n,r,i,a,o){this.originalText=e,this.action=t,this.edit=n,this.cursorPosition=r,this.multiCursorPositions=i,this.commands=a,this.inlineCompletion=o}},oI=class{constructor(e,t,n){this._model=e,this.inlineEdit=t,this.tabAction=n,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=V(this,e=>jM(this._model.editor,this.inlineEdit.inlineCompletion,e)),this.onDidAccept=this._model.onDidAccept}accept(e){this._model.accept(void 0,e)}handleInlineEditShownNextFrame(e,t){let n=this.inlineEdit.inlineCompletion,r=Date.now();n.addRef(),bl(()=>{this._model.handleInlineSuggestionShown(n,e,t,r),n.removeRef()})}},sI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cI=function(e,t){return function(n,r){t(n,r,e)}},lI=class extends K{constructor(e,t,n){super(),this._editor=e,this._edit=t,this._accessibilityService=n,this.onDidClick=gu.None,this._iconRef=C.ref(),this.isHovered=qi(!1),this._editorObs=gs(this._editor);let r=this._edit.map(e=>e?.edit?.replacements[0]??null).map(e=>e?NA(e,this._editor.getModel()).range.getStartPosition():null),i=this._editorObs.observePosition(r,this._store),a=V(e=>{let t=i.read(e);if(!t)return null;let n=this._editorObs.layoutInfoContentLeft.read(e),r=this._editorObs.scrollLeft.read(e);return new pf(n+t.x-r,t.y)}),o=C.div({class:`inline-edits-collapsed-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:`block`}},[[this.getCollapsedIndicator(a)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:o,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this.isVisible=this._edit.map((e,t)=>!!e&&a.read(t)!==null)}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{offset:0,transform:`translateY(-3px)`},{offset:.2,transform:`translateY(1px)`},{offset:.36,transform:`translateY(-1px)`},{offset:.52,transform:`translateY(1px)`},{offset:.68,transform:`translateY(-1px)`},{offset:.84,transform:`translateY(1px)`},{offset:1,transform:`translateY(0px)`}],{duration:2e3}).finished}getCollapsedIndicator(e){let t=this._editorObs.layoutInfoContentLeft,n=e.map((e,n)=>e?e.deltaX(-t.read(n)):null),r=this.createIconPath(n);return C.svg({class:`collapsedView`,ref:this._iconRef,style:{position:`absolute`,...MF(e=>CF(this._editorObs).read(e)),overflow:`hidden`,pointerEvents:`none`}},[C.svgElem(`path`,{class:`collapsedViewPath`,d:r,fill:yn(eF)})])}createIconPath(e){return e.map(e=>{if(!e)return new AF().build();let t=e.deltaX(-3).deltaY(-1),n=t.deltaX(6),r=t.deltaY(1),i=n.deltaY(1),a=r.deltaX(3).deltaY(3);return new AF().moveTo(t).lineTo(n).lineTo(i).lineTo(a).lineTo(r).lineTo(t).build()})}};lI=sI([cI(2,jn)],lI);var uI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dI=function(e,t){return function(n,r){t(n,r,e)}},fI=14,pI=0,mI=4,hI=4,gI=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._languageService=a,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._isHovered=ls(this,!1),this.isHovered=this._isHovered,this._viewRef=C.ref(),this._editorObs=gs(this._editor);let o=n.map((e,t)=>{let n;switch(e){case Ej.Inactive:n=iF;break;case Ej.Jump:n=tF;break;case Ej.Accept:n=sF}return{border:hF(n,i).read(t).toString(),background:gF(r.read(t))}}),s=t.map(e=>e?this.getState(e):void 0),c=s.map(e=>e?this.getRendering(e,o):void 0);this.minEditorScrollHeight=V(this,e=>{let t=s.read(e);return t?t.rect.read(e).bottom+this._editor.getScrollTop():0});let l=C.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:qi(null),allowEditorOverflow:!1,minContentWidthInPx:Io(this,(e,t)=>{let n=s.read(e);if(!n)return t??0;let r=n.rect.map(e=>e.right).read(e)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(e)+mI-this._editorObs.layoutInfoContentLeft.read(e);return Math.max(t??0,r)}).recomputeInitiallyAndOnChange(this._store)})),this._register(Fl(e=>{c.read(e)?this._isHovered.set(l.isHovered.read(e),void 0):this._isHovered.set(!1,void 0)}))}fitsInsideViewport(e,t,n){let r=this._editorObs.layoutInfoWidth.read(n),i=this._editorObs.layoutInfoContentLeft.read(n),a=this._editor.getLayoutInfo().verticalScrollbarWidth,o=this._editorObs.layoutInfoMinimap.read(n).minimapLeft===0?0:this._editorObs.layoutInfoMinimap.read(n).minimapWidth;return vF(this._editorObs,e,void 0)+SF(t,this._editor,this._editor.getModel())+18<r-i-a-o}getState(e){let t=V(this,t=>{let n=e.range.startLineNumber,r=e.range.endLineNumber,i=e.range.startColumn,a=e.range.endColumn,o=this._editor.getModel()?.getLineCount()??0;return{lineWidth:vF(this._editorObs,new pn(n,n+1),t),lineWidthBelow:n+1<=o?vF(this._editorObs,new pn(n+1,n+2),t):void 0,lineWidthAbove:n-1>=1?vF(this._editorObs,new pn(n-1,n),t):void 0,startContentLeftOffset:this._editor.getOffsetForColumn(n,i),endContentLeftOffset:this._editor.getOffsetForColumn(r,a)}}),n=e.range.startLineNumber,r=e.range.endLineNumber,i=this.fitsInsideViewport(new pn(n,r+1),e.content,void 0);return{rect:V(this,a=>{let o=this._editorObs.getOption(59).read(a).typicalHalfwidthCharacterWidth,{lineWidth:s,lineWidthBelow:c,lineWidthAbove:l,startContentLeftOffset:u,endContentLeftOffset:d}=t.read(a),f=this._editorObs.layoutInfoContentLeft.read(a),p=this._editorObs.observeLineHeightForLine(n).recomputeInitiallyAndOnChange(a.store).read(a),m=this._editorObs.scrollTop.read(a),h=this._editorObs.scrollLeft.read(a),g;g=n===r&&d+5*o>=s&&i?`end`:c!==void 0&&c+fI-hI-mI<u?`below`:l!==void 0&&l+fI-hI-mI<u?`above`:`end`;let _,v,y=0,b=0;switch(g){case`end`:_=this._editorObs.editor.getTopForLineNumber(n),v=s,y=18;break;case`below`:_=this._editorObs.editor.getTopForLineNumber(n+1),v=u,y=8,b=2;break;case`above`:_=this._editorObs.editor.getTopForLineNumber(n-1),v=u,y=8,b=2}return _P.fromLeftTopWidthHeight(f+v-h,_-m,o*e.content.length,p).withMargin(pI,mI).translateX(y).translateY(b)}),label:e.content,kind:e.style}}getRendering(e,t){let n=document.createElement(`div`),r=this._editor.getModel().tokenization.tokenizeLinesAt(1,[e.label])?.[0],i;i=r&&e.kind===an.Code?Ed.fromLineTokens(r).toLineTokens(e.label,this._languageService.languageIdCodec):ic.createEmpty(e.label,this._languageService.languageIdCodec);let a=_a(new Ft([i]),ef.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],n,!0);n.style.width=`${a.minWidthInPx}px`;let o=e.rect.map(e=>e.withMargin(0,mI));return C.div({class:`collapsedView`,ref:this._viewRef,style:{position:`absolute`,...MF(e=>o.read(e)),overflow:`hidden`,boxSizing:`border-box`,cursor:`pointer`,border:t.map(e=>`1px solid ${e.border}`),borderRadius:`3px`,backgroundColor:t.map(e=>e.background),display:`flex`,alignItems:`center`,justifyContent:`center`,whiteSpace:`nowrap`},onmousedown:e=>{e.preventDefault()},onclick:e=>{this._onDidClick.fire(Dj.create(e))}},[n])}};gI=uI([dI(4,Xn),dI(5,Vo)],gI);var _I=0,vI=0,yI=1,bI=1,xI=3,SI=3,CI=class extends K{constructor(e,t,n,r){super(),this._editor=e,this._edit=t,this._uiState=n,this._tabAction=r,this.onDidClick=gu.None,this._display=V(this,e=>this._uiState.read(e)?`block`:`none`),this._editorMaxContentWidthInRange=V(this,e=>{let t=this._originalDisplayRange.read(e);return t?(this._editorObs.versionId.read(e),Io(this,(e,n)=>{let r=vF(this._editorObs,t,e);return Math.max(r,n??0)})):qi(0)}).map((e,t)=>e.read(t)),this._maxPrefixTrim=V(this,e=>{let t=this._uiState.read(e);return t?xF(t.deletions,t.originalRange,[],this._editor):{prefixTrim:0,prefixLeftOffset:0}}),this._editorLayoutInfo=V(this,e=>{let t=this._edit.read(e);if(!t||!this._uiState.read(e))return null;let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.scrollLeft.read(e),i=this._editorObs.getOption(59).map(e=>e.typicalHalfwidthCharacterWidth).read(e),a=n.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(e),i)-r,o=t.originalLineRange,s=this._originalVerticalStartPosition.read(e)??this._editor.getTopForLineNumber(o.startLineNumber)-this._editorObs.scrollTop.read(e),c=this._originalVerticalEndPosition.read(e)??this._editor.getTopForLineNumber(o.endLineNumberExclusive)-this._editorObs.scrollTop.read(e),l=n.contentLeft+this._maxPrefixTrim.read(e).prefixLeftOffset-r;return a<=l?null:{codeRect:_P.fromLeftTopRightBottom(l,s,a,c).withMargin(vI,_I),contentLeft:n.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=C.div({style:{pointerEvents:`none`}},V(this,e=>{let t=jF(this._editorLayoutInfo).read(e);if(!t)return;let n=t.map(e=>_P.fromLeftTopRightBottom(e.contentLeft-SI-yI,e.codeRect.top,e.contentLeft,e.codeRect.bottom)),r=V(this,e=>{let r=t.read(e).codeRect,i=n.read(e);return r.intersectHorizontal(new li(i.left,2**53-1))}),i=this._uiState.map(e=>e?.editorType===Ij.DiffEditor?xI:bI).read(e),a=r.map(e=>e.withMargin(i,i)),o=gF(this._uiState.map(e=>e?.editorType??Ij.TextEditor).read(e));return[C.div({class:`originalSeparatorDeletion`,style:{...a.read(e).toStyles(),borderRadius:`${SI}px`,border:`${yI+i}px solid ${o}`,boxSizing:`border-box`}}),C.div({class:`originalOverlayDeletion`,style:{...r.read(e).toStyles(),borderRadius:`${SI}px`,border:mF(this._tabAction).map(e=>`${yI}px solid ${yn(e)}`),boxSizing:`border-box`,backgroundColor:yn(JP)}}),C.div({class:`originalOverlayHiderDeletion`,style:{...n.read(e).toStyles(),backgroundColor:o}})]})).keepUpdated(this._store),this._nonOverflowView=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=qi(!1),this._editorObs=gs(this._editor);let i=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.startLineNumber,1):null}),a=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map(e=>e?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(i,this._store).map(e=>e?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(a,this._store).map(e=>e?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:V(this,e=>{let t=this._editorLayoutInfo.read(e);return t===null?0:t.codeRect.width})}))}},wI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},TI=function(e,t){return function(n,r){t(n,r,e)}},EI=1,DI=1,OI=3,kI=3,AI=class extends K{constructor(e,t,n,r,i){super(),this._editor=e,this._input=t,this._tabAction=n,this._languageService=i,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._state=V(this,e=>{let t=this._input.read(e);if(!t)return;let n=this._editor.getModel(),r=n.getEOL();if(t.startColumn===1&&t.lineNumber>1&&n.getLineLength(t.lineNumber)!==0&&t.text.endsWith(r)&&!t.text.startsWith(r)){let e=n.getLineLength(t.lineNumber-1)+1;return{lineNumber:t.lineNumber-1,column:e,text:r+t.text.slice(0,-r.length)}}return{lineNumber:t.lineNumber,column:t.startColumn,text:t.text}}),this._trimVertically=V(this,e=>{let t=this._state.read(e);if(!t)return{topOffset:0,contentHeight:0,linesTop:0,linesBottom:0};let n=t.text,r=this._editor.getLineHeightForPosition(new j(t.lineNumber,1)),i=this._editor.getModel().getEOL(),a=n.split(i).length,o=0,s=0;if(n.trim()!==``){let e=0;for(;e<n.length&&n.startsWith(i,e);e+=i.length)o+=1;for(let t=n.length;t>e&&n.endsWith(i,t);t-=i.length)s+=1}return{topOffset:o*r,contentHeight:(a-o-s)*r,linesTop:o,linesBottom:s}}),this._maxPrefixTrim=V(this,e=>{let t=this._state.read(e);if(!t)return{prefixLeftOffset:0,prefixTrim:0};let n=this._editor.getModel(),r=n.getEOL(),i=this._trimVertically.read(e),a=t.text.split(r),o=a.slice(i.linesTop,a.length-i.linesBottom);return i.linesTop===0&&(o[0]=n.getLineContent(t.lineNumber)+o[0]),xF([],new pn(t.lineNumber,t.lineNumber+(i.linesTop>0?0:1)),o,this._editor)}),this._ghostText=V(e=>{let t=this._state.read(e),n=this._maxPrefixTrim.read(e);if(!t)return;let r=this._editor.getModel().getEOL(),i=t.text.split(r).map((e,t)=>new Su(new w(t+1,t===0?1:n.prefixTrim+1,t+1,e.length+1),`modified-background`,0));return new OA(t.lineNumber,[new kA(t.column,t.text,!1,i)])}),this._display=V(this,e=>this._state.read(e)?`block`:`none`),this._editorMaxContentWidthInRange=V(this,e=>{let t=this._state.read(e);if(!t)return 0;this._editorObs.versionId.read(e);let n=this._editor.getModel(),r=n.getEOL(),i=t.text.startsWith(r)?``:n.getValueInRange(new w(t.lineNumber,1,t.lineNumber,t.column)),a=n.getValueInRange(new w(t.lineNumber,t.column,t.lineNumber,n.getLineLength(t.lineNumber)+1)),o=(i+t.text+a).split(r),s=ef.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),c=o.map(e=>{let r=n.tokenization.tokenizeLinesAt(t.lineNumber,[e])?.[0],i;return i=r?Ed.fromLineTokens(r).toLineTokens(e,this._languageService.languageIdCodec):ic.createEmpty(e,this._languageService.languageIdCodec),_a(new Ft([i]),s,[],N(`div`),!0).minWidthInPx});return Math.max(...c)}),this.startLineOffset=this._trimVertically.map(e=>e.topOffset),this.originalLines=this._state.map(e=>e?new pn(e.lineNumber,Math.min(e.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=V(this,e=>{this._ghostText.read(e);let t=this._state.read(e);if(!t)return null;this._editorObs.observePosition(ls(this,new j(t.lineNumber,t.column)),e.store).read(e);let n=this._editorObs.layoutInfo.read(e),r=this._editorObs.scrollLeft.read(e),i=this._editorObs.layoutInfoVerticalScrollbarWidth.read(e),a=n.contentLeft+this._editorMaxContentWidthInRange.read(e)-r,o=this._maxPrefixTrim.read(e).prefixLeftOffset??0,s=n.contentLeft+o-r;if(a<=s)return null;let{topOffset:c,contentHeight:l}=this._trimVertically.read(e),u=this._editorObs.scrollTop.read(e),d=this._editor.getTopForLineNumber(t.lineNumber)-u+c,f=new _P(s,d,a,d+l);return{overlay:f,startsAtContentLeft:o===0,contentLeft:n.contentLeft,minContentWidthRequired:o+f.width+i}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=C.div({style:{pointerEvents:`none`}},V(this,e=>{let t=jF(this._overlayLayout).read(e);if(!t)return;let n=t.map(e=>_P.fromLeftTopRightBottom(e.contentLeft-kI-EI,e.overlay.top,e.contentLeft,e.overlay.bottom)).read(e),r=this._input.map(e=>e?.editorType===Ij.DiffEditor?OI:DI).read(e),i=t.map(e=>e.overlay.withMargin(0,EI,EI,e.startsAtContentLeft?0:EI).intersectHorizontal(new li(n.left,2**53-1))),a=i.map(e=>e.withMargin(r,r)),o=gF(this._input.read(void 0)?.editorType??Ij.TextEditor);return[C.div({class:`originalUnderlayInsertion`,style:{...a.read(e).toStyles(),borderRadius:kI,border:`${EI+r}px solid ${o}`,boxSizing:`border-box`}}),C.div({class:`originalOverlayInsertion`,style:{...i.read(e).toStyles(),borderRadius:kI,border:pF(this._tabAction).map(e=>`${EI}px solid ${yn(e)}`),boxSizing:`border-box`,backgroundColor:yn(YP)}}),C.div({class:`originalOverlayHiderInsertion`,style:{...n.toStyles(),backgroundColor:o}})]})).keepUpdated(this._store),this._view=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=gs(this._editor),this._ghostTextView=this._register(r.createInstance(sP,this._editor,V(e=>{let t=this._ghostText.read(e);if(t)return{ghostText:t,handleInlineCompletionShown:e=>{},warning:void 0}}),{extraClasses:[`inline-edit`],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick(e=>{this._onDidClick.fire(new Dj(e))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:V(this,e=>{let t=this._overlayLayout.read(e);return t===null?0:t.minContentWidthRequired})}))}};AI=wI([TI(3,W),TI(4,Vo)],AI);var jI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},MI=function(e,t){return function(n,r){t(n,r,e)}},NI=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._edit=t,this._editorType=n,this._tabAction=r,this._languageService=i,this._themeService=a,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((e,t)=>e?xF(e.replacements.flatMap(e=>[e.originalRange,e.modifiedRange]),e.originalRange,e.modifiedLines,this._editor.editor,t):void 0),this._modifiedLineElements=V(this,e=>{let t=[],n=0,r=this._maxPrefixTrim.read(e),i=this._edit.read(e);if(!i||!r)return;let a=r.prefixTrim,o=PI(i.replacements.map(e=>e.modifiedRange)).map(e=>new w(e.startLineNumber,e.startColumn-a,e.endLineNumber,e.endColumn-a)),s=this._editor.model.get(),c=i.modifiedRange.startLineNumber;for(let r=0;r<i.modifiedRange.length;r++){let l=document.createElement(`div`),u=c+r,d=i.modifiedLines[r].slice(a),f=s.tokenization.tokenizeLinesAt(u,[d])?.[0],p;p=f?Ed.fromLineTokens(f).toLineTokens(d,this._languageService.languageIdCodec):ic.createEmpty(d,this._languageService.languageIdCodec);let m=[];for(let e of o.filter(e=>e.startLineNumber===u)){let t=Math.min(e.endColumn,d.length+1);m.push(new Su(new w(1,e.startColumn,1,t),`inlineCompletions-modified-bubble`,0))}let h=_a(new Ft([p]),ef.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),m,l,!0);this._editor.getOption(59).read(e),n=Math.max(n,h.minWidthInPx),t.push(l)}return{lines:t,requiredWidth:n}}),this._layout=V(this,e=>{let t=this._modifiedLineElements.read(e),n=this._maxPrefixTrim.read(e),r=this._edit.read(e);if(!t||!n||!r)return;let{prefixLeftOffset:i}=n,{requiredWidth:a}=t,o=this._editor.observeLineHeightsForLineRange(r.originalRange).read(e),s=(()=>{let e=o.slice(0,r.modifiedRange.length);for(;e.length<r.modifiedRange.length;)e.push(o[o.length-1]);return e})(),c=this._editor.layoutInfoContentLeft.read(e),l=this._editor.layoutInfoVerticalScrollbarWidth.read(e),u=this._editor.scrollLeft.read(e),d=this._editor.scrollTop.read(e),f=c-u,p=this._editor.editor.getModel(),m=r.originalRange.mapToLineArray(e=>this._editor.editor.getOffsetForColumn(e,p.getLineMaxColumn(e))-i),h=Math.max(...m,a),g=r.originalRange.startLineNumber,_=r.originalRange.endLineNumberExclusive-1,v=this._editor.editor.getTopForLineNumber(g)-d,y=this._editor.editor.getBottomForLineNumber(_)-d,b=_P.fromLeftTopWidthHeight(f+i,v,h,y-v),ee=_P.fromLeftTopWidthHeight(b.left,b.bottom,b.width,s.reduce((e,t)=>e+t,0)),te=_P.hull([b,ee]),x=te.intersectVertical(new li(b.bottom,2**53-1));return{originalLinesOverlay:b,modifiedLinesOverlay:ee,background:te,lowerBackground:x,lowerText:new _P(x.left,x.top,x.right,x.bottom),modifiedLineHeights:s,minContentWidthRequired:i+h+l}}),this._viewZoneInfo=V(e=>{if(!this._editor.getOption(71).map(e=>e.edits.allowCodeShifting===`always`).read(e))return;let t=this._layout.read(e),n=this._edit.read(e);if(t&&n)return{height:t.lowerBackground.height,lineNumber:n.originalRange.endLineNumberExclusive}}),this.minEditorScrollHeight=V(this,e=>{let t=jF(this._layout).read(e);return!t||this._viewZoneInfo.read(e)!==void 0?0:t.read(e).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=C.div({class:`line-replacement`},[V(this,e=>{let t=jF(this._layout).read(e),n=this._modifiedLineElements.read(e);if(!t||!n)return[];let r=t.read(e),i=this._editor.layoutInfoContentLeft.read(e),a=this._editorType.read(e)===Ij.DiffEditor?3:1;n.lines.forEach((e,t)=>{e.style.width=`${r.lowerText.width}px`,e.style.height=`${r.modifiedLineHeights[t]}px`,e.style.position=`relative`});let o=pF(this._tabAction).read(e),s=mF(this._tabAction).read(e),c=gF(this._editorType.read(e));return[C.div({style:{position:`absolute`,...MF(e=>CF(this._editor).read(e)),overflow:`hidden`,pointerEvents:`none`}},[C.div({class:`borderAroundLineReplacement`,style:{position:`absolute`,...MF(e=>t.read(e).background.translateX(-i).withMargin(a)),borderRadius:`3px`,border:`${a+1}px solid ${c}`,boxSizing:`border-box`,pointerEvents:`none`}}),C.div({class:`originalOverlayLineReplacement`,style:{position:`absolute`,...MF(e=>t.read(e).background.translateX(-i)),borderRadius:`3px`,border:hF(s,this._themeService).map(e=>`1px solid ${e.toString()}`),pointerEvents:`none`,boxSizing:`border-box`,background:yn(JP)}}),C.div({class:`modifiedOverlayLineReplacement`,style:{position:`absolute`,...MF(e=>t.read(e).lowerBackground.translateX(-i)),borderRadius:`0 0 3px 3px`,background:c,boxShadow:`${yn(vl)} 0 6px 6px -6px`,border:`1px solid ${yn(o)}`,boxSizing:`border-box`,overflow:`hidden`,cursor:`pointer`,pointerEvents:`auto`},onmousedown:e=>{e.preventDefault()},onclick:e=>this._onDidClick.fire(Dj.create(e))},[C.div({style:{position:`absolute`,top:0,left:0,width:`100%`,height:`100%`,background:yn(ZP)}})]),C.div({class:`modifiedLinesLineReplacement`,style:{position:`absolute`,boxSizing:`border-box`,...MF(e=>t.read(e).lowerText.translateX(-i)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:`none`,whiteSpace:`nowrap`,borderRadius:`0 0 3px 3px`,overflow:`hidden`}},[...n.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered(e=>this._isMouseOverWidget(e),this._store),this._previousViewZoneInfo=void 0,this._register(Yo(()=>this._editor.editor.changeViewZones(e=>this.removePreviousViewZone(e)))),this._register(Fd(this._viewZoneInfo,({lastValue:e,newValue:t})=>{e===t||e?.height===t?.height&&e?.lineNumber===t?.lineNumber||this._editor.editor.changeViewZones(e=>{this.removePreviousViewZone(e),t&&this.addViewZone(t,e)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:V(this,e=>this._layout.read(e)?.minContentWidthRequired??0),position:qi({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(e){let t=this._layout.get();return!t||!(e.event instanceof Jr)?!1:t.lowerBackground.containsPoint(new pf(e.event.relativePos.x,e.event.relativePos.y))}removePreviousViewZone(e){if(!this._previousViewZoneInfo)return;e.removeZone(this._previousViewZoneInfo.id);let t=this._editor.cursorLineNumber.get();t!==null&&t>=this._previousViewZoneInfo.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height),this._previousViewZoneInfo=void 0}addViewZone(e,t){let n=t.addZone({afterLineNumber:e.lineNumber-1,heightInPx:e.height,domNode:N(`div`)});this._previousViewZoneInfo={height:e.height,lineNumber:e.lineNumber,id:n};let r=this._editor.cursorLineNumber.get();r!==null&&r>=e.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()+e.height)}};NI=jI([MI(4,Vo),MI(5,Xn)],NI);function PI(e){let t=[];for(;e.length;){let n=e.shift();n.startLineNumber!==n.endLineNumber&&(e.push(new w(n.startLineNumber+1,1,n.endLineNumber,n.endColumn)),n=new w(n.startLineNumber,n.startColumn,n.startLineNumber,2**53-1)),t.push(n)}return t}function FI(e,t){let n={};for(let[e,r]of Object.entries(t))n[e]=Array.isArray(r)?{min:0,rules:r}:{min:r.min??0,rules:r.rules??[{max:r.max,priority:r.priority,share:r.share}]};let r={},i=0;for(let[e,t]of Object.entries(n))r[e]=t.min,i+=t.min;if(i>e)return null;let a=e-i;for(;a>0;){let e=[];for(let[t,i]of Object.entries(n))for(let n=0;n<i.rules.length;n++){let a=i.rules[n];r[t]<(a.max??1/0)&&e.push({partKey:t,ruleIndex:n,rule:a,priority:a.priority??0,share:a.share??1})}if(e.length===0)break;let t=Math.max(...e.map(e=>e.priority)),i=e.filter(e=>e.priority===t),o=i.reduce((e,t)=>e+t.share,0),s=0,c=[];for(let e of i){let t=e.rule,n=r[e.partKey],i=(t.max??1/0)-n,l=a*e.share/o,u=Math.min(l,i);c.push({partKey:e.partKey,ruleIndex:e.ruleIndex,amount:u}),s+=u}if(s===0)break;for(let e of c)r[e.partKey]+=e.amount;if(a-=s,a<1e-4)break}return r}var II=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},LI=function(e,t){return function(n,r){t(n,r,e)}},RI=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._data=n,this._themeService=r,this._keybindingService=i,this._contextKeyService=a,this._styles=V(this,e=>({background:hF(tF,this._themeService).read(e).toString(),foreground:hF($P,this._themeService).read(e).toString(),border:hF(eF,this._themeService).read(e).toString()})),this._pos=V(this,e=>this._editor.observePosition(V(e=>this._data.read(e)?.jumpToPosition||null),e.store)).flatten(),this._layout=V(this,e=>{let t=this._data.read(e);if(!t)return;let n=t.jumpToPosition,r=this._editor.observeLineHeightForLine(qi(n.lineNumber)).read(e),i=this._editor.scrollLeft.read(e),a=this._pos.read(e);if(!a)return;let o=this._editor.layoutInfo.read(e);return{widgetRect:_P.fromLeftTopWidthHeight(a.x+o.contentLeft+2-i,a.y,100,r)}}),this._blink=zI([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=C.div({class:`inline-edit-jump-to-widget`,style:{position:`absolute`,display:this._layout.map(e=>e?`flex`:`none`),alignItems:`center`,cursor:`pointer`,userSelect:`none`,...MF(e=>this._layout.read(e)?.widgetRect)}},V(e=>this._data.read(e)===void 0?[]:C.div({style:{display:`flex`,alignItems:`center`,gap:`4px`,padding:`0 4px`,height:`100%`,backgroundColor:this._styles.map(e=>e.background),"--vscodeIconForeground":this._styles.map(e=>e.foreground),border:this._styles.map(e=>`1px solid ${e.border}`),borderRadius:`3px`,boxSizing:`border-box`,fontSize:`11px`,color:this._styles.map(e=>e.foreground)}},[this._style===`cursor`?C.elem(`div`,{style:{borderLeft:`2px solid`,height:14,opacity:this._blink.map(e=>e?`0`:`1`)}}):[V(()=>C.elem(`div`,{},BI(this._keybinding))),C.elem(`div`,{style:{lineHeight:this._layout.map(e=>e?.widgetRect.height),marginTop:`-2px`}},[`to jump`])]]))),this._style=t.style,this._keybinding=this._getKeybinding(U_);let o=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:o.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this._register(this._editor.setDecorations(V(e=>{let t=this._data.read(e);return t?[{range:w.fromPositions(t.jumpToPosition,t.jumpToPosition),options:{description:`inline-edit-jump-to-decoration`,inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style===`label`?` `:` `}}}]:[]})))}_getKeybinding(e,t=Af.ofCaller()){return e?ou(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(e),t):qi(void 0)}};RI=II([LI(3,Xn),LI(4,Ta),LI(5,Ra)],RI);function zI(e,t=Af.ofCaller()){let n=0;return ou(void 0,t=>{n=0;let r=new Lr(()=>{n=(n+1)%e.length,t(null),r.schedule(e[n].durationMs)},0);return r.schedule(0),r},()=>e[n].value,t)}function BI(e){return V(t=>C.div({style:{},ref:n=>{let r=t.store.add(new Lf(n,ys,{disableTitle:!0,...Bn,keybindingLabelShadow:void 0,keybindingLabelForeground:yn($P),keybindingLabelBackground:`transparent`,keybindingLabelBorder:yn($P),keybindingLabelBottomBorder:void 0}));t.store.add(Fl(t=>{r.set(e.read(t))}))}}))}var VI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},HI=function(e,t){return function(n,r){t(n,r,e)}};function UI(e,t,n){let r=Math.max(1,Math.min(n,e)),i=Math.max(1,r-t),a=Math.min(n+1,r+t+1);return new pn(i,a)}var WI=class extends K{constructor(e,t,n,r,i){super(),this._previewTextModel=e,this._properties=t,this._parentEditor=n,this._tabAction=r,this._instantiationService=i,this._previewRef=C.ref(),this.element=C.div({class:`preview`,style:{},ref:this._previewRef}),this._state=V(this,e=>{let t=this._properties.read(e);if(!t)return;let n,r;t.nextCursorPosition===null?t.diff[0].innerChanges?.every(e=>e.modifiedRange.isEmpty())?(n=`original`,r=t.diff[0].original.startLineNumber):(n=`modified`,r=t.diff[0].modified.startLineNumber):(n=`original`,r=t.nextCursorPosition.lineNumber);let i=n===`modified`?uj.snapshot(this._previewTextModel):t.target,a=this._parentEditorObs.getOption(71).read(e).edits.longDistanceHintContextLineCount,o=n===`modified`?this._previewTextModel:t.target.dangerouslyGetUnderlyingModel(),s=UI(r,a,o.getLineCount());return{mode:n,targetLineNumber:r,visibleLineRange:s,textModel:i,diff:t.diff}}),this.updatePreviewEditorEffect=V(this,e=>{this._previewEditorObs.model.read(e);let t=this._state.read(e)?.visibleLineRange;if(!t)return;let n=[];t.startLineNumber>1&&n.push(new w(1,1,t.startLineNumber-1,1)),t.endLineNumberExclusive<this._previewTextModel.getLineCount()+1&&n.push(new w(t.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(n,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=V(this,e=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,e)),this.contentHeight=V(this,e=>{let t=this._state.read(e);return t?this._previewEditorObs.observeLineHeightsForLineRange(t.visibleLineRange).map(e=>e.reduce((e,t)=>e+t,0)):qi(null)}).flatten(),this._editorDecorations=V(this,e=>{let t=this._state.read(e);if(!t)return;let n={diff:t.diff},r=[],i=[],a=F.register({className:`inlineCompletions-char-delete`,description:`char-delete`,isWholeLine:!1,zIndex:1}),o=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,isWholeLine:!0}),s=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0});for(let e of n.diff)if(e.modified.isEmpty||e.original.isEmpty)e.original.isEmpty||r.push({range:e.original.toInclusiveRange(),options:a}),e.modified.isEmpty||i.push({range:e.modified.toInclusiveRange(),options:o});else for(let t of e.innerChanges||[])e.original.contains(t.originalRange.startLineNumber)&&!t.originalRange.isEmpty()&&r.push({range:t.originalRange,options:{description:`char-delete`,shouldFillLineOnLineBreak:!1,className:TF(`inlineCompletions-char-delete`,t.originalRange.isEmpty()&&`empty`),zIndex:1}}),e.modified.contains(t.modifiedRange.startLineNumber)&&i.push({range:t.modifiedRange,options:s});return{originalDecorations:r,modifiedDecorations:i}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=gs(this._parentEditor),this._register(Fl(e=>{let t=this._state.read(e)?.textModel||null;t&&this.previewEditor.setModel(t.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=gs(this.previewEditor),this._register(this._previewEditorObs.setDecorations(V(e=>{let t=this._state.read(e),n=this._editorDecorations.read(e);return(t?.mode===`original`?n?.originalDecorations:n?.modifiedDecorations)??[]}))),this._register(Fl(e=>{if(!this._properties.read(e))return;let t=this._parentEditorObs.cursorPosition.read(e);t&&this.previewEditor.setPosition(this._previewTextModel.validatePosition(t),`longDistanceHintPreview`)})),this._register(Fl(e=>{let t=this._state.read(e);if(!t)return;let n=(t.visibleLineRange.endLineNumberExclusive-1).toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:n+1})})),this._register(this._instantiationService.createInstance(YF,this._previewEditorObs,V(e=>{let t=this._state.read(e);if(!t)return;let n=this._properties.read(e);if(n)return new WF(n.inlineSuggestInfo,pn.ofLength(t.targetLineNumber,1),n.model,void 0)}),this._tabAction,qi(0),qi(!1),ls(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(Xb,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:{[qO.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(e,t){let n=this._state.read(t);if(!n)return;let r=n.diff,i=this._properties.read(t)?.nextCursorPosition,a=n.visibleLineRange,o=this._previewEditorObs.layoutInfo.read(t),s=vF(this._previewEditorObs,a,t),c;if(i)c=w.fromPositions(i);else if(r[0].innerChanges)c=n.mode===`modified`?r[0].innerChanges[0].modifiedRange:r[0].innerChanges[0].originalRange;else return;let l=GI(e.getModel(),c,5),u=this._previewEditorObs.getLeftOfPosition(l.getStartPosition(),t),d=this._previewEditorObs.getLeftOfPosition(l.getEndPosition(),t),f=Qt(u,0,s),p=Qt(d,f,s),m=e.getModel().getLineFirstNonWhitespaceColumn(l.startLineNumber);return{indentationEnd:this._previewEditorObs.getLeftOfPosition(new j(l.startLineNumber,m),t),preferredRangeToReveal:new li(f,p),maxEditorWidth:s+o.contentLeft,contentWidth:s,nonContentWidth:o.contentLeft}}layout(e,t){this.previewEditor.layout(e),this._previewEditorObs.editor.setScrollLeft(t)}};WI=VI([HI(4,W)],WI);function GI(e,t,n){let r=t.getStartPosition(),i=t.getEndPosition(),a=e.getLineContent(r.lineNumber);function o(e){let t=a.charAt(e-1);return/[a-zA-Z0-9_]/.test(t)}function s(e){let t=a.charAt(e-1);return t===` `||t===` `}let c=r.column;for(;c>1&&o(c)&&!s(c-1)&&r.column-c<n;)c--;let l=i.column-1;for(;l<=a.length&&o(l)&&!s(l+1)&&l-i.column<n;)l++;return new w(r.lineNumber,c,i.lineNumber,l+1)}function KI(e,t){let n=e.start,r=e.endExclusive,i=Number.MAX_VALUE,a=0;for(let e of t){let t=a+e.width;Math.max(n,a)<Math.min(r,t)&&(i=Math.min(i,e.height)),a=t}return r>a||i===Number.MAX_VALUE?0:i}var qI=class{constructor(e,t,n){this._lineRangeInfo=e,this.availableSpaceSizes=e.sizes.map((r,i)=>{let a=n(e.lineRange.startLineNumber+i);return new gP(Math.max(0,t-r.width-a),r.height)}),this.availableSpaceHeightPrefixSums=XI(this.availableSpaceSizes,e=>e.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map(e=>e.transpose())}getWidgetVerticalOutline(e,t,n){let r=e-this._lineRangeInfo.lineRange.startLineNumber,i=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[r],a=li.ofStartAndLength(i,t),{previewEditorMargin:o,widgetPadding:s,widgetBorder:c,lowerBarHeight:l}=n;return a.withMargin(o+s+c).withMargin(0,l)}tryFindWidgetOutline(e,t,n,r){if(!(this._lineRangeInfo.lineRange.length<3))return YI(this._lineRangeInfo.lineRange.addMargin(-1,-1),e,e=>{let i=this.getWidgetVerticalOutline(e,t,r),a=KI(i.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);if(!(a<r.minWidgetWidth))return{horizontalWidgetRange:li.ofStartAndLength(n-a,a),verticalWidgetRange:i}})}};function JI(e,t,n,r,i){let a=[],o=e.startLineNumber,s=n,c=[];for(let n=0;n<t.length;n++){let i=e.startLineNumber+n,l=s+c.reduce((e,t)=>e+t.height,0),u=r.editor.getTopForLineNumber(i);n>0&&u!==l&&(a.push({lineRange:pn.ofLength(o,i-o),top:s,sizes:c}),o=i,s=u,c=[]),c.push(t[n])}return a.push({lineRange:pn.ofLength(o,e.endLineNumberExclusive-o),top:s,sizes:c}),V({owner:`splitIntoContinuousLineRanges`},t=>r.observeTopForLineNumber(e.endLineNumberExclusive-1).read(t)).read(i),a}function YI(e,t,n){for(let r=0;;r++){let i=t+r;if(i<=e.endLineNumberExclusive){let e=n(i);if(e!==void 0)return e}let a=t-r;if(a>=e.startLineNumber){let e=n(a);if(e!==void 0)return e}if(a<e.startLineNumber&&i>e.endLineNumberExclusive)return}}function XI(e,t){let n=[0],r=0;for(let i of e)r+=t(i),n.push(r);return n}var ZI=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},QI=function(e,t){return function(n,r){t(n,r,e)}},$I=6,eL={EMPTY_SPACE:425,OVERLAY:375},tL={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:250},nL=class extends K{constructor(e,t,n,r,i,a,o,s,c){super(),this._editor=e,this._viewState=t,this._previewTextModel=n,this._tabAction=r,this._instantiationService=i,this._themeService=a,this._keybindingService=o,this._modelService=s,this._languageService=c,this.onDidClick=gu.None,this._viewWithElement=void 0,this._hintTextPosition=V(this,e=>{let t=this._viewState.read(e);return t?new j(t.hint.lineNumber,2**53-1):null}),this._lineSizesAroundHintPosition=V(this,e=>{let t=this._viewState.read(e),n=this._hintTextPosition.read(e);if(!t||!n)return[];let r=this._editorObs.model.read(e);if(!r)return[];let i=pn.ofLength(n.lineNumber,1).addMargin(5,5).intersect(pn.ofLength(1,r.getLineCount()));return i?JI(i,yF(this._editorObs,i,e),this._editorObs.observeTopForLineNumber(i.startLineNumber).read(e),this._editorObs,e):[]}),this._isVisibleDelayed=fo(V(this,e=>this._viewState.read(e)?.hint.isVisible),(e,t)=>e===!0&&t===!1?200:0),this._previewEditorLayoutInfo=V(this,e=>{let t=this._viewState.read(e);if(!t||!this._isVisibleDelayed.read(e))return;let n=this._lineSizesAroundHintPosition.read(e);if(n.length===0)return;let r=this._editorObs.scrollTop.read(e),i=this._editorObs.scrollLeft.read(e),a=this._editorObs.layoutInfo.read(e),o=this._previewEditor.contentHeight.read(e),s=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(e);if(!o||!s)return;let c=a.contentWidth-a.verticalScrollbarWidth,l=a.contentLeft+c;if(!this._editorObs.cursorLineNumber.read(e))return;let u=tL,d=o+2,f,p,m=e=>e===t.hint.lineNumber?40:20;for(let e of n){let n=new qI(e,c,m);if(p=n,f=n.tryFindWidgetOutline(t.hint.lineNumber,d,l,u),f)break}let h=`empty-space`;if(!f){h=`overlay`;let e=Math.min(a.width-a.contentLeft,eL.OVERLAY),r=p??new qI(n[0],c,m);f={horizontalWidgetRange:li.ofStartAndLength(l-e,e),verticalWidgetRange:r.getWidgetVerticalOutline(t.hint.lineNumber+2,d,u).delta(10)}}if(!f)return;let g=_P.fromRanges(f.horizontalWidgetRange,f.verticalWidgetRange).translateX(-i).translateY(-r),{previewEditorMargin:_,widgetPadding:v,widgetBorder:y,lowerBarHeight:b}=u,ee=h===`overlay`?eL.OVERLAY:eL.EMPTY_SPACE,te=s.maxEditorWidth+_+v,x=Math.min(ee,Math.max(te,u.minWidgetWidth)),ne=FI(g.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:x,priority:1}]},spaceAfter:{min:10}});if(!ne)return null;let re=rL([ne.spaceBefore,ne.content,ne.spaceAfter],g.left);g.withHorizontalRange(re[0]);let ie=g.withHorizontalRange(re[1]);g.withHorizontalRange(re[2]);let ae=ie.withMargin(-v-y-_).withMargin(0,0,-b,0),oe=ae.width-s.nonContentWidth,se=oe*.8,ce=s.preferredRangeToReveal.intersect(li.ofStartAndLength(s.preferredRangeToReveal.start,se))??s.preferredRangeToReveal,le=iL(s.indentationEnd,oe,ce);return{codeEditorSize:ae.getSize(),codeScrollLeft:i,contentLeft:a.contentLeft,widgetRect:ie,previewEditorMargin:_,widgetPadding:v,widgetBorder:y,lowerBarHeight:b,desiredPreviewEditorScrollLeft:le.newScrollPosition}}),this._view=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:V(this,e=>this._previewEditorLayoutInfo.read(e)?`block`:`none`)}},[V(this,e=>[this._widgetContent])]),this._widgetContent=V(this,e=>C.div({class:[`inline-edits-long-distance-hint-widget`,`show-file-icons`],style:{position:`absolute`,overflow:`hidden`,cursor:`pointer`,background:yn(It),padding:this._previewEditorLayoutInfo.map(e=>e?.widgetPadding),boxSizing:`border-box`,borderRadius:$I,border:V(e=>`${this._previewEditorLayoutInfo.read(e)?.widgetBorder}px solid ${this._styles.read(e).border}`),display:`flex`,flexDirection:`column`,opacity:V(e=>this._viewState.read(e)?.hint.isVisible?`1`:`0`),transition:`opacity 200ms ease-in-out`,...MF(e=>this._previewEditorLayoutInfo.read(e)?.widgetRect)},onmousedown:e=>{e.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[C.div({class:[`editorContainer`],style:{overflow:`hidden`,padding:this._previewEditorLayoutInfo.map(e=>e?.previewEditorMargin),background:this._styles.map(e=>e.background),pointerEvents:`none`}},[V(this,e=>this._previewEditor.element)]),C.div({class:`bar`,style:{color:yn(Gr),pointerEvents:`none`,margin:`0 4px`,height:this._previewEditorLayoutInfo.map(e=>e?.lowerBarHeight),display:`flex`,justifyContent:`space-between`,alignItems:`center`}},[V(this,e=>{let t=[],n=this._viewState.read(e);if(!n)return t;let r=this._editorObs.model.read(e),i=n.target.uri,a=!r||!n.target.targets(r);if(a){let e=Zd(i),n=bN(this._modelService,this._languageService,i,uD.FILE);t.push(C.div({class:`target-file`,style:{display:`flex`,alignItems:`center`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},[C.elem(`span`,{class:n,style:{flexShrink:`0`,marginRight:`4px`}}),e]))}else{let n=this._originalOutlineSource.read(e),r=this._originalTargetLineNumber.read(e),i=n?.getAt(r,e).slice(0,1)??[],a=[];if(i.length>0)for(let e=0;e<i.length;e++){let t=i[e],n=Ii.toIcon(t.kind);a.push(C.div({class:`breadcrumb-item`,style:{display:`flex`,alignItems:`center`,flex:`1 1 auto`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`}},[yt(n),`\xA0`,t.name,...e===i.length-1?[]:[yt(A.chevronRight)]]))}t.push(C.div({class:`outline-elements`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}},a))}let o=this._originalTargetLineNumber.read(e),s=a?A.arrowRight:n.hint.lineNumber<o?A.arrowDown:A.arrowUp,c=this._keybindingService.lookupKeybinding(q_),l=a?`Go to file`:`Go to suggestion`;return c&&c.getLabel()===`Tab`&&(l=a?`Tab to open`:`Tab to jump`),t.push(C.div({class:`go-to-label`,style:{position:`relative`,display:`flex`,alignItems:`center`,flex:`0 0 auto`,paddingLeft:`6px`}},[l,`\xA0`,yt(s)])),t})])])),this._originalTargetLineNumber=V(this,e=>{let t=this._viewState.read(e);return t?t.edit.action?.kind===`jumpTo`?t.edit.action.position.lineNumber:t.diff[0]?.original.startLineNumber??-1:-1}),this._originalOutlineSource=ql(this,e=>{let t=this._editorObs.model.read(e),n=Sc._breadcrumbsSourceFactory.read(e);return!t||!n?void 0:n(t,this._instantiationService)}),this._styles=V(e=>{let t=this._tabAction.read(e),n=_F(tf,this._themeService).read(e),r=ou(this._themeService.onDidColorThemeChange,()=>{let e=this._themeService.getColorTheme();return e.type===`hcDark`||e.type===`hcLight`}).read(e),i;if(r)i=n;else{let n;switch(t){case Ej.Inactive:n=iF;break;case Ej.Jump:n=tF;break;case Ej.Accept:n=sF}i=hF(n,this._themeService).read(e)}return{border:i.toString(),background:gF(this._viewState.map(e=>e?.editorType??Ij.TextEditor).read(e))}}),this._editorObs=gs(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(WI,this._previewTextModel,V(e=>{let t=this._viewState.read(e);if(t)return{diff:t.diff,model:t.model,inlineSuggestInfo:t.inlineSuggestInfo,nextCursorPosition:t.nextCursorPosition,target:t.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:qi(0)})),this._widgetContent.get().keepUpdated(this._store),this._register(Fl(e=>{let t=this._previewEditorLayoutInfo.read(e);t&&this._previewEditor.layout(t.codeEditorSize.toDimension(),t.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};nL=ZI([QI(4,W),QI(5,Xn),QI(6,Ta),QI(7,dt),QI(8,Vo)],nL);function rL(e,t=0){let n=[],r=t;for(let t of e)n.push(new li(r,r+t)),r+=t;return n}function iL(e,t,n){let r=new li(e,e+t);return r.containsRange(n)?{newScrollPosition:e}:n.length>t?{newScrollPosition:n.start}:n.endExclusive>r.endExclusive?{newScrollPosition:n.endExclusive-t}:n.start<r.start?{newScrollPosition:n.start}:{newScrollPosition:e}}var aL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},oL=function(e,t){return function(n,r){t(n,r,e)}},sL=0,cL=0,lL=1,uL=1,dL=3,fL=3,pL=20,mL=12,hL=class extends K{static fitsInsideViewport(e,t,n,r){let i=gs(e),a=i.layoutInfoWidth.read(r),o=i.layoutInfoContentLeft.read(r),s=e.getLayoutInfo().verticalScrollbarWidth,c=i.layoutInfoMinimap.read(r).minimapLeft===0?0:i.layoutInfoMinimap.read(r).minimapWidth,l=vF(i,n.displayRange,void 0),u=n.lineEdit.newLines.reduce((n,r)=>Math.max(n,SF(r,e,t)),0),d=pL;return l+u+d+14<a-o-s-c}constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._edit=t,this._previewTextModel=n,this._uiState=r,this._tabAction=i,this._instantiationService=a,this._themeService=o,this._userInteractionService=s,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._editorObs=gs(this._editor),this._display=V(this,e=>this._uiState.read(e)?`block`:`none`),this.previewRef=C.ref();let c=this._uiState.map(e=>e?.editorType===Ij.DiffEditor?dL:uL);this._editorContainer=C.div({class:[`editorContainer`],style:{position:`absolute`,overflow:`hidden`,cursor:`pointer`},onmousedown:e=>{e.preventDefault()},onclick:e=>{this._onDidClick.fire(Dj.create(e))}},[C.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(Xb,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:{[qO.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=gs(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=V(this,e=>{this._editorContainer.readEffect(e),this._previewEditorObs.model.read(e),this._display.read(e),this._nonOverflowView&&(this._nonOverflowView.element.style.display=this._display.read(e));let t=this._uiState.read(e),n=this._edit.read(e);if(!t||!n)return;let r=n.originalLineRange,i=[];r.startLineNumber>1&&i.push(new w(1,1,r.startLineNumber-1,1)),r.startLineNumber+t.newTextLineCount<this._previewTextModel.getLineCount()+1&&i.push(new w(r.startLineNumber+t.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(i,void 0,!0);let a=[...this._activeViewZones];this._activeViewZones=[];let o=r.endLineNumberExclusive-r.startLineNumber-t.newTextLineCount;this.previewEditor.changeViewZones(e=>{a.forEach(t=>e.removeZone(t)),o>0&&this._activeViewZones.push(e.addZone({afterLineNumber:r.startLineNumber+t.newTextLineCount-1,heightInLines:o,showInHiddenAreas:!0,domNode:N(`div.diagonal-fill.inline-edits-view-zone`)}))})}),this._previewEditorWidth=V(this,e=>{let t=this._edit.read(e);return t?(this._updatePreviewEditor.read(e),vF(this._previewEditorObs,t.modifiedLineRange,e)):0}),this._cursorPosIfTouchesEdit=V(this,e=>{let t=this._editorObs.cursorPosition.read(e),n=this._edit.read(e);if(n&&t)return n.modifiedLineRange.contains(t.lineNumber)?t:void 0}),this._originalStartPosition=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=V(this,e=>{let t=this._edit.read(e);return t?new j(t.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map(e=>e?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map(e=>e?.y),this._originalDisplayRange=this._edit.map(e=>e?.displayRange),this._editorMaxContentWidthInRange=V(this,e=>{let t=this._originalDisplayRange.read(e);return t?(this._editorObs.versionId.read(e),Io(this,(e,n)=>{let r=vF(this._editorObs,t,e);return Math.max(r,n??0)})):qi(0)}).map((e,t)=>e.read(t));let l=NF(this._editor,this._store);this._previewEditorLayoutInfo=V(this,e=>{let t=this._edit.read(e);if(!t||!this._uiState.read(e))return null;let n=t.originalLineRange,r=this._editorObs.scrollLeft.read(e),i=this._editorMaxContentWidthInRange.read(e),a=this._editorObs.layoutInfo.read(e),o=this._previewEditorWidth.read(e),s=a.contentWidth-a.verticalScrollbarWidth,c=l.read(e),u=a.contentLeft+a.contentWidth+c.left,d=cl(this._editor.getContainerDomNode()).innerWidth-u,f=cl(this._editor.getContainerDomNode()).innerWidth-c.right,p=Math.min(a.contentWidth*.3,o,100),m=0+d,h=this._cursorPosIfTouchesEdit.read(e),g=Math.max(s+r-0-Math.max(0,p-m),Math.min(h?bF(this._editorObs,h,e)+50:0,s+r)),_=Math.min(i+pL,g),v=i+pL+o+70,y=g-_,b,ee;_>r?(b=0,ee=a.contentLeft+_-r):(b=r-_,ee=a.contentLeft);let te=this._originalVerticalStartPosition.read(e)??this._editor.getTopForLineNumber(n.startLineNumber)-this._editorObs.scrollTop.read(e),x=this._originalVerticalEndPosition.read(e)??this._editor.getBottomForLineNumber(n.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(e),ne=a.contentLeft-r,re=_P.fromLeftTopRightBottom(ne,te,ee,x),ie=re.height===0;ie||(re=re.withMargin(cL,sL));let ae=this._previewEditorObs.observeLineHeightsForLineRange(t.modifiedLineRange).read(e).reduce((e,t)=>e+t,0),oe=x-te,se=Math.max(oe,ae),ce=y===0,le=Math.min(o+mL,f+a.width-a.contentLeft-0),ue=_P.fromLeftTopWidthHeight(re.right+0,te,le,se);return ue=ie?ue.withMargin(cL,sL).translateY(cL):ue.withMargin(cL,sL).translateX(1),{codeRect:re,editRect:ue,codeScrollLeft:r,contentLeft:a.contentLeft,isInsertion:ie,maxContentWidth:v,shouldShowShadow:ce,desiredPreviewEditorScrollLeft:b,previewEditorWidth:le}}),this._stickyScrollController=qP.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?ou(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):qi(0),this._shouldOverflow=V(this,e=>!1),this._originalBackgroundColor=ou(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(JP)??qs.transparent),this._editorBackgroundColor=this._uiState.map(e=>gF(e?.editorType??Ij.TextEditor)),this._backgroundSvg=C.svg({transform:`translate(-0.5 -0.5)`,style:{overflow:`visible`,pointerEvents:`none`,position:`absolute`}},[C.svgElem(`path`,{class:`rightOfModifiedBackgroundCoverUp`,d:V(this,e=>{let t=this._previewEditorLayoutInfo.read(e);if(t&&!this._originalBackgroundColor.read(e).isTransparent())return new AF().moveTo(t.codeRect.getRightTop()).lineTo(t.codeRect.getRightTop().deltaX(1e3)).lineTo(t.codeRect.getRightBottom().deltaX(1e3)).lineTo(t.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=C.div({style:{pointerEvents:`none`,display:this._previewEditorLayoutInfo.map(e=>e?.isInsertion?`none`:`block`)}},V(this,e=>{let t=jF(this._previewEditorLayoutInfo).read(e);if(!t)return;let n=this._editorBackgroundColor.read(e),r=c.read(e),i=mF(this._tabAction).map(e=>`${lL}px solid ${yn(e)}`),a=`${lL+r}px solid ${n}`,o=t.read(e).codeScrollLeft!==0,s=t.map(e=>e.codeRect.bottom<e.editRect.bottom),l=fL*2+2,u=t.map(e=>_P.fromLeftTopRightBottom(e.contentLeft-fL-lL,e.codeRect.top,e.contentLeft,e.codeRect.bottom+l)).read(e),d=new li(u.left,2**53-1),f=t.map(e=>e.codeRect.intersectHorizontal(d)),p=f.map(e=>e.withMargin(r,0,r,r).intersectHorizontal(d)),m=f.map(e=>_P.fromLeftTopWidthHeight(e.right-l+lL,e.bottom-lL,l,l).intersectHorizontal(d));return[C.div({class:`originalSeparatorSideBySide`,style:{...p.read(e).toStyles(),boxSizing:`border-box`,borderRadius:`${fL}px 0 0 ${fL}px`,borderTop:a,borderBottom:a,borderLeft:o?`none`:a}}),C.div({class:`originalOverlaySideBySide`,style:{...f.read(e).toStyles(),boxSizing:`border-box`,borderRadius:`${fL}px 0 0 ${fL}px`,borderTop:i,borderBottom:i,borderLeft:o?`none`:i,backgroundColor:yn(JP)}}),C.div({class:`originalCornerCutoutSideBySide`,style:{pointerEvents:`none`,display:s.map(e=>e?`block`:`none`),...m.read(e).toStyles()}},[C.div({class:`originalCornerCutoutBackground`,style:{position:`absolute`,top:`0px`,left:`0px`,width:`100%`,height:`100%`,backgroundColor:hF(JP,this._themeService).map(e=>e.toString())}}),C.div({class:`originalCornerCutoutBorder`,style:{position:`absolute`,top:`0px`,left:`0px`,width:`100%`,height:`100%`,boxSizing:`border-box`,borderTop:i,borderRight:i,borderRadius:`0 100% 0 0`,backgroundColor:n}})]),C.div({class:`originalOverlaySideBySideHider`,style:{...u.toStyles(),backgroundColor:n}})]})).keepUpdated(this._store),this._modifiedOverlay=C.div({style:{pointerEvents:`none`}},V(this,e=>{let t=jF(this._previewEditorLayoutInfo).read(e);if(!t)return;let n=t.map(e=>e.codeRect.bottom<e.editRect.bottom),r=this._editorBackgroundColor.read(e),i=c.read(e),a=n.map(e=>`0 ${fL}px ${fL}px ${e?fL:0}px`),o=hF(pF(this._tabAction),this._themeService).map(e=>`1px solid ${e.toString()}`),s=`${lL+i}px solid ${r}`,l=t.map(e=>e.editRect.withMargin(0,lL)),u=l.map(e=>e.withMargin(i,i,i,0)),d=V(this,e=>{let n=l.read(e),r=t.read(e);return!r.isInsertion||r.contentLeft>=n.left?_P.fromLeftTopWidthHeight(n.left,n.top,0,0):new _P(r.contentLeft,n.top,n.left,n.top+2)});return[C.div({class:`modifiedInsertionSideBySide`,style:{...d.read(e).toStyles(),backgroundColor:pF(this._tabAction).map(e=>yn(e))}}),C.div({class:`modifiedSeparatorSideBySide`,style:{...u.read(e).toStyles(),borderRadius:a,borderTop:s,borderBottom:s,borderRight:s,boxSizing:`border-box`}}),C.div({class:`modifiedOverlaySideBySide`,style:{...l.read(e).toStyles(),borderRadius:a,border:o,boxSizing:`border-box`,backgroundColor:yn(YP)}})]})).keepUpdated(this._store),this._nonOverflowView=C.div({class:`inline-edits-view`,style:{position:`absolute`,overflow:`visible`,top:`0px`,left:`0px`,display:this._display}},[this._backgroundSvg,V(this,e=>this._shouldOverflow.read(e)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:qi(null),allowEditorOverflow:!1,minContentWidthInPx:V(this,e=>{let t=this._previewEditorLayoutInfo.read(e)?.maxContentWidth;return t===void 0?0:t})})),this.previewEditor.setModel(this._previewTextModel),this._register(Fl(e=>{let t=this._previewEditorLayoutInfo.read(e);if(!t)return;let n=t.editRect.withMargin(-0,-0);this.previewEditor.layout({height:n.height,width:t.previewEditorWidth+15}),this._editorContainer.element.style.top=`${n.top}px`,this._editorContainer.element.style.left=`${n.left}px`,this._editorContainer.element.style.width=`${t.previewEditorWidth+sL}px`})),this._register(Fl(e=>{let t=this._previewEditorLayoutInfo.read(e);t&&this._previewEditorObs.editor.setScrollLeft(t.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};hL=aL([oL(5,W),oL(6,Xn),oL(7,Ut)],hL);var gL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_L=function(e,t){return function(n,r){t(n,r,e)}},vL=class{constructor(e,t,n){this.edit=e,this.editorType=t,this.alternativeAction=n}equals(e){return this.edit.equals(e.edit)&&this.alternativeAction===e.alternativeAction}},yL=1,bL=`word-replacement-view-overlay`,xL=`word-replacement-view-widget`,SL=`word-replacement-view-replacement`,CL=`word-replacement-view-rename`,wL=class extends K{static{this.MAX_LENGTH=100}constructor(e,t,n,r,i,a,o,s){super(),this._editor=e,this._viewData=t,this._tabAction=n,this._languageService=r,this._themeService=i,this._keybindingService=a,this._hoverService=o,this._userInteractionService=s,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition(qi(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition(qi(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement(`div`),this._primaryElement=ls(this,null),this._secondaryElement=ls(this,null),this.isHovered=V(this,e=>{let t=this._primaryElement.read(e);return t?this._userInteractionService.createHoverTracker(t.element,e.store).read(e):!1}),this._renderTextEffect=V(this,e=>{let t=this._editor.model.read(void 0);if(!t)return;let n=t.getLineContent(this._viewData.edit.range.startLineNumber),r=Ac.replace(new li(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),i=r.replace(n),a=t.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[i])?.[0],o;o=a?Ed.fromLineTokens(a).slice(r.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec):ic.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);let s=_a(new Ft([o]),ef.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${s.minWidthInPx}px`});let c=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),l=it(this._viewData.alternativeAction?.count??new Promise(e=>e(void 0))).map(e=>e.value),u=V(this,e=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),e).shiftKey);this._layout=V(this,e=>{this._renderTextEffect.read(e);let t=this._start.read(e),n=this._end.read(e);if(!t||!n||t.x>n.x||t.y>n.y)return;let r=c.read(e);if(r<=0)return;let i=this._editor.scrollLeft.read(e),a=this._editor.getOption(59).read(e).typicalHalfwidthCharacterWidth,o=3*a,s=new pf(o,4),d;if(this._viewData.alternativeAction){let t=this._viewData.alternativeAction.label,n=l.read(e),r=u.read(e),i=n===void 0?t:n===1?S(1283,`{0} 1 occurrence`,t):S(1284,`{0} {1} occurrences`,t,n),a=S(1285,`{0} show occurrences`,`[shift]`);d={label:n===void 0?t:r?i:t,tooltip:i?`${i}\n${a}`:void 0,icon:void 0,count:n,keybinding:this._keybindingService.lookupKeybinding(W_),active:u}}let f=_P.fromPoints(t,n).withHeight(r).translateX(-i),p=_P.fromPointSize(f.getLeftBottom().add(s),new pf(this._viewData.edit.text.length*a,f.height)),m=p.withWidth(p.width+(d?d.label.length*a+8+4+12:0)),h=m.withLeft(f.left);return{alternativeAction:d,originalLine:f,codeLine:p,modifiedLine:m,lowerBackground:h,lineHeight:r}}),this.minEditorScrollHeight=V(this,e=>{let t=jF(this._layout).read(e);return t?t.read(e).modifiedLine.bottom+yL+this._editor.editor.getScrollTop():0}),this._root=C.div({class:`word-replacement`},[V(this,e=>{let t=jF(this._layout).read(e);if(!t)return[];let n=mF(this._tabAction).map(e=>yn(e)).read(e),r=pF(this._tabAction).map(e=>yn(e)).read(e);this._line.style.lineHeight=`${t.read(e).modifiedLine.height+2}px`;let i=qi(!1),a=t.map(e=>e.alternativeAction),o=V(e=>(a.read(e)?.active.read(e)??!1)||i.read(e)),s=ou(this._themeService.onDidColorThemeChange,()=>{let e=this._themeService.getColorTheme();return e.type===`hcDark`||e.type===`hcLight`}).read(e)?_F(sl,this._themeService).read(e):null,c={borderColor:s?s.toString():r,backgroundColor:yn(QP),color:``,opacity:`1`},l={borderColor:s?s.toString():yn(eF),backgroundColor:yn(tF),color:yn($P),opacity:`1`},u={borderColor:s?s.toString():_F(jd,this._themeService).map(e=>e.transparent(.2).toString()).read(e),backgroundColor:gF(this._viewData.editorType),color:``,opacity:`0.7`},d=gF(this._viewData.editorType),f=V(this,e=>(o.read(e),c)),p=V(this,e=>o.read(e)?l:u);return[C.div({id:bL,style:{position:`absolute`,...MF(e=>CF(this._editor).read(e)),overflow:`hidden`,pointerEvents:`none`}},[C.div({style:{position:`absolute`,...MF(e=>t.read(e).lowerBackground.withMargin(yL,2,yL,0)),background:d,cursor:`pointer`,pointerEvents:`auto`},onmousedown:e=>this._mouseDown(e)}),C.div({id:xL,style:{position:`absolute`,...MF(e=>t.read(e).modifiedLine.withMargin(yL,2)),width:void 0,pointerEvents:`auto`,boxSizing:`border-box`,borderRadius:`3px`,background:d,display:`flex`,justifyContent:`left`,outline:`2px solid ${d}`},onmousedown:e=>this._mouseDown(e)},[C.div({id:SL,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:MF(e=>t.read(e).codeLine.withMargin(yL,2)).width,borderRadius:`3px`,border:f.map(e=>`${yL}px solid ${e.borderColor}`),boxSizing:`border-box`,padding:`${yL}px`,opacity:f.map(e=>e.opacity),background:f.map(e=>e.backgroundColor),display:`flex`,justifyContent:`left`,alignItems:`center`,pointerEvents:`auto`,cursor:`pointer`},obsRef:e=>{this._primaryElement.set(e,void 0)}},[this._line]),V(this,e=>{let t=a.read(e);if(!t)return;let n=document.createElement(`div`);return e.store.add(new Lf(n,ys,{...Tt,disableTitle:!0})).set(t.keybinding),C.div({id:CL,style:{position:`relative`,borderRadius:`3px`,borderTop:`${yL}px solid`,borderRight:`${yL}px solid`,borderBottom:`${yL}px solid`,borderLeft:`${yL}px solid`,borderColor:p.map(e=>e.borderColor),opacity:p.map(e=>e.opacity),color:p.map(e=>e.color),display:`flex`,justifyContent:`center`,alignItems:`center`,padding:`0 4px 0 1px`,marginLeft:`4px`,background:p.map(e=>e.backgroundColor),cursor:`pointer`,textWrap:`nowrap`},class:`inline-edit-alternative-action-label`,obsRef:e=>{this._secondaryElement.set(e,void 0)},ref:n=>{t.tooltip&&e.store.add(this._hoverService.setupDelayedHoverAtMouse(n,{content:t.tooltip,appearance:{compact:!0}}))}},[n,N(`div.inline-edit-alternative-action-label-separator`),t.icon?yt(t.icon):void 0,t.label])})]),C.div({style:{position:`absolute`,...MF(e=>t.read(e).originalLine.withMargin(yL)),boxSizing:`border-box`,borderRadius:`3px`,border:`${yL}px solid ${n}`,background:yn(XP),pointerEvents:`none`}},[]),C.svg({width:11,height:14,viewBox:`0 0 11 14`,fill:`none`,style:{position:`absolute`,left:t.map(e=>e.modifiedLine.left-16),top:t.map(e=>e.modifiedLine.top+Math.round((e.lineHeight-14-5)/2)),pointerEvents:`none`},onmousedown:e=>this._mouseDown(e)},[C.svgElem(`path`,{d:`M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5`,stroke:yn(jd)}),C.svgElem(`path`,{d:`M6 7.5L9.99999 10.49998L6 13.5`,stroke:yn(jd)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:qi(0),position:qi({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(e){let t=TL(e.target,new Set([xL,SL,CL,bL]));t&&(e.preventDefault(),this._onDidClick.fire(Dj.create(e,t===CL)))}};wL=gL([_L(3,Vo),_L(4,Xn),_L(5,Ta),_L(6,lu),_L(7,Ut)],wL);function TL(e,t){let n=e;for(;n;){if(t.has(n.id))return n.id;n=n.parentElement}return null}var EL=class extends K{constructor(e,t,n){super(),this._originalEditor=e,this._state=t,this._modifiedTextModel=n,this._onDidClick=this._register(new P),this.onDidClick=this._onDidClick.event,this.isHovered=gs(this._originalEditor).isTargetHovered(e=>e.target.type===6&&e.target.detail.injectedText?.options.attachedData instanceof DL&&e.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=AL(this._modifiedTextModel),this._decorations=V(this,e=>{let t=this._state.read(e);if(!t)return;let n=t.modifiedText,r=t.mode===`insertionInline`,i=t.diff.length===1&&t.diff[0].innerChanges?.length===1,a=[],o=[],s=F.register({className:`inlineCompletions-line-insert`,description:`line-insert`,isWholeLine:!0,marginClassName:`gutter-insert`}),c=F.register({className:`inlineCompletions-line-delete`,description:`line-delete`,isWholeLine:!0,marginClassName:`gutter-delete`}),l=F.register({className:`inlineCompletions-char-delete`,description:`char-delete`,isWholeLine:!1,zIndex:1}),u=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,isWholeLine:!0}),d=F.register({className:`inlineCompletions-char-insert`,description:`char-insert`,shouldFillLineOnLineBreak:!0}),f=F.register({className:`inlineCompletions-char-insert diff-range-empty`,description:`char-insert diff-range-empty`}),p=F.register({className:`inlineCompletions-original-lines`,description:`inlineCompletions-original-lines`,isWholeLine:!1,shouldFillLineOnLineBreak:!0}),m=t.mode!==`sideBySide`&&t.mode!==`deletion`&&t.mode!==`insertionInline`&&t.mode!==`lineReplacement`,h=t.mode===`lineReplacement`;for(let p of t.diff)if(m&&(p.original.isEmpty||a.push({range:p.original.toInclusiveRange(),options:c}),p.modified.isEmpty||o.push({range:p.modified.toInclusiveRange(),options:s})),p.modified.isEmpty||p.original.isEmpty)p.original.isEmpty||a.push({range:p.original.toInclusiveRange(),options:l}),p.modified.isEmpty||o.push({range:p.modified.toInclusiveRange(),options:u});else{let s=r&&OL(p);for(let r of p.innerChanges||[]){if(p.original.contains(r.originalRange.startLineNumber)&&!(h&&r.originalRange.isEmpty())){let e=this._originalEditor.getModel()?.getValueInRange(r.originalRange,1);a.push({range:r.originalRange,options:{description:`char-delete`,shouldFillLineOnLineBreak:!1,className:TF(`inlineCompletions-char-delete`,r.originalRange.isSingleLine()&&t.mode===`insertionInline`&&`single-line-inline`,r.originalRange.isEmpty()&&`empty`,(r.originalRange.isEmpty()&&i||t.mode===`deletion`&&e===`
|
|
42
42
|
`)&&!s&&`diff-range-empty`),inlineClassName:s?TF(`strike-through`,`inlineCompletions`):null,zIndex:1}})}if(p.modified.contains(r.modifiedRange.startLineNumber)&&o.push({range:r.modifiedRange,options:r.modifiedRange.isEmpty()&&!s&&i?f:d}),s){let i=n.getValueOfRange(r.modifiedRange),o=i.length>3?[{text:i.slice(0,1),extraClasses:[`start`],offsetRange:new li(r.modifiedRange.startColumn-1,r.modifiedRange.startColumn)},{text:i.slice(1,-1),extraClasses:[],offsetRange:new li(r.modifiedRange.startColumn,r.modifiedRange.endColumn-2)},{text:i.slice(-1),extraClasses:[`end`],offsetRange:new li(r.modifiedRange.endColumn-2,r.modifiedRange.endColumn-1)}]:[{text:i,extraClasses:[`start`,`end`],offsetRange:new li(r.modifiedRange.startColumn-1,r.modifiedRange.endColumn)}];this._tokenizationFinished.read(e);let s=this._modifiedTextModel.tokenization.getLineTokens(r.modifiedRange.startLineNumber);for(let{text:e,extraClasses:n,offsetRange:i}of o)a.push({range:w.fromPositions(r.originalRange.getEndPosition()),options:{description:`inserted-text`,before:{tokens:s.getTokensInRange(i),content:e,inlineClassName:TF(`inlineCompletions-char-insert`,r.modifiedRange.isSingleLine()&&t.mode===`insertionInline`&&`single-line-inline`,...n),cursorStops:zr.None,attachedData:new DL(this)},zIndex:2,showIfCollapsed:!0}})}}}if(t.editorType===Ij.DiffEditor)for(let e of t.diff)e.original.isEmpty||a.push({range:e.original.toExclusiveRange(),options:p});return{originalDecorations:a,modifiedDecorations:o}}),this._register(gs(this._originalEditor).setDecorations(this._decorations.map(e=>e?.originalDecorations??[])));let r=this._state.map(e=>e?.modifiedCodeEditor);this._register(Gs((e,t)=>{let n=r.read(e);n&&t.add(gs(n).setDecorations(this._decorations.map(e=>e?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp(e=>{if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options.attachedData;t instanceof DL&&t.owner===this&&this._onDidClick.fire(new Dj(e.event))}))}},DL=class{constructor(e){this.owner=e}};function OL(e){return e.innerChanges?e.innerChanges.every(e=>aa(e.modifiedRange)&&aa(e.originalRange)):!1}var kL=0;function AL(e){return ou(e.onDidChangeTokens,()=>kL++)}var jL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ML=function(e,t){return function(n,r){t(n,r,e)}},NL=class extends K{constructor(e,t,n,r,i,a){super(),this._editor=e,this._model=t,this._simpleModel=n,this._inlineSuggestInfo=r,this._showCollapsed=i,this._instantiationService=a,this._tabAction=V(e=>this._model.read(e)?.tabAction.read(e)??Ej.Inactive),this.displayRange=V(this,e=>{let t=this._uiState.read(e);if(t&&t.target.uri.toString()===this._editorObs.model.read(e)?.uri.toString()){if(t.state?.kind===`custom`){let e=t.state.displayLocation?.range;if(!e)throw new To(`custom view should have a range`);return new pn(e.startLineNumber,e.endLineNumber)}return t.state?.kind===`insertionMultiLine`?this._insertion.originalLines.read(e):t.edit.displayRange}}),this._currentInlineEditCache=void 0,this._uiState=V(this,e=>{let t=this._model.read(e),n=this._editorObs.model.read(e);if(!t||!n||!this._constructorDone.read(e))return;let r=t.inlineEdit,i,a,o;r.edit?(a=Yd.fromEdit(r.edit),o=new Ht(r.edit.apply(r.originalText)),i=Mf(a,r.originalText,o)):(a=[],i=[],o=r.originalText);let s=this._determineRenderState(t,e,i,o);if(!s){at(Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}let c=this._getLongDistanceHintState(t,e);if(c&&c.isVisible&&s.viewData.setLongDistanceViewData(c.lineNumber,r.lineEdit.lineRange.startLineNumber),s.viewData.isForAnotherDocument=!r.originalText.targets(n),s.kind===Oj.SideBySide){let e=kF(o.getValue(),r.modifiedLineRange,n.getOptions().tabSize);o=new Ht(e.applyToString(o.getValue())),a=wF(a,e),i=Mf(a,r.originalText,o)}this._previewTextModel.setLanguage(n.getLanguageId());let l=this._previewTextModel.getValue();if(l!==o.getValue()){this._previewTextModel.setEOL(n.getEndOfLineSequence());let e=Hc.replace(new li(0,l.length),o.getValue()).removeCommonSuffixPrefix(l),t=fA(this._previewTextModel).getTextEdit(e);this._previewTextModel.edit(t)}this._showCollapsed.read(e)&&(s={kind:Oj.Collapsed,viewData:s.viewData}),t.handleInlineEditShownNextFrame(s.kind,s.viewData);let u=r.action?.kind===`jumpTo`?r.action.position:null;return{state:s,diff:i,edit:r,newText:o.getValue(),newTextLineCount:r.modifiedLineRange.length,editorType:t.editorType,longDistanceHint:c,nextCursorPosition:u,target:r.inlineCompletion.originalTextRef}}),this.inlineEditsIsHovered=V(this,e=>this._sideBySide.isHovered.read(e)||this._wordReplacementViews.read(e).some(t=>t.isHovered.read(e))||this._deletion.isHovered.read(e)||this._inlineDiffView.isHovered.read(e)||this._lineReplacementView.isHovered.read(e)||this._insertion.isHovered.read(e)||this._customView.isHovered.read(e)||this._longDistanceHint.map((e,t)=>e?.isHovered.read(t)??!1).read(e)),this.gutterIndicatorOffset=V(this,e=>this._uiState.read(e)?.state?.kind===`insertionMultiLine`?this._insertion.startLineOffset.read(e):0),this._editorObs=gs(this._editor),this._constructorDone=ls(this,!1),this._previewTextModel=this._register(this._instantiationService.createInstance(Ll,``,this._editor.getModel().getLanguageId(),{...Ll.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._sideBySide=this._register(this._instantiationService.createInstance(hL,this._editor,this._model.map(e=>e?.inlineEdit),this._previewTextModel,this._uiState.map(e=>e&&e.state?.kind===Oj.SideBySide?{newTextLineCount:e.newTextLineCount,editorType:e.editorType}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(CI,this._editor,this._model.map(e=>e?.inlineEdit),this._uiState.map(e=>e&&e.state?.kind===Oj.Deletion?{originalRange:e.state.originalRange,deletions:e.state.deletions,editorType:e.editorType}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(AI,this._editor,this._uiState.map(e=>e&&e.state?.kind===Oj.InsertionMultiLine?{lineNumber:e.state.lineNumber,startColumn:e.state.column,text:e.state.text,editorType:e.editorType}:void 0),this._tabAction)),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(lI,this._editor,this._model.map((e,t)=>this._uiState.read(t)?.state?.kind===Oj.Collapsed?e?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(gI,this._editor,this._model.map((e,t)=>this._uiState.read(t)?.state?.kind===Oj.Custom?e?.displayLocation:void 0),this._tabAction,this._uiState.map(e=>e?.editorType??Ij.TextEditor))),this._showLongDistanceHint=this._editorObs.getOption(71).map(this,e=>e.edits.showLongDistanceHint),this._longDistanceHint=V(this,e=>{if(this._showLongDistanceHint.read(e))return e.store.add(this._instantiationService.createInstance(nL,this._editor,this._uiState.map((e,t)=>e?.longDistanceHint?{hint:e.longDistanceHint,newTextLineCount:e.newTextLineCount,edit:e.edit,diff:e.diff,editorType:e.editorType,model:this._simpleModel.read(t),inlineSuggestInfo:this._inlineSuggestInfo.read(t),nextCursorPosition:e.nextCursorPosition,target:e.target}:void 0),this._previewTextModel,this._tabAction))}).recomputeInitiallyAndOnChange(this._store),this._inlineDiffViewState=V(this,e=>{let t=this._uiState.read(e);if(t&&t.state&&t.state.kind!==`wordReplacements`&&t.state.kind!==`insertionMultiLine`&&t.state.kind!==`collapsed`&&t.state.kind!==`custom`&&t.state.kind!==`jumpTo`)return{modifiedText:new Ht(t.newText),diff:t.diff,mode:t.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,editorType:t.editorType}}),this._inlineDiffView=this._register(new EL(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._jumpToView=this._register(this._instantiationService.createInstance(RI,this._editorObs,{style:`label`},V(e=>{let t=this._uiState.read(e);if(t?.state?.kind===Oj.JumpTo)return{jumpToPosition:t.state.position}})));let o=Oc({equalsFn:vf.arrayC(vf.thisC())},e=>{let t=this._uiState.read(e);return t?.state?.kind===Oj.WordReplacements?t.state.replacements.map(e=>new vL(e,t.editorType,t.state?.alternativeAction)):[]});this._wordReplacementViews=zi(this,o,(e,t)=>t.add(this._instantiationService.createInstance(wL,this._editorObs,e,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(NI,this._editorObs,this._uiState.map(e=>e?.state?.kind===Oj.LineReplacement?{originalRange:e.state.originalRange,modifiedRange:e.state.modifiedRange,modifiedLines:e.state.modifiedLines,replacements:e.state.replacements}:void 0),this._uiState.map(e=>e?.editorType??Ij.TextEditor),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map(e=>e.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map(e=>e.edits.renderSideBySide),this._register(Fl(e=>{let t=this._model.read(e);t&&e.store.add(gu.any(this._sideBySide.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(e).map(e=>e.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)(e=>{this._viewHasBeenShownLongerThan(350)&&(e.event.preventDefault(),t.accept(e.alternativeAction))}))})),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store);let s=V(this,e=>Math.max(...this._wordReplacementViews.read(e).map(t=>t.minEditorScrollHeight.read(e)),this._lineReplacementView.minEditorScrollHeight.read(e),this._customView.minEditorScrollHeight.read(e))).recomputeInitiallyAndOnChange(this._store),c;this._register(Fl(e=>{let t=s.read(e),n=this._editorObs.model.read(e);n&&this._editor.changeViewZones(e=>{let r=this._editor.getScrollHeight(),i=t-r+1;i!==0&&c!==void 0&&(e.removeZone(c),c=void 0),i<=0||(c=e.addZone({afterLineNumber:n.getLineCount(),heightInPx:i,domNode:N(`div.minScrollHeightViewZone`)}))})})),this._constructorDone.set(!0,void 0)}_getLongDistanceHintState(e,t){if(e.inlineEdit.inlineCompletion.identity.jumpedTo.read(t)||e.inlineEdit.action===void 0)return;let n=this._editorObs.model.read(t);return!n||!e.inlineEdit.originalText.targets(n)?{isVisible:!0,lineNumber:e.inlineEdit.cursorPosition.lineNumber}:(this._currentInlineEditCache?.inlineSuggestionIdentity!==e.inlineEdit.inlineCompletion.identity&&(this._currentInlineEditCache={inlineSuggestionIdentity:e.inlineEdit.inlineCompletion.identity,firstCursorLineNumber:e.inlineEdit.cursorPosition.lineNumber}),{lineNumber:this._currentInlineEditCache.firstCursorLineNumber,isVisible:!e.inViewPort.read(t)})}_getCacheId(e){return e.inlineEdit.inlineCompletion.identity.id}_determineView(e,t,n,r){let i=e.inlineEdit,a=this._previousView?.id===this._getCacheId(e)&&this._previousView?.uri.toString()===this._editorObs.model.get().uri.toString(),o=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(t)&&(this._previousView?.view===Oj.SideBySide||this._previousView?.view===Oj.LineReplacement);if(a&&!o)return this._previousView.view;let s=e.inlineEdit.inlineCompletion.action;if(s?.kind===`edit`&&s.alternativeAction)return Oj.WordReplacements;let c=e.inlineEdit.inlineCompletion.originalTextRef.uri,l=this._editorObs.model.read(t)?.uri;if(l&&c.toString()!==l.toString()||e.displayLocation&&!e.inlineEdit.inlineCompletion.identity.jumpedTo.read(t))return Oj.Custom;let u=i.originalLineRange.length,d=i.modifiedLineRange.length,f=n.flatMap(e=>e.innerChanges??[]),p=f.length===1;if(e.editorType!==Ij.DiffEditor){if(p&&this._useCodeShifting.read(t)!==`never`&&IL(n))return LL(n,i.cursorPosition)?Oj.InsertionInline:Oj.LineReplacement;if(zL(f,i,r))return Oj.Deletion;if(RL(n)&&this._useCodeShifting.read(t)===`always`)return Oj.InsertionMultiLine;if(f.every(e=>wa.ofRange(e.originalRange).columnCount<wL.MAX_LENGTH&&wa.ofRange(e.modifiedRange).columnCount<wL.MAX_LENGTH)&&p&&u===1&&d===1){let t=f.map(e=>r.getValueOfRange(e.modifiedRange)),n=f.map(t=>e.inlineEdit.originalText.getValueOfRange(t.originalRange));if(!t.some(e=>e.includes(` `))&&!n.some(e=>e.includes(` `))&&(!f.some(e=>e.originalRange.isEmpty())||!VL(f.map(e=>new bf(e.originalRange,``)),i.originalText).some(e=>e.range.isEmpty()&&wa.ofRange(e.range).columnCount<wL.MAX_LENGTH)))return Oj.WordReplacements}}if(u>0&&d>0)return u===1&&d===1&&e.editorType!==Ij.DiffEditor?Oj.LineReplacement:this._renderSideBySide.read(t)!==`never`&&hL.fitsInsideViewport(this._editor,this._previewTextModel,i,t)?Oj.SideBySide:Oj.LineReplacement;if(e.editorType===Ij.DiffEditor){if(zL(f,i,r))return Oj.Deletion;if(RL(n)&&this._useCodeShifting.read(t)===`always`)return Oj.InsertionMultiLine}return Oj.SideBySide}_determineRenderState(e,t,n,r){if(e.inlineEdit.action?.kind===`jumpTo`)return{kind:Oj.JumpTo,position:e.inlineEdit.action.position,viewData:PL()};let i=e.inlineEdit,a=this._determineView(e,t,n,r);if(this._willRenderAboveCursor(t,i,a))switch(a){case Oj.LineReplacement:case Oj.WordReplacements:a=Oj.SideBySide}this._previousView={id:this._getCacheId(e),view:a,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now(),uri:this._editorObs.model.get().uri};let o=n.flatMap(e=>e.innerChanges??[]),s=this._editor.getModel(),c=o.map(e=>({originalRange:e.originalRange,modifiedRange:e.modifiedRange,original:i.originalText.getValueOfRange(e.originalRange),modified:r.getValueOfRange(e.modifiedRange)})),l=FL(i,c,s);switch(a){case Oj.InsertionInline:return{kind:Oj.InsertionInline,viewData:l};case Oj.SideBySide:return{kind:Oj.SideBySide,viewData:l};case Oj.Collapsed:return{kind:Oj.Collapsed,viewData:l};case Oj.Custom:return{kind:Oj.Custom,displayLocation:e.displayLocation,viewData:l}}if(a===Oj.Deletion)return{kind:Oj.Deletion,originalRange:i.originalLineRange,deletions:o.map(e=>e.originalRange),viewData:l};if(a===Oj.InsertionMultiLine){let e=o[0];return{kind:Oj.InsertionMultiLine,lineNumber:e.originalRange.startLineNumber,column:e.originalRange.startColumn,text:r.getValueOfRange(e.modifiedRange),viewData:l}}let u=c.map(e=>new bf(e.originalRange,e.modified));if(u.length!==0){if(a===Oj.WordReplacements){let t=BL(u,i.originalText);return t.some(e=>e.range.isEmpty())&&(t=VL(u,i.originalText)),{kind:Oj.WordReplacements,replacements:t,alternativeAction:e.inlineEdit.action?.alternativeAction,viewData:l}}if(a===Oj.LineReplacement)return{kind:Oj.LineReplacement,originalRange:i.originalLineRange,modifiedRange:i.modifiedLineRange,modifiedLines:i.modifiedLineRange.mapToLineArray(e=>r.getLineAt(e)),replacements:o.map(e=>({originalRange:e.originalRange,modifiedRange:e.modifiedRange})),viewData:l}}}_willRenderAboveCursor(e,t,n){if(this._useCodeShifting.read(e)===`always`)return!1;for(let e of t.multiCursorPositions)if(n===Oj.WordReplacements&&e.lineNumber===t.originalLineRange.startLineNumber+1||n===Oj.LineReplacement&&e.lineNumber>=t.originalLineRange.endLineNumberExclusive&&e.lineNumber<t.modifiedLineRange.endLineNumberExclusive+t.modifiedLineRange.length)return!0;return!1}_viewHasBeenShownLongerThan(e){let t=this._previousView?.timestamp;if(!t)throw new To(`viewHasBeenShownLongThan called before a view has been shown`);return Date.now()-t>=e}};NL=jL([ML(5,W)],NL);var PL=()=>new kj(-1,-1,-1,-1,-1,-1,-1,!0);function FL(e,t,n){if(!e.edit)return PL();let r=e.cursorPosition,i=t.length!==0&&t[0].modified.startsWith(n.getEOL());return new kj(e.edit.replacements.length===0?0:e.edit.replacements[0].range.getStartPosition().column-r.column,e.lineEdit.lineRange.startLineNumber-r.lineNumber+(i&&e.lineEdit.lineRange.startLineNumber>=r.lineNumber?1:0),e.lineEdit.lineRange.length,e.lineEdit.newLines.length,t.reduce((e,t)=>e+t.original.length,0),t.reduce((e,t)=>e+t.modified.length,0),t.length,t.every(e=>e.original===t[0].original&&e.modified===t[0].modified))}function IL(e){return e.every(e=>e.innerChanges.every(e=>t(e)));function t(e){return!(!e.originalRange.isEmpty()||e.modifiedRange.startLineNumber!==e.modifiedRange.endLineNumber)}}function LL(e,t){if(!t||!IL(e))return!1;let n=t;return e.every(e=>e.innerChanges.every(e=>r(e)));function r(e){let t=e.originalRange.getStartPosition();return!!(n.isBeforeOrEqual(t)||t.lineNumber<n.lineNumber)}}function RL(e){let t=e.flatMap(e=>e.innerChanges??[]);if(t.length!==1)return!1;let n=t[0];return!(!n.originalRange.isEmpty()||n.modifiedRange.startLineNumber===n.modifiedRange.endLineNumber)}function zL(e,t,n){return e.map(e=>({original:t.originalText.getValueOfRange(e.originalRange),modified:n.getValueOfRange(e.modifiedRange)})).every(({original:e,modified:t})=>t.trim()===``&&e.length>0&&(e.length>t.length||e.trim()!==``))}function BL(e,t){return HL(e,t,e=>/^[a-zA-Z]$/.test(e))}function VL(e,t){return HL(e,t,e=>!/^\s$/.test(e))}function HL(e,t,n){let r=[];e.sort((e,t)=>w.compareRangesUsingStarts(e.range,t.range));for(let n of e){let e=n.range.startColumn-1,a=n.range.endColumn-2,o=``,s=``,c=t.getLineAt(n.range.startLineNumber),l=t.getLineAt(n.range.endLineNumber);if(i(c[e]))for(;i(c[e-1]);)o=c[e-1]+o,e--;if(i(l[a])||a<e)for(;i(l[a+1]);)s+=l[a+1],a++;let u=new bf(new w(n.range.startLineNumber,e+1,n.range.endLineNumber,a+2),o+n.text+s);r.length>0&&w.areIntersectingOrTouching(r[r.length-1].range,u.range)&&(u=bf.joinReplacements([r.pop(),u],t)),r.push(u)}function i(e){return e!==void 0&&n(e)}return r}var UL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},WL=function(e,t){return function(n,r){t(n,r,e)}},GL=class extends K{constructor(e,t,n,r){super(),this._editor=e,this._model=t,this._showCollapsed=n,this._inlineEdit=V(this,e=>{let t=this._model.read(e);if(!t||!this._editor.getModel())return;let n=t.inlineEditState.read(e);if(!n)return;let r=n.inlineSuggestion.action,i;if(r?.kind===`edit`){let e=r.stringEdit,t=n.inlineSuggestion.originalTextRef.getTransformer(),a=e.replacements.map(e=>{let n=w.fromPositions(t.getPosition(e.replaceRange.start),t.getPosition(e.replaceRange.endExclusive));return new bf(n,e.newText)});i=new Cs(a)}else i=void 0;return new aI(n.inlineSuggestion.originalTextRef,r,i,t.primaryPosition.read(void 0),t.allPositions.read(void 0),n.inlineSuggestion.source.inlineSuggestions.commands??[],n.inlineSuggestion)}),this._inlineEditModel=V(this,e=>{let t=this._model.read(e);if(!t)return;let n=this._inlineEdit.read(e);return n?new oI(t,n,V(this,e=>{if(this._editorObs.isFocused.read(e)){if(t.tabShouldJumpToInlineEdit.read(e))return Ej.Jump;if(t.tabShouldAcceptInlineEdit.read(e))return Ej.Accept}return Ej.Inactive})):void 0}),this._editorObs=gs(this._editor),this.view=this._register(r.createInstance(NL,this._editor,this._inlineEditModel,this._model.map(e=>e?KF.fromInlineCompletionModel(e):void 0),this._inlineEdit.map(e=>e?GF.fromInlineSuggestion(e.inlineCompletion):void 0),this._showCollapsed))}};GL=UL([WL(3,W)],GL);var KL=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qL=function(e,t){return function(n,r){t(n,r,e)}},JL=class extends K{static{this.hot=ni(this)}constructor(e,t,n,r){super(),this._editor=e,this._model=t,this._focusIsInMenu=n,this._instantiationService=r,this._ghostTexts=V(this,e=>this._model.read(e)?.ghostTexts.read(e)??[]),this._inlineEdit=V(this,e=>this._model.read(e)?.inlineEditState.read(e)?.inlineSuggestion),this._everHadInlineEdit=Io(this,(e,t)=>t||!!this._inlineEdit.read(e)||!!this._model.read(e)?.inlineCompletionState.read(e)?.inlineSuggestion?.showInlineEditMenu),this._indicatorIsHoverVisible=ls(this,void 0),this._showInlineEditCollapsed=V(this,e=>(this._model.read(e)?.showCollapsed.read(e)??!1)&&!this._indicatorIsHoverVisible.read(e)?.read(e)),this._inlineEditWidget=ql(e=>{if(this._everHadInlineEdit.read(e))return this._instantiationService.createInstance(GL,this._editor,this._model,this._showInlineEditCollapsed)}),this._gutterIndicatorState=V(e=>{let t=this._model.read(e);if(!t)return;let n=t.state.read(e);if(n?.kind===`ghostText`&&n.inlineSuggestion?.showInlineEditMenu)return{displayRange:pn.ofLength(n.primaryGhostText.lineNumber,1),tabAction:V(this,e=>this._editorObs.isFocused.read(e)?Ej.Accept:Ej.Inactive),gutterIndicatorOffset:qi(YL(n.inlineSuggestion,this._editor)),inlineSuggestion:n.inlineSuggestion,model:t};if(n?.kind===`inlineEdit`){let r=this._inlineEditWidget.read(e)?.view;if(!r)return;let i=r.displayRange.read(e);return i?{displayRange:i,tabAction:V(e=>{if(this._editorObs.isFocused.read(e)){if(t.tabShouldJumpToInlineEdit.read(e))return Ej.Jump;if(t.tabShouldAcceptInlineEdit.read(e))return Ej.Accept}return Ej.Inactive}),gutterIndicatorOffset:r.gutterIndicatorOffset,inlineSuggestion:n.inlineSuggestion,model:t}:void 0}}),this._stablizedGhostTexts=yA(this._ghostTexts,this._store),this._editorObs=gs(this._editor),this._ghostTextWidgets=zi(this,this._stablizedGhostTexts,(e,t)=>t.add(this._createGhostText(e))).recomputeInitiallyAndOnChange(this._store),this._inlineEditWidget.recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map(e=>e.fontFamily),this._register(Un(V(e=>`
|
|
43
43
|
.monaco-editor .ghost-text-decoration,
|
|
44
44
|
.monaco-editor .ghost-text-decoration-preview,
|
|
@@ -49,4 +49,4 @@ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{A as t,Ct as n,Et as r
|
|
|
49
49
|
`);return new e(t,n,i,l,a,o,u)}constructor(e,t,n,r,i,a,o){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=r,this.wholeWord=i,this.matchCase=a,this.currentMatch=o}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();return e?new Mz(this._editor.getSelections().concat(e),e,0):null}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();if(!e)return null;let t=this._editor.getSelections();return new Mz(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return n?new J(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();return e?new Mz(this._editor.getSelections().concat(e),e,0):null}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();if(!e)return null;let t=this._editor.getSelections();return new Mz(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return n?new J(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();let t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}},Pz=class e extends K{static{this.ID=`editor.contrib.multiCursorController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._sessionDispose=this._register(new I),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){let t=Nz.create(this._editor,e);if(!t)return;this._session=t;let n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(e=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(e=>{(e.matchCase||e.wholeWord)&&this._endSession()}))}}_endSession(){this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController&&this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1),this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;let n=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return n?new J(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){let t=this._editor.getSelections();if(t.length>1){let n=e.getState().matchCase;if(!Wz(this._editor.getModel(),t,n)){let e=this._editor.getModel(),n=[];for(let r=0,i=t.length;r<i;r++)n[r]=this._expandEmptyToWord(e,t[r]);this._editor.setSelections(n);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null,n=e.getState();if(n.isRevealed&&n.searchString.length>0&&n.isRegex){let e=this._editor.getModel();t=n.searchScope?e.findMatches(n.searchString,n.searchScope,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(148):null,!1,1073741824):e.findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(n.searchScope)}if(t.length>0){let e=this._editor.getSelection();for(let n=0,r=t.length;n<r;n++){let r=t[n];if(r.range.intersectRanges(e)){t[n]=t[0],t[0]=r;break}}this._setSelections(t.map(e=>new J(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)))}}},Fz=class extends G{run(e,t){let n=Pz.get(t);if(!n)return;let r=t._getViewModel();if(r){let i=r.getCursorStates(),a=kw.get(t);if(a)this._run(n,a);else{let r=e.get(W).createInstance(kw,t);this._run(n,r),r.dispose()}Ez(i,r.getCursorStates())}}},Iz=class extends Fz{constructor(){super({id:`editor.action.addSelectionToNextFindMatch`,label:R(1369,`Add Selection to Next Find Match`),precondition:void 0,kbOpts:{kbExpr:D.focus,primary:2082,weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`3_multi`,title:S(1359,`Add &&Next Occurrence`),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}},Lz=class extends Fz{constructor(){super({id:`editor.action.addSelectionToPreviousFindMatch`,label:R(1370,`Add Selection to Previous Find Match`),precondition:void 0,menuOpts:{menuId:O.MenubarSelectionMenu,group:`3_multi`,title:S(1360,`Add P&&revious Occurrence`),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}},Rz=class extends Fz{constructor(){super({id:`editor.action.moveSelectionToNextFindMatch`,label:R(1371,`Move Last Selection to Next Find Match`),precondition:void 0,kbOpts:{kbExpr:D.focus,primary:jr(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}},zz=class extends Fz{constructor(){super({id:`editor.action.moveSelectionToPreviousFindMatch`,label:R(1372,`Move Last Selection to Previous Find Match`),precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}},Bz=class extends Fz{constructor(){super({id:`editor.action.selectHighlights`,label:R(1373,`Select All Occurrences of Find Match`),precondition:void 0,kbOpts:{kbExpr:D.focus,primary:3114,weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`3_multi`,title:S(1361,`Select All &&Occurrences`),order:7}})}_run(e,t){e.selectAll(t)}},Vz=class extends Fz{constructor(){super({id:`editor.action.changeAll`,label:R(1374,`Change All Occurrences`),precondition:T.and(D.writable,D.editorTextFocus),kbOpts:{kbExpr:D.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:`1_modification`,order:1.2}})}_run(e,t){e.selectAll(t)}},Hz=class{constructor(e,t,n,r,i){this._model=e,this._searchText=t,this._matchCase=n,this._wordSeparators=r,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),i&&this._model===i._model&&this._searchText===i._searchText&&this._matchCase===i._matchCase&&this._wordSeparators===i._wordSeparators&&this._modelVersionId===i._modelVersionId&&(this._cachedFindMatches=i._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(w.compareRangesUsingStarts)),this._cachedFindMatches}},Uz=class extends K{static{Tz=this}static{this.ID=`editor.contrib.selectionHighlighter`}constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Lr(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(t=>{this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123)})),this._register(e.onDidChangeCursorSelection(e=>{this._isEnabled&&(e.selection.isEmpty()?e.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(e=>{this._setState(null)})),this._register(e.onDidChangeModelContent(e=>{this._isEnabled&&this.updateSoon.schedule()}));let n=kw.get(e);n&&this._register(n.getState().onFindReplaceStateChange(e=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(Tz._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(e,t,n,r,i){if(!t||!i.hasModel())return null;if(!n){let e=i.getSelection();if(e.startLineNumber!==e.endLineNumber)return null}let a=Pz.get(i);if(!a)return null;let o=kw.get(i);if(!o)return null;let s=a.getSession(o);if(!s){let e=i.getSelections();if(e.length>1){let t=o.getState().matchCase;if(!Wz(i.getModel(),e,t))return null}s=Nz.create(i,o)}if(!s||s.currentMatch||/^[ \t]+$/.test(s.searchText)||r>0&&s.searchText.length>r)return null;let c=o.getState(),l=c.matchCase;if(c.isRevealed){let e=c.searchString;l||(e=e.toLowerCase());let t=s.searchText;if(l||(t=t.toLowerCase()),e===t&&s.matchCase===c.matchCase&&s.wholeWord===c.wholeWord&&!c.isRegex)return null}return new Hz(i.getModel(),s.searchText,s.matchCase,s.wholeWord?i.getOption(148):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;let t=this.editor.getModel();if(t.isTooLargeForTokenization())return;let n=this.state.findMatches(),r=this.editor.getSelections();r.sort(w.compareRangesUsingStarts);let i=[];for(let e=0,t=0,a=n.length,o=r.length;e<a;){let a=n[e];if(t>=o)i.push(a),e++;else{let n=w.compareRangesUsingStarts(a,r[t]);n<0?((r[t].isEmpty()||!w.areIntersecting(a,r[t]))&&i.push(a),e++):(n>0||e++,t++)}}let a=this.editor.getOption(90)!==`off`,o=this._languageFeaturesService.documentHighlightProvider.has(t)&&a,s=i.map(e=>({range:e,options:Sz(o)}));this._decorations.set(s)}dispose(){this._setState(null),super.dispose()}};Uz=Tz=Cz([wz(1,z)],Uz);function Wz(e,t,n){let r=Gz(e,t[0],!n);for(let i=1,a=t.length;i<a;i++){let a=t[i];if(a.isEmpty()||r!==Gz(e,a,!n))return!1}return!0}function Gz(e,t,n){let r=e.getValueInRange(t);return n?r.toLowerCase():r}var Kz=class extends G{constructor(){super({id:`editor.action.focusNextCursor`,label:R(1375,`Focus Next Cursor`),metadata:{description:S(1362,`Focuses the next cursor`),args:[]},precondition:void 0})}run(e,t,n){if(!t.hasModel())return;let r=t._getViewModel();if(r.cursorConfig.readOnly)return;r.model.pushStackElement();let i=Array.from(r.getCursorStates()),a=i.shift();a&&(i.push(a),r.setCursorStates(n.source,3,i),r.revealPrimaryCursor(n.source,!0),Ez(i,r.getCursorStates()))}},qz=class extends G{constructor(){super({id:`editor.action.focusPreviousCursor`,label:R(1376,`Focus Previous Cursor`),metadata:{description:S(1363,`Focuses the previous cursor`),args:[]},precondition:void 0})}run(e,t,n){if(!t.hasModel())return;let r=t._getViewModel();if(r.cursorConfig.readOnly)return;r.model.pushStackElement();let i=Array.from(r.getCursorStates()),a=i.pop();a&&(i.unshift(a),r.setCursorStates(n.source,3,i),r.revealPrimaryCursor(n.source,!0),Ez(i,r.getCursorStates()))}};Ls(Pz.ID,Pz,4),Ls(Uz.ID,Uz,1),B(Dz),B(Oz),B(kz),B(Iz),B(Lz),B(Rz),B(zz),B(Bz),B(Vz),B(Az),B(jz),B(Kz),B(qz);var Jz={Visible:new M(`parameterHintsVisible`,!1),MultipleSignatures:new M(`parameterHintsMultipleSignatures`,!1)};async function Yz(e,t,n,r,i){let a=e.ordered(t);for(let e of a)try{let a=await e.provideSignatureHelp(t,n,i,r);if(a)return a}catch(e){ec(e)}}zn.registerCommand(`_executeSignatureHelpProvider`,async(e,...t)=>{let[n,r,i]=t;tr(Qn.isUri(n)),tr(j.isIPosition(r)),tr(typeof i==`string`||!i);let a=e.get(z),o=await e.get(Ki).createModelReference(n);try{let e=await Yz(a.signatureHelpProvider,o.object.textEditorModel,j.lift(r),{triggerKind:fi.Invoke,isRetrigger:!1,triggerCharacter:i},E.None);return e?(setTimeout(()=>e.dispose(),0),e.value):void 0}finally{o.dispose()}});var Xz;(function(e){e.Default={type:0};class t{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}}e.Pending=t;class n{constructor(e){this.hints=e,this.type=1}}e.Active=n})(Xz||={});var Zz=class e extends K{static{this.DEFAULT_DELAY=120}constructor(t,n,r=e.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new P),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Xz.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new fc),this.triggerChars=new Yn,this.retriggerChars=new Yn,this.triggerId=0,this.editor=t,this.providers=n,this.throttledDelayer=this._register(new rr(r)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(e=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(e=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(e=>this.onCursorChange(e))),this._register(this.editor.onDidChangeModelContent(e=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(e=>this.onDidType(e))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=Xz.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){let n=this.editor.getModel();if(!n||!this.providers.has(n))return;let r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(at)}next(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t%e===e-1,r=this.editor.getOption(98).cycle;(e<2||n)&&!r?this.cancel():this.updateActiveSignature(n&&r?0:t+1)}previous(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t===0,r=this.editor.getOption(98).cycle;(e<2||n)&&!r?this.cancel():this.updateActiveSignature(n&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new Xz.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){let t=this.state.type===1||this.state.type===2,n=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;let r=this._pendingTriggers.reduce(Qz);this._pendingTriggers=[];let i={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:n};if(!this.editor.hasModel())return!1;let a=this.editor.getModel(),o=this.editor.getPosition();this.state=new Xz.Pending(kt(e=>Yz(this.providers,a,o,i,e)),n);try{let t=await this.state.request;return e===this.triggerId?!t||!t.value.signatures||t.value.signatures.length===0?(t?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new Xz.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(t?.dispose(),!1)}catch(t){return e===this.triggerId&&(this.state=Xz.Default),at(t),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();let e=this.editor.getModel();if(e)for(let t of this.providers.ordered(e)){for(let e of t.signatureHelpTriggerCharacters||[])if(e.length){let t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(let e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;let t=e.length-1,n=e.charCodeAt(t);(this.triggerChars.has(n)||this.isTriggered&&this.retriggerChars.has(n))&&this.trigger({triggerKind:fi.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source===`mouse`?this.cancel():this.isTriggered&&this.trigger({triggerKind:fi.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:fi.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(98).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};function Qz(e,t){switch(t.triggerKind){case fi.Invoke:return t;case fi.ContentChange:return e;case fi.TriggerCharacter:default:return t}}var $z=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eB=function(e,t){return function(n,r){t(n,r,e)}},tB,nB=N,rB=Mr(`parameter-hints-next`,A.chevronDown,S(1378,`Icon for show next parameter hint.`)),iB=Mr(`parameter-hints-previous`,A.chevronUp,S(1379,`Icon for show previous parameter hint.`)),aB=class extends K{static{tB=this}static{this.ID=`editor.widget.parameterHintsWidget`}constructor(e,t,n,r){super(),this.editor=e,this.model=t,this.markdownRendererService=r,this.renderDisposeables=this._register(new I),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=Jz.Visible.bindTo(n),this.keyMultipleSignatures=Jz.MultipleSignatures.bindTo(n)}createParameterHintDOMNodes(){let e=nB(`.editor-widget.parameter-hints-widget`),t=q(e,nB(`.phwrapper`));t.tabIndex=-1;let n=q(t,nB(`.controls`)),r=q(n,nB(`.button`+H.asCSSSelector(iB))),i=q(n,nB(`.overloads`)),a=q(n,nB(`.button`+H.asCSSSelector(rB)));this._register(L(r,`click`,e=>{As.stop(e),this.previous()})),this._register(L(a,`click`,e=>{As.stop(e),this.next()}));let o=nB(`.body`),s=new la(o,{alwaysConsumeMouseWheel:!0});this._register(s),t.appendChild(s.getDomNode());let c=q(o,nB(`.signature`)),l=q(o,nB(`.docs`));e.style.userSelect=`text`,this.domNodes={element:e,signature:c,overloads:i,docs:l,scrollbar:s},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(e=>{this.visible&&this.editor.layoutContentWidget(this)}));let u=()=>{if(!this.domNodes)return;let e=this.editor.getOption(59),t=this.domNodes.element;t.style.fontSize=`${e.fontSize}px`,t.style.lineHeight=`${e.lineHeight/e.fontSize}`,t.style.setProperty(`--vscode-parameterHintsWidget-editorFontFamily`,e.fontFamily),t.style.setProperty(`--vscode-parameterHintsWidget-editorFontFamilyDefault`,Zu.fontFamily)};u(),this._register(gu.chain(this.editor.onDidChangeConfiguration.bind(this.editor),e=>e.filter(e=>e.hasChanged(59)))(u)),this._register(this.editor.onDidLayoutChange(e=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add(`visible`)},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove(`visible`),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;let t=e.signatures.length>1;this.domNodes.element.classList.toggle(`multiple`,t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText=``,this.domNodes.docs.innerText=``;let n=e.signatures[e.activeSignature];if(!n)return;let r=q(this.domNodes.signature,nB(`.code`)),i=n.parameters.length>0,a=n.activeParameter??e.activeParameter;if(i)this.renderParameters(r,n,a);else{let e=q(r,nB(`span`));e.textContent=n.label}let o=n.parameters[a];if(o?.documentation){let e=nB(`span.documentation`);if(typeof o.documentation==`string`)e.textContent=o.documentation;else{let t=this.renderMarkdownDocs(o.documentation);e.appendChild(t.element)}q(this.domNodes.docs,nB(`p`,{},e))}if(n.documentation!==void 0){if(typeof n.documentation==`string`)q(this.domNodes.docs,nB(`p`,{},n.documentation));else{let e=this.renderMarkdownDocs(n.documentation);q(this.domNodes.docs,e.element)}}let s=this.hasDocs(n,o);if(this.domNodes.signature.classList.toggle(`has-docs`,s),this.domNodes.docs.classList.toggle(`empty`,!s),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,`0`)+`/`+e.signatures.length,o){let e=``,t=n.parameters[a];e=Array.isArray(t.label)?n.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+=typeof t.documentation==`string`?`, ${t.documentation}`:`, ${t.documentation.value}`),n.documentation&&(e+=typeof n.documentation==`string`?`, ${n.documentation}`:`, ${n.documentation.value}`),this.announcedLabel!==e&&(Co(S(1380,`{0}, hint`,e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){let t=this.renderDisposeables.add(this.markdownRendererService.render(e,{context:this.editor,asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));return t.element.classList.add(`markdown-docs`),t}hasDocs(e,t){return!!(t&&typeof t.documentation==`string`&&xn(t.documentation).length>0||t&&typeof t.documentation==`object`&&xn(t.documentation).value.length>0||e.documentation&&typeof e.documentation==`string`&&xn(e.documentation).length>0||e.documentation&&typeof e.documentation==`object`&&xn(e.documentation.value).length>0)}renderParameters(e,t,n){let[r,i]=this.getParameterLabelOffsets(t,n),a=document.createElement(`span`);a.textContent=t.label.substring(0,r);let o=document.createElement(`span`);o.textContent=t.label.substring(r,i),o.className=`parameter active`;let s=document.createElement(`span`);s.textContent=t.label.substring(i),q(e,a,o,s)}getParameterLabelOffsets(e,t){let n=e.parameters[t];if(!n)return[0,0];if(Array.isArray(n.label))return n.label;if(n.label.length){let t=RegExp(`(\\W|^)${od(n.label)}(?=\\W|$)`,`g`);t.test(e.label);let r=t.lastIndex-n.label.length;return r>=0?[r,t.lastIndex]:[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return tB.ID}updateMaxHeight(){if(!this.domNodes)return;let e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;let t=this.domNodes.element.getElementsByClassName(`phwrapper`);t.length&&(t[0].style.maxHeight=e)}};aB=tB=$z([eB(2,Ra),eB(3,Ca)],aB),k(`editorHoverWidget.highlightForeground`,Tr,S(1381,`Foreground color of the active item in the parameter hint.`));var oB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sB=function(e,t){return function(n,r){t(n,r,e)}},cB,lB=class extends K{static{cB=this}static{this.ID=`editor.controller.parameterHints`}static get(e){return e.getContribution(cB.ID)}constructor(e,t,n){super(),this.editor=e,this.model=this._register(new Zz(e,n.signatureHelpProvider)),this._register(this.model.onChangedHints(e=>{e?(this.widget.value.show(),this.widget.value.render(e)):this.widget.rawValue?.hide()})),this.widget=new Pc(()=>this._register(t.createInstance(aB,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(e){this.model.trigger(e,0)}};lB=cB=oB([sB(1,W),sB(2,z)],lB);var uB=class extends G{constructor(){super({id:`editor.action.triggerParameterHints`,label:R(1377,`Trigger Parameter Hints`),precondition:D.hasSignatureHelpProvider,kbOpts:{kbExpr:D.editorTextFocus,primary:3082,weight:100}})}run(e,t){lB.get(t)?.trigger({triggerKind:fi.Invoke})}};Ls(lB.ID,lB,2),B(uB);var dB=175,fB=id.bindToContribution(lB.get);U(new fB({id:`closeParameterHints`,precondition:Jz.Visible,handler:e=>e.cancel(),kbOpts:{weight:dB,kbExpr:D.focus,primary:9,secondary:[1033]}})),U(new fB({id:`showPrevParameterHint`,precondition:T.and(Jz.Visible,Jz.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:dB,kbExpr:D.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),U(new fB({id:`showNextParameterHint`,precondition:T.and(Jz.Visible,Jz.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:dB,kbExpr:D.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var pB=class extends K{static{this.ID=`editor.contrib.placeholderText`}constructor(e){super(),this._editor=e,this._editorObs=gs(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=Oc({owner:this,equalsFn:Sa},e=>{let t=this._placeholderText.read(e);if(t&&this._editorObs.valueIsEmpty.read(e))return{placeholder:t}}),this._shouldViewBeAlive=mB(this,e=>this._state.read(e)?.placeholder!==void 0),this._view=V(e=>{if(!this._shouldViewBeAlive.read(e))return;let t=Kr(`div.editorPlaceholder`);e.store.add(Fl(e=>{let n=this._state.read(e),r=n?.placeholder!==void 0;t.root.style.display=r?`block`:`none`,t.root.innerText=n?.placeholder??``})),e.store.add(Fl(e=>{let n=this._editorObs.layoutInfo.read(e);t.root.style.left=`${n.contentLeft}px`,t.root.style.width=n.contentWidth-n.verticalScrollbarWidth+`px`,t.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),e.store.add(Fl(e=>{t.root.style.fontFamily=this._editorObs.getOption(58).read(e),t.root.style.fontSize=this._editorObs.getOption(61).read(e)+`px`,t.root.style.lineHeight=this._editorObs.getOption(75).read(e)+`px`})),e.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:qi(0),position:qi(null),domNode:t.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};function mB(e,t){return Io(e,(e,n)=>n===!0||t(e))}var hB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gB=function(e,t){return function(n,r){t(n,r,e)}},_B=class{constructor(e){this.instantiationService=e}init(...e){}};function vB(e){return e()}var yB=class extends _B{constructor(e,t){super(t),this.init(e)}};yB=hB([gB(1,W)],yB),Ls(pB.ID,vB(()=>pB),0),k(`editor.placeholder.foreground`,Mt,S(1400,`Foreground color of the placeholder text in the editor.`));function bB(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}var xB=class e{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){let n=this.computeEmbedding(e),r=new Map,i=[];for(let[e,a]of this.documents){if(t.isCancellationRequested)return[];for(let t of a.chunks){let a=this.computeSimilarityScore(t,n,r);a>0&&i.push({key:e,score:a})}}return i}static termFrequencies(t){return bB(e.splitTerms(t))}static*splitTerms(e){let t=e=>e.toLowerCase();for(let[n]of e.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield t(n);let e=n.replace(/([a-z])([A-Z])/g,`$1 $2`).split(/\s+/g);if(e.length>1)for(let n of e)n.length>2&&/\p{Letter}{3,}/gu.test(n)&&(yield t(n))}}updateDocuments(t){for(let{key:e}of t)this.deleteDocument(e);for(let n of t){let t=[];for(let r of n.textChunks){let n=e.termFrequencies(r);for(let e of n.keys())this.chunkOccurrences.set(e,(this.chunkOccurrences.get(e)??0)+1);t.push({text:r,tf:n})}this.chunkCount+=t.length,this.documents.set(n.key,{chunks:t})}return this}deleteDocument(e){let t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(let e of t.chunks)for(let t of e.tf.keys()){let e=this.chunkOccurrences.get(t);if(typeof e==`number`){let n=e-1;n<=0?this.chunkOccurrences.delete(t):this.chunkOccurrences.set(t,n)}}}}computeSimilarityScore(e,t,n){let r=0;for(let[i,a]of Object.entries(t)){let t=e.tf.get(i);if(!t)continue;let o=n.get(i);typeof o!=`number`&&(o=this.computeIdf(i),n.set(i,o));let s=t*o;r+=s*a}return r}computeEmbedding(t){let n=e.termFrequencies(t);return this.computeTfidf(n)}computeIdf(e){let t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){let t=Object.create(null);for(let[n,r]of e){let e=this.computeIdf(n);e>0&&(t[n]=r*e)}return t}};function SB(e){let t=e.slice(0);t.sort((e,t)=>t.score-e.score);let n=t[0]?.score??0;if(n>0)for(let e of t)e.score/=n;return t}var CB;(function(e){e[e.NO_ACTION=0]=`NO_ACTION`,e[e.CLOSE_PICKER=1]=`CLOSE_PICKER`,e[e.REFRESH_PICKER=2]=`REFRESH_PICKER`,e[e.REMOVE_ITEM=3]=`REMOVE_ITEM`})(CB||={});function wB(e){let t=e;return Array.isArray(t.items)}function TB(e){let t=e;return!!t.picks&&t.additionalPicks instanceof Promise}var EB=class extends K{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,n){let r=new I;e.canAcceptInBackground=!!this.options?.canAcceptInBackground,e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let i,a=r.add(new fc),o=async()=>{i?.dispose(!0),e.busy=!1;let r=a.value=new I;i=r.add(new No(t));let o=i.token,s=e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(s=s.trim());let c=this._getPicks(s,r,o,n),l=(t,n)=>{let r,i;if(wB(t)?(r=t.items,i=t.active):r=t,r.length===0){if(n)return!1;(s.length>0||e.hideInput)&&this.options?.noResultsPick&&(r=Bf(this.options.noResultsPick)?[this.options.noResultsPick(s)]:[this.options.noResultsPick])}return e.items=r,i&&(e.activeItems=[i]),!0},u=async t=>{let n=!1,r=!1;await Promise.all([(async()=>{typeof t.mergeDelay==`number`&&(await Er(t.mergeDelay),o.isCancellationRequested)||r||(n=l(t.picks,!0))})(),(async()=>{e.busy=!0;try{let r=await t.additionalPicks;if(o.isCancellationRequested)return;let i,a;wB(t.picks)?(i=t.picks.items,a=t.picks.active):i=t.picks;let s,c;if(wB(r)?(s=r.items,c=r.active):s=r,s.length>0||!n){let t;if(!a&&!c){let n=e.activeItems[0];n&&i.indexOf(n)!==-1&&(t=n)}l({items:[...i,...s],active:a||c||t})}}finally{o.isCancellationRequested||(e.busy=!1),r=!0}})()])};if(c!==null){if(TB(c))await u(c);else if(!(c instanceof Promise))l(c);else{e.busy=!0;try{let e=await c;if(o.isCancellationRequested)return;TB(e)?await u(e):l(e)}finally{o.isCancellationRequested||(e.busy=!1)}}}};r.add(e.onDidChangeValue(()=>o())),o(),r.add(e.onDidAccept(t=>{if(n?.handleAccept){t.inBackground||e.hide(),n.handleAccept?.(e.activeItems[0],t.inBackground);return}let[r]=e.selectedItems;if(typeof r?.accept==`function`){if(yf(e.keyMods)&&r.attach){r.attach(e.keyMods,t);return}t.inBackground||e.hide(),r.accept(e.keyMods,t)}}));let s=async(n,r)=>{if(typeof r.trigger!=`function`)return;let i=r.buttons?.indexOf(n)??-1;if(i>=0){let n=r.trigger(i,e.keyMods),a=typeof n==`number`?n:await n;if(t.isCancellationRequested)return;switch(a){case CB.NO_ACTION:break;case CB.CLOSE_PICKER:e.hide();break;case CB.REFRESH_PICKER:o();break;case CB.REMOVE_ITEM:{let t=e.items.indexOf(r);if(t!==-1){let n=e.items.slice(),r=n.splice(t,1),i=e.activeItems.filter(e=>e!==r[0]),a=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=n,i&&(e.activeItems=i),e.keepScrollPosition=a}break}}}};return r.add(e.onDidTriggerItemButton(({button:e,item:t})=>s(e,t))),r.add(e.onDidTriggerSeparatorButton(({button:e,separator:t})=>s(e,t))),r}},DB=Object.freeze({View:R(1718,`View`),Help:R(1719,`Help`),Test:R(1720,`Test`),File:R(1721,`File`),Preferences:R(1722,`Preferences`),Developer:R(1723,`Developer`)}),OB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},kB=function(e,t){return function(n,r){t(n,r,e)}},AB,jB,MB=class extends EB{static{AB=this}static{this.PREFIX=`>`}static{this.TFIDF_THRESHOLD=.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=gr(In,Uu)}constructor(e,t,n,r,i,a){super(AB.PREFIX,e),this.keybindingService=n,this.commandService=r,this.telemetryService=i,this.dialogService=a,this.commandsHistory=this._register(t.createInstance(NB)),this.options=e}async _getPicks(e,t,n,r){let i=await this.getCommandPicks(n);if(n.isCancellationRequested)return[];let a=Of(()=>{let t=new xB;return t.updateDocuments(i.map(e=>({key:e.commandId,textChunks:[this.getTfIdfChunk(e)]}))),SB(t.calculateScores(e,n)).filter(e=>e.score>AB.TFIDF_THRESHOLD).slice(0,AB.TFIDF_MAX_RESULTS)}),o=[];for(let t of i){let r=AB.WORD_FILTER(e,t.label)??void 0,i;if(t.commandAlias&&(i=AB.WORD_FILTER(e,t.commandAlias)??void 0),r||i)t.highlights={label:r,detail:this.options.showAlias?i:void 0},o.push(t);else if(e===t.commandId)o.push(t);else if(e.length>=3){let e=a();if(n.isCancellationRequested)return[];let r=e.find(e=>e.key===t.commandId);r&&(t.tfIdfScore=r.score,o.push(t))}}let s=new Map;for(let e of o){let t=s.get(e.label);t?(e.description=e.commandId,t.description=t.commandId):s.set(e.label,e)}o.sort((e,t)=>{if(e.tfIdfScore&&t.tfIdfScore)return e.tfIdfScore===t.tfIdfScore?e.label.localeCompare(t.label):t.tfIdfScore-e.tfIdfScore;if(e.tfIdfScore)return 1;if(t.tfIdfScore)return-1;let n=this.commandsHistory.peek(e.commandId),r=this.commandsHistory.peek(t.commandId);if(n&&r)return n>r?-1:1;if(n)return-1;if(r)return 1;if(this.options.suggestedCommandIds){let n=this.options.suggestedCommandIds.has(e.commandId),r=this.options.suggestedCommandIds.has(t.commandId);if(n&&r)return 0;if(n)return-1;if(r)return 1}let i=e.commandCategory===DB.Developer.value,a=t.commandCategory===DB.Developer.value;return i&&!a?1:!i&&a?-1:e.label.localeCompare(t.label)});let c=[],l=!1,u=!0,d=!!this.options.suggestedCommandIds;for(let e=0;e<o.length;e++){let t=o[e],n=!!this.commandsHistory.peek(t.commandId);e===0&&n&&(c.push({type:`separator`,label:S(1836,`recently used`)}),l=!0),u&&t.tfIdfScore!==void 0&&(c.push({type:`separator`,label:S(1837,`similar commands`)}),u=!1),d&&t.tfIdfScore===void 0&&!n&&this.options.suggestedCommandIds?.has(t.commandId)&&(c.push({type:`separator`,label:S(1838,`commonly used`)}),l=!0,d=!1),l&&t.tfIdfScore===void 0&&!n&&!this.options.suggestedCommandIds?.has(t.commandId)&&(c.push({type:`separator`,label:S(1839,`other commands`)}),l=!1),c.push(this.toCommandPick(t,r,n))}return this.hasAdditionalCommandPicks(e,n)?{picks:c,additionalPicks:(async()=>{let t=await this.getAdditionalCommandPicks(i,o,e,n);if(n.isCancellationRequested)return[];let a=t.map(e=>this.toCommandPick(e,r));return u&&a[0]?.type!==`separator`&&a.unshift({type:`separator`,label:S(1840,`similar commands`)}),a})()}:c}toCommandPick(e,t,n=!1){if(e.type===`separator`)return e;let r=e.tooltip??e.commandDescription?.value,i=this.keybindingService.lookupKeybinding(e.commandId),a=i?S(1841,`{0}, {1}`,e.label,i.getAriaLabel()):e.label,o=e.buttons||[],s=n?[...o,{iconClass:H.asClassName(A.close),tooltip:S(1842,`Remove from Recently Used`)}]:e.buttons;return{...e,id:e.commandId,tooltip:r,ariaLabel:a,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,buttons:s,accept:async()=>{this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2(`workbenchActionExecuted`,{id:e.commandId,from:t?.from??`quick open`});try{e.args?.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(t){Bi(t)||this.dialogService.error(S(1843,`Command '{0}' resulted in an error`,e.label),Fm(t))}},trigger:n?(t,n)=>t===o.length?(this.commandsHistory.remove(e.commandId),CB.REMOVE_ITEM):e.trigger?e.trigger(t,n):CB.NO_ACTION:e.trigger}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:n}){let r=e;return t&&t!==e&&(r+=` - ${t}`),n&&n.value!==e&&(r+=` - ${n.value===n.original?n.value:`${n.value} (${n.original})`}`),r}};MB=AB=OB([kB(1,W),kB(2,Ta),kB(3,kr),kB(4,St),kB(5,da)],MB);var NB=class extends K{static{jB=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE=`commandPalette.mru.cache`}static{this.PREF_KEY_COUNTER=`commandPalette.mru.counter`}static{this.counter=1}static{this.hasChanges=!1}constructor(e,t,n){super(),this.storageService=e,this.configurationService=t,this.logService=n,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===$o.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){(!e||e.affectsConfiguration(`workbench.commandPalette.history`))&&(this.configuredCommandsHistoryLength=jB.getConfiguredCommandHistoryLength(this.configurationService),jB.cache&&jB.cache.limit!==this.configuredCommandsHistoryLength&&(jB.cache.limit=this.configuredCommandsHistoryLength,jB.hasChanges=!0))}load(){let e=this.storageService.get(jB.PREF_KEY_CACHE,0),t;if(e)try{t=JSON.parse(e)}catch(e){this.logService.error(`[CommandsHistory] invalid data: ${e}`)}let n=jB.cache=new Si(this.configuredCommandsHistoryLength,1);if(t){let e;e=t.usesLRU?t.entries:t.entries.sort((e,t)=>e.value-t.value),e.forEach(e=>n.set(e.key,e.value))}jB.counter=this.storageService.getNumber(jB.PREF_KEY_COUNTER,0,jB.counter)}push(e){jB.cache&&(jB.cache.set(e,jB.counter++),jB.hasChanges=!0)}peek(e){return jB.cache?.peek(e)}remove(e){jB.cache&&(jB.cache.delete(e),jB.hasChanges=!0)}saveState(){if(!jB.cache||!jB.hasChanges)return;let e={usesLRU:!0,entries:[]};jB.cache.forEach((t,n)=>e.entries.push({key:n,value:t})),this.storageService.store(jB.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(jB.PREF_KEY_COUNTER,jB.counter,0,0),jB.hasChanges=!1}static getConfiguredCommandHistoryLength(e){let t=e.getValue().workbench?.commandPalette?.history;return typeof t==`number`?t:jB.DEFAULT_COMMANDS_HISTORY_LENGTH}};NB=jB=OB([kB(0,kc),kB(1,Wi),kB(2,Pu)],NB);var PB=class extends MB{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a)}getCodeEditorCommandPicks(){let e=this.activeTextEditorControl;if(!e)return[];let t=[];for(let n of e.getSupportedActions()){let e;n.metadata?.description&&(e=Mo(n.metadata.description)?n.metadata.description:{original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:e,label:ea(n.label)||n.id})}return t}},FB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},IB=function(e,t){return function(n,r){t(n,r,e)}},LB=class extends PB{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,n,r,i,a){super({showAlias:!1},e,n,r,i,a),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};LB=FB([IB(0,W),IB(1,$s),IB(2,Ta),IB(3,kr),IB(4,St),IB(5,da)],LB);var RB=class e extends G{static{this.ID=`editor.action.quickCommand`}constructor(){super({id:e.ID,label:So.quickCommandActionLabel,alias:`Command Palette`,precondition:void 0,kbOpts:{kbExpr:D.focus,primary:59,weight:100},contextMenuOpts:{group:`z_commands`,order:1}})}run(e){e.get(Jd).quickAccess.show(LB.PREFIX)}};B(RB),Nt.as(An.Quickaccess).registerQuickAccessProvider({ctor:LB,prefix:LB.PREFIX,helpEntries:[{description:So.quickCommandHelp,commandId:RB.ID}]});var zB=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},BB=function(e,t){return function(n,r){t(n,r,e)}},VB,HB=class{static{VB=this}static{this.PREFIX=`?`}constructor(e,t,n){this.quickInputService=e,this.keybindingService=t,this.contextKeyService=n,this.registry=Nt.as(An.Quickaccess)}provide(e){let t=new I;return t.add(e.onDidAccept(()=>{let[t]=e.selectedItems;t&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(e=>{let t=this.registry.getQuickAccessProvider(e.substr(VB.PREFIX.length),this.contextKeyService);t?.prefix&&t.prefix!==VB.PREFIX&&this.quickInputService.quickAccess.show(t.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(e=>e.prefix!==VB.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders(this.contextKeyService).sort((e,t)=>e.prefix.localeCompare(t.prefix)).flatMap(e=>this.createPicks(e))}createPicks(e){return e.helpEntries.map(t=>{let n=t.prefix||e.prefix,r=n||`…`;return{prefix:n,label:r,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:S(1844,`{0}, {1}`,r,t.description),description:t.description}})}};HB=VB=zB([BB(0,Jd),BB(1,Ta),BB(2,Ra)],HB),Nt.as(An.Quickaccess).registerQuickAccessProvider({ctor:HB,prefix:``,helpEntries:[{description:lo.helpQuickAccessActionLabel}]});var UB=[void 0,[]];function WB(e,t,n=0,r=0){let i=t;return i.values&&i.values.length>1?GB(e,i.values,n,r):KB(e,t,n,r)}function GB(e,t,n,r){let i=0,a=[];for(let o of t){let[t,s]=KB(e,o,n,r);if(typeof t!=`number`)return UB;i+=t,a.push(...s)}return[i,qB(a)]}function KB(e,t,n,r){let i=Fa(t.normalized,t.normalizedLowercase,n,e,e.toLowerCase(),r,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return i?[i[0],Jn(i)]:UB}new vi(`allowNonContiguousMatches`),new vi(`description`),new vi(`label`),new vi(`values`),new vi(`expectContiguousMatch`),new vi(`value`);function qB(e){let t=e.sort((e,t)=>e.start-t.start),n=[],r;for(let e of t)!r||!JB(r,e)?(r=e,n.push(e)):(r.start=Math.min(r.start,e.start),r.end=Math.max(r.end,e.end));return n}function JB(e,t){return!(e.end<t.start||t.end<e.start)}function YB(e){return e.startsWith(`"`)&&e.endsWith(`"`)}var XB=` `;function ZB(e){typeof e!=`string`&&(e=``);let t=e.toLowerCase(),{pathNormalized:n,normalized:r,normalizedLowercase:i}=QB(e),a=n.indexOf(Vn)>=0,o=YB(e),s,c=e.split(XB);if(c.length>1)for(let e of c){let t=YB(e),{pathNormalized:n,normalized:r,normalizedLowercase:i}=QB(e);r&&(s||=[],s.push({original:e,originalLowercase:e.toLowerCase(),pathNormalized:n,normalized:r,normalizedLowercase:i,expectContiguousMatch:t}))}return{original:e,originalLowercase:t,pathNormalized:n,normalized:r,normalizedLowercase:i,values:s,containsPathSeparator:a,expectContiguousMatch:o}}function QB(e){let t;t=Xt?e.replace(/\//g,Vn):e.replace(/\\/g,Vn);let n=t.replace(/[\*\u2026\s"]/g,``).replace(/(?<=.)#$/,``);return{pathNormalized:t,normalized:n,normalizedLowercase:n.toLowerCase()}}function $B(e){return ZB(Array.isArray(e)?e.map(e=>e.original).join(XB):e.original)}var eV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tV=function(e,t){return function(n,r){t(n,r,e)}},nV,rV=class extends QE{static{nV=this}static{this.PREFIX=`@`}static{this.SCOPE_PREFIX=`:`}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(e,t,n=Object.create(null)){super(n),this._languageFeaturesService=e,this._outlineModelService=t,this.options=n,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,S(1414,`To go to a symbol, first open a text editor with symbol information.`)),K.None}provideWithTextEditor(e,t,n,r){let i=e.editor,a=this.getModel(i);return a?this._languageFeaturesService.documentSymbolProvider.has(a)?this.doProvideWithEditorSymbols(e,a,t,n,r):this.doProvideWithoutEditorSymbols(e,a,t,n):K.None}doProvideWithoutEditorSymbols(e,t,n,r){let i=new I;return this.provideLabelPick(n,S(1415,`The active text editor does not provide symbol information.`)),(async()=>{await this.waitForLanguageSymbolRegistry(t,i)&&!r.isCancellationRequested&&i.add(this.doProvideWithEditorSymbols(e,t,n,r))})(),i}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;let n=new Cn,r=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(r.dispose(),n.complete(!0))}));return t.add(Yo(()=>n.complete(!1))),n.p}doProvideWithEditorSymbols(e,t,n,r,i){let a=e.editor,o=new I;o.add(n.onDidAccept(t=>{let[r]=n.selectedItems;if(r&&r.range){if(n.keyMods.shift&&r.attach){r.attach(n.keyMods,t);return}this.gotoLocation(e,{range:r.range.selection,keyMods:n.keyMods,preserveFocus:t.inBackground}),i?.handleAccept?.(r,t.inBackground),t.inBackground||n.hide()}})),o.add(n.onDidTriggerItemButton(({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())}));let s=this.getDocumentSymbols(t,r),c=o.add(new fc),l=async e=>{c?.value?.cancel(),n.busy=!1,c.value=new No,n.busy=!0;try{let i=ZB(n.value.substr(nV.PREFIX.length).trim()),a=await this.doGetSymbolPicks(s,i,void 0,c.value.token,t);if(r.isCancellationRequested)return;if(a.length>0){if(n.items=a,e&&i.original.length===0){let t=bt(a,t=>!!(t.type!==`separator`&&t.range&&w.containsPosition(t.range.decoration,e)));t&&(n.activeItems=[t])}}else i.original.length>0?this.provideLabelPick(n,S(1416,`No matching editor symbols`)):this.provideLabelPick(n,S(1417,`No editor symbols`))}finally{r.isCancellationRequested||(n.busy=!1)}};return o.add(n.onDidChangeValue(()=>l(void 0))),l(a.getSelection()?.getPosition()),o.add(n.onDidChangeActive(()=>{let[e]=n.activeItems;e&&e.range&&(a.revealRangeInCenter(e.range.selection,0),this.addDecorations(a,e.range.decoration))})),o}async doGetSymbolPicks(e,t,n,r,i){let a=await e;if(r.isCancellationRequested)return[];let o=t.original.indexOf(nV.SCOPE_PREFIX)===0,s=+!!o,c,l;t.values&&t.values.length>1?(c=$B(t.values[0]),l=$B(t.values.slice(1))):c=t;let u,d=this.options?.openSideBySideDirection?.();d&&(u=[{iconClass:d===`right`?H.asClassName(A.splitHorizontal):H.asClassName(A.splitVertical),tooltip:d===`right`?S(1418,`Open to the Side`):S(1419,`Open to the Bottom`)}]);let f=[];for(let e=0;e<a.length;e++){let r=a[e],o=Kc(r.name),d=`$(${Ii.toIcon(r.kind).id}) ${o}`,p=d.length-o.length,m=r.containerName;n?.extraContainerLabel&&(m=m?`${n.extraContainerLabel} • ${m}`:n.extraContainerLabel);let h,g,_,v;if(t.original.length>s){let e=!1;if(c!==t&&([h,g]=WB(d,{...t,values:void 0},s,p),typeof h==`number`&&(e=!0)),typeof h!=`number`&&([h,g]=WB(d,c,s,p),typeof h!=`number`))continue;if(!e&&l){if(m&&l.original.length>0&&([_,v]=WB(m,l)),typeof _!=`number`)continue;typeof h==`number`&&(h+=_)}}let y=r.tags&&r.tags.indexOf(1)>=0;f.push({index:e,kind:r.kind,score:h,label:d,ariaLabel:lr(r.name,r.kind),description:m,highlights:y?void 0:{label:g,description:v},range:{selection:w.collapseToStart(r.selectionRange),decoration:r.range},uri:i.uri,symbolName:o,strikethrough:y,buttons:u})}let p=f.sort((e,t)=>o?this.compareByKindAndScore(e,t):this.compareByScore(e,t)),m=[];if(o){let e,t,n=0;function r(){t&&typeof e==`number`&&n>0&&(t.label=hs(aV[e]||iV,n))}for(let i of p)e===i.kind?n++:(r(),e=i.kind,n=1,t={type:`separator`},m.push(t)),m.push(i);r()}else p.length>0&&(m=[{label:S(1420,`symbols ({0})`,f.length),type:`separator`},...p]);return m}compareByScore(e,t){if(typeof e.score!=`number`&&typeof t.score==`number`)return 1;if(typeof e.score==`number`&&typeof t.score!=`number`)return-1;if(typeof e.score==`number`&&typeof t.score==`number`){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:+(e.index>t.index)}compareByKindAndScore(e,t){let n=aV[e.kind]||iV,r=aV[t.kind]||iV,i=n.localeCompare(r);return i===0?this.compareByScore(e,t):i}async getDocumentSymbols(e,t){let n=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:n.asListOfDocumentSymbols()}};rV=nV=eV([tV(0,z),tV(1,YC)],rV);var iV=S(1421,`properties ({0})`),aV={5:S(1422,`methods ({0})`),11:S(1423,`functions ({0})`),8:S(1424,`constructors ({0})`),12:S(1425,`variables ({0})`),4:S(1426,`classes ({0})`),22:S(1427,`structs ({0})`),23:S(1428,`events ({0})`),24:S(1429,`operators ({0})`),10:S(1430,`interfaces ({0})`),2:S(1431,`namespaces ({0})`),3:S(1432,`packages ({0})`),25:S(1433,`type parameters ({0})`),1:S(1434,`modules ({0})`),6:S(1435,`properties ({0})`),9:S(1436,`enumerations ({0})`),21:S(1437,`enumeration members ({0})`),14:S(1438,`strings ({0})`),0:S(1439,`files ({0})`),17:S(1440,`arrays ({0})`),15:S(1441,`numbers ({0})`),16:S(1442,`booleans ({0})`),18:S(1443,`objects ({0})`),19:S(1444,`keys ({0})`),7:S(1445,`fields ({0})`),13:S(1446,`constants ({0})`)},oV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sV=function(e,t){return function(n,r){t(n,r,e)}},cV=class extends rV{constructor(e,t,n){super(t,n),this.editorService=e,this.onDidActiveTextEditorControlChange=gu.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};cV=oV([sV(0,$s),sV(1,z),sV(2,YC)],cV);var lV=class e extends G{static{this.ID=`editor.action.quickOutline`}constructor(){super({id:e.ID,label:Po.quickOutlineActionLabel,alias:`Go to Symbol...`,precondition:D.hasDocumentSymbolProvider,kbOpts:{kbExpr:D.focus,primary:3117,weight:100},contextMenuOpts:{group:`navigation`,order:3}})}run(e){e.get(Jd).quickAccess.show(rV.PREFIX,{itemActivation:jf.NONE})}};B(lV),Nt.as(An.Quickaccess).registerQuickAccessProvider({ctor:cV,prefix:rV.PREFIX,helpEntries:[{description:Po.quickOutlineActionLabel,prefix:rV.PREFIX,commandId:lV.ID},{description:Po.quickOutlineByCategoryActionLabel,prefix:rV.PREFIX_BY_CATEGORY}]});var uV=class extends K{static{this.ID=`editor.contrib.readOnlyMessageController`}constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let e=im.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(105);t||=this.editor.isSimpleWidget?new ji(S(1447,`Cannot edit in read-only input`)):new ji(S(1448,`Cannot edit in read-only editor`)),e.showMessage(t,this.editor.getPosition())}}};Ls(uV.ID,uV,2);var dV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fV=function(e,t){return function(n,r){t(n,r,e)}},pV=class extends Gx{constructor(e,t,n,r,i,a,o){super(!0,e,t,n,r,i,a,o)}};pV=dV([fV(1,Ra),fV(2,$s),fV(3,xt),fV(4,W),fV(5,kc),fV(6,Wi)],pV),Ls(Gx.ID,pV,4);var mV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hV=function(e,t){return function(n,r){t(n,r,e)}},gV=class extends K{static{this.ID=`editor.sectionHeaderDetector`}constructor(e,t,n){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=n,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(81)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(t=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(t=>{let n=this.editor.getModel()?.getLanguageId();n&&t.affects(n)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(t=>{(!this.options||t.hasChanged(81))&&(this.options=this.createOptions(e.getOption(81)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(e=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(e=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new Lr(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;let t=this.editor.getModel().getLanguageId();if(!t)return;let n=this.languageConfigurationService.getLanguageConfiguration(t).comments,r=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(n||r?.markers)return{foldingRules:r,markSectionHeaderRegex:e.markSectionHeaderRegex,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;let e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;let t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(n=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(n)})}updateDecorations(e){let t=this.editor.getModel();t&&(e=e.filter(e=>{if(!e.shouldBeInComments)return!0;let n=t.validateRange(e.range),r=t.tokenization.getLineTokens(n.startLineNumber),i=r.findTokenIndexAtOffset(n.startColumn-1),a=r.getStandardTokenType(i),o=t.getLanguageIdAtPosition(n.startLineNumber,n.startColumn);return r.getLanguageId(i)===o&&a===1}));let n=Object.values(this.currentOccurrences).map(e=>e.decorationId),r=e.map(e=>_V(e));this.editor.changeDecorations(t=>{let i=t.deltaDecorations(n,r);this.currentOccurrences={};for(let t=0,n=i.length;t<n;t++){let n={sectionHeader:e[t],decorationId:i[t]};this.currentOccurrences[n.decorationId]=n}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&=(this.computePromise.cancel(),null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}};gV=mV([hV(1,Ln),hV(2,dr)],gV);function _V(e){return{range:e.range,options:F.createDynamic({description:`section-header`,stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:e.hasSeparatorLine?2:1,sectionHeaderText:e.text}})}}Ls(gV.ID,gV,1);function vV(e){for(let t=0,n=e.length;t<n;t+=4){let n=e[t+0],r=e[t+1],i=e[t+2],a=e[t+3];e[t+0]=a,e[t+1]=i,e[t+2]=r,e[t+3]=n}}function yV(e){let t=new Uint8Array(e.buffer,e.byteOffset,e.length*4);return Rt()||vV(t),vt.wrap(t)}function bV(e){let t=new Uint32Array(xV(e)),n=0;if(t[n++]=e.id,e.type===`full`)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(let r of e.deltas)t[n++]=r.start,t[n++]=r.deleteCount,r.data?(t[n++]=r.data.length,t.set(r.data,n),n+=r.data.length):t[n++]=0}return yV(t)}function xV(e){let t=0;if(t+=2,e.type===`full`)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(let n of e.deltas)n.data&&(t+=n.data.length)}return t}function SV(e){return e&&!!e.data}function CV(e){return e&&Array.isArray(e.edits)}var wV=class{constructor(e,t,n){this.provider=e,this.tokens=t,this.error=n}};function TV(e,t){return e.has(t)}function EV(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function DV(e,t,n,r,i){let a=EV(e,t),o=await Promise.all(a.map(async e=>{let a,o=null;try{a=await e.provideDocumentSemanticTokens(t,e===n?r:null,i)}catch(e){o=e,a=null}return a&&(SV(a)||CV(a))||(a=null),new wV(e,a,o)}));for(let e of o){if(e.error)throw e.error;if(e.tokens)return e}return o.length>0?o[0]:null}function OV(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:null}var kV=class{constructor(e,t){this.provider=e,this.tokens=t}};function AV(e,t){return e.has(t)}function jV(e,t){let n=e.orderedGroups(t);return n.length>0?n[0]:[]}async function MV(e,t,n,r){let i=jV(e,t),a=await Promise.all(i.map(async e=>{let i;try{i=await e.provideDocumentRangeSemanticTokens(t,n,r)}catch(e){ec(e),i=null}return i&&SV(i)||(i=null),new kV(e,i)}));for(let e of a)if(e.tokens)return e;return a.length>0?a[0]:null}zn.registerCommand(`_provideDocumentSemanticTokensLegend`,async(e,...t)=>{let[n]=t;tr(n instanceof Qn);let r=e.get(dt).getModel(n);if(!r)return;let{documentSemanticTokensProvider:i}=e.get(z),a=OV(i,r);return a?a[0].getLegend():e.get(kr).executeCommand(`_provideDocumentRangeSemanticTokensLegend`,n)}),zn.registerCommand(`_provideDocumentSemanticTokens`,async(e,...t)=>{let[n]=t;tr(n instanceof Qn);let r=e.get(dt).getModel(n);if(!r)return;let{documentSemanticTokensProvider:i}=e.get(z);if(!TV(i,r))return e.get(kr).executeCommand(`_provideDocumentRangeSemanticTokens`,n,r.getFullModelRange());let a=await DV(i,r,null,null,E.None);if(!a)return;let{provider:o,tokens:s}=a;if(!s||!SV(s))return;let c=bV({id:0,type:`full`,data:s.data});return s.resultId&&o.releaseDocumentSemanticTokens(s.resultId),c}),zn.registerCommand(`_provideDocumentRangeSemanticTokensLegend`,async(e,...t)=>{let[n,r]=t;tr(n instanceof Qn);let i=e.get(dt).getModel(n);if(!i)return;let{documentRangeSemanticTokensProvider:a}=e.get(z),o=jV(a,i);if(o.length===0)return;if(o.length===1)return o[0].getLegend();if(!r||!w.isIRange(r))return console.warn(`provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in`),o[0].getLegend();let s=await MV(a,i,w.lift(r),E.None);if(s)return s.provider.getLegend()}),zn.registerCommand(`_provideDocumentRangeSemanticTokens`,async(e,...t)=>{let[n,r]=t;tr(n instanceof Qn),tr(w.isIRange(r));let i=e.get(dt).getModel(n);if(!i)return;let{documentRangeSemanticTokensProvider:a}=e.get(z),o=await MV(a,i,w.lift(r),E.None);if(o&&o.tokens)return bV({id:0,type:`full`,data:o.tokens.data})});var NV=`editor.semanticHighlighting`;function PV(e,t,n){let r=n.getValue(NV,{overrideIdentifier:e.getLanguageId(),resource:e.uri})?.enabled;return typeof r==`boolean`?r:t.getColorTheme().semanticHighlighting}var FV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},IV=function(e,t){return function(n,r){t(n,r,e)}},LV=class extends K{static{this.ID=`editor.contrib.viewportSemanticTokens`}constructor(e,t,n,r,i,a){super(),this._semanticTokensStylingService=t,this._themeService=n,this._configurationService=r,this._editor=e,this._provider=a.documentRangeSemanticTokensProvider,this._debounceInformation=i.for(this._provider,`DocumentRangeSemanticTokens`,{min:100,max:500}),this._tokenizeViewport=this._register(new Lr(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[],this._rangeProvidersChangeListeners=[];let o=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))},s=()=>{if(this._cleanupProviderListeners(),this._editor.hasModel()){let e=this._editor.getModel();for(let t of this._provider.all(e)){let e=t.onDidChange?.(()=>{this._cancelAll(),o()});e&&this._rangeProvidersChangeListeners.push(e)}}};this._register(this._editor.onDidScrollChange(()=>{o()})),this._register(this._editor.onDidChangeModel(()=>{s(),this._cancelAll(),o()})),this._register(this._editor.onDidChangeModelLanguage(()=>{s(),this._cancelAll(),o()})),this._register(this._editor.onDidChangeModelContent(e=>{this._cancelAll(),o()})),s(),this._register(this._provider.onDidChange(()=>{s(),this._cancelAll(),o()})),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.semanticHighlighting`)&&(this._cancelAll(),o())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),o()})),o()}dispose(){this._cleanupProviderListeners(),super.dispose()}_cleanupProviderListeners(){Lc(this._rangeProvidersChangeListeners),this._rangeProvidersChangeListeners=[]}_cancelAll(){for(let e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,n=this._outstandingRequests.length;t<n;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;let e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!PV(e,this._themeService,this._configurationService)||!AV(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}let t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(t=>this._requestRange(e,t)))}_requestRange(e,t){let n=e.getVersionId(),r=kt(n=>Promise.resolve(MV(this._provider,e,t,n))),i=new js(!1);return r.then(r=>{if(this._debounceInformation.update(e,i.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==n)return;let{provider:a,tokens:o}=r,s=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,Il(o,s,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}};LV=FV([IV(1,Fs),IV(2,Xn),IV(3,Wi),IV(4,Ks),IV(5,z)],LV),Ls(LV.ID,LV,1);var RV=class{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){let n=[];for(let r of t){let t=[];n.push(t),this.selectSubwords&&this._addInWordRanges(t,e,r),this._addWordRanges(t,e,r),this._addWhitespaceLine(t,e,r),t.push({range:e.getFullModelRange()})}return n}_addInWordRanges(e,t,n){let r=t.getWordAtPosition(n);if(!r)return;let{word:i,startColumn:a}=r,o=n.column-a,s=o,c=o,l=0;for(;s>=0;s--){let e=i.charCodeAt(s);if(s!==o&&(e===95||e===45)||Zs(e)&&xc(l))break;l=e}for(s+=1;c<i.length;c++){let e=i.charCodeAt(c);if(xc(e)&&Zs(l)||e===95||e===45)break;l=e}s<c&&e.push({range:new w(n.lineNumber,a+s,n.lineNumber,a+c)})}_addWordRanges(e,t,n){let r=t.getWordAtPosition(n);r&&e.push({range:new w(n.lineNumber,r.startColumn,n.lineNumber,r.endColumn)})}_addWhitespaceLine(e,t,n){t.getLineLength(n.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(n.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(n.lineNumber)===0&&e.push({range:new w(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})}},zV=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},BV=function(e,t){return function(n,r){t(n,r,e)}},VV,HV=class e{constructor(e,t){this.index=e,this.ranges=t}mov(t){let n=this.index+(t?1:-1);if(n<0||n>=this.ranges.length)return this;let r=new e(n,this.ranges);return r.ranges[n].equalsRange(this.ranges[this.index])?r.mov(t):r}},UV=class{static{VV=this}static{this.ID=`editor.contrib.smartSelectController`}static get(e){return e.getContribution(VV.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(e){if(!this._editor.hasModel())return;let t=this._editor.getSelections(),n=this._editor.getModel();if(this._state||await qV(this._languageFeaturesService.selectionRangeProvider,n,t.map(e=>e.getPosition()),this._editor.getOption(129),E.None).then(e=>{if(ku(e)&&e.length===t.length&&this._editor.hasModel()&&Nd(this._editor.getSelections(),t,(e,t)=>e.equalsSelection(t))){for(let n=0;n<e.length;n++)e[n]=e[n].filter(e=>e.containsPosition(t[n].getStartPosition())&&e.containsPosition(t[n].getEndPosition())),e[n].unshift(t[n]);this._state=e.map(e=>new HV(0,e)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(t=>t.mov(e));let r=this._state.map(e=>J.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}};UV=VV=zV([BV(1,z)],UV);var WV=class extends G{constructor(e,t){super(t),this._forward=e}async run(e,t){let n=UV.get(t);n&&await n.run(this._forward)}},GV=class extends WV{constructor(){super(!0,{id:`editor.action.smartSelect.expand`,label:R(1469,`Expand Selection`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`1_basic`,title:S(1467,`&&Expand Selection`),order:2}})}};zn.registerCommandAlias(`editor.action.smartSelect.grow`,`editor.action.smartSelect.expand`);var KV=class extends WV{constructor(){super(!1,{id:`editor.action.smartSelect.shrink`,label:R(1470,`Shrink Selection`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:O.MenubarSelectionMenu,group:`1_basic`,title:S(1468,`&&Shrink Selection`),order:3}})}};Ls(UV.ID,UV,4),B(GV),B(KV);async function qV(e,t,n,r,i){let a=e.all(t).concat(new RV(r.selectSubwords));a.length===1&&a.unshift(new tN);let o=[],s=[];for(let e of a)o.push(Promise.resolve(e.provideSelectionRanges(t,n,i)).then(e=>{if(ku(e)&&e.length===n.length)for(let t=0;t<n.length;t++){s[t]||(s[t]=[]);for(let r of e[t])w.isIRange(r.range)&&w.containsPosition(r.range,n[t])&&s[t].push(w.lift(r.range))}},ec));return await Promise.all(o),s.map(e=>{if(e.length===0)return[];e.sort((e,t)=>j.isBefore(e.getStartPosition(),t.getStartPosition())?1:j.isBefore(t.getStartPosition(),e.getStartPosition())||j.isBefore(e.getEndPosition(),t.getEndPosition())?-1:+!!j.isBefore(t.getEndPosition(),e.getEndPosition()));let n=[],i;for(let t of e)(!i||w.containsRange(t,i)&&!w.equalsRange(t,i))&&(n.push(t),i=t);if(!r.selectLeadingAndTrailingWhitespace)return n;let a=[n[0]];for(let e=1;e<n.length;e++){let r=n[e-1],i=n[e];if(i.startLineNumber!==r.startLineNumber||i.endLineNumber!==r.endLineNumber){let e=new w(r.startLineNumber,t.getLineFirstNonWhitespaceColumn(r.startLineNumber),r.endLineNumber,t.getLineLastNonWhitespaceColumn(r.endLineNumber));e.containsRange(r)&&!e.equalsRange(r)&&i.containsRange(e)&&!i.equalsRange(e)&&a.push(e);let n=new w(r.startLineNumber,1,r.endLineNumber,t.getLineMaxColumn(r.endLineNumber));n.containsRange(r)&&!n.equalsRange(e)&&i.containsRange(n)&&!i.equalsRange(n)&&a.push(n)}a.push(i)}return a})}zn.registerCommand(`_executeSelectionRangeProvider`,async function(e,...t){let[n,r]=t;tr(Qn.isUri(n)),tr(Fr(r,e=>j.isIPosition(e)));let i=e.get(z).selectionRangeProvider,a=await e.get(Ki).createModelReference(n);try{return qV(i,a.object.textEditorModel,r.map(j.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},E.None)}finally{a.dispose()}});var JV=class extends uu{constructor(){super({id:`editor.action.toggleStickyScroll`,title:{...R(1518,`Toggle Editor Sticky Scroll`),mnemonicTitle:S(1514,`&&Toggle Editor Sticky Scroll`)},metadata:{description:R(1519,`Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport`)},category:DB.View,toggled:{condition:T.equals(`config.editor.stickyScroll.enabled`,!0),title:S(1515,`Sticky Scroll`),mnemonicTitle:S(1516,`&&Sticky Scroll`)},menu:[{id:O.CommandPalette},{id:O.MenubarAppearanceMenu,group:`4_editor`,order:3},{id:O.StickyScrollContext}]})}async runEditorCommand(e,t){let n=e.get(Wi),r=!n.getValue(`editor.stickyScroll.enabled`),i=qP.get(t)?.isFocused();n.updateValue(`editor.stickyScroll.enabled`,r),i&&t.focus()}},YV=100,XV=class extends uu{constructor(){super({id:`editor.action.focusStickyScroll`,title:{...R(1520,`Focus Editor Sticky Scroll`),mnemonicTitle:S(1517,`&&Focus Editor Sticky Scroll`)},precondition:T.and(T.has(`config.editor.stickyScroll.enabled`),D.stickyScrollVisible),menu:[{id:O.CommandPalette}]})}runEditorCommand(e,t){qP.get(t)?.focus()}},ZV=class extends uu{constructor(){super({id:`editor.action.selectNextStickyScrollLine`,title:R(1521,`Select the next editor sticky scroll line`),precondition:D.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:YV,primary:18}})}runEditorCommand(e,t){qP.get(t)?.focusNext()}},QV=class extends uu{constructor(){super({id:`editor.action.selectPreviousStickyScrollLine`,title:R(1522,`Select the previous sticky scroll line`),precondition:D.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:YV,primary:16}})}runEditorCommand(e,t){qP.get(t)?.focusPrevious()}},$V=class extends uu{constructor(){super({id:`editor.action.goToFocusedStickyScrollLine`,title:R(1523,`Go to the focused sticky scroll line`),precondition:D.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:YV,primary:3}})}runEditorCommand(e,t){qP.get(t)?.goToFocused()}},eH=class extends uu{constructor(){super({id:`editor.action.selectEditor`,title:R(1524,`Select Editor`),precondition:D.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:YV,primary:9}})}runEditorCommand(e,t){qP.get(t)?.selectEditor()}};Ls(qP.ID,qP,1),ra(JV),ra(XV),ra(QV),ra(ZV),ra($V),ra(eH);var tH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nH=function(e,t){return function(n,r){t(n,r,e)}},rH=class{constructor(e,t,n,r,i,a,o){this.range=e,this.insertText=t,this.filterText=n,this.additionalTextEdits=r,this.command=i,this.gutterMenuLinkAction=a,this.completion=o,this.doNotLog=!0}},iH=class extends Ou{constructor(e,t,n,r,i,a){super(i.disposable),this.model=e,this.line=t,this.word=n,this.completionModel=r,this._suggestMemoryService=a}canBeReused(e,t,n){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===n.startColumn&&this.word.endColumn<n.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){let e=[],{items:t}=this.completionModel,n=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),r=Wd.slice(t,n),i=Wd.slice(t,0,n),a=5;for(let t of Wd.concat(r,i)){if(t.score===Uf.Default)continue;let n=new w(t.editStart.lineNumber,t.editStart.column,t.editInsertEnd.lineNumber,t.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),r=t.completion.insertTextRules&&t.completion.insertTextRules&4?{snippet:t.completion.insertText}:t.completion.insertText;e.push(new rH(n,r,t.filterTextLow??t.labelLow,t.completion.additionalTextEdits,t.completion.command,t.completion.action,t)),a-->=0&&t.resolve(E.None)}return e}};iH=tH([nH(5,UM)],iH);var aH=class extends K{constructor(e,t,n,r){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=n,this._editorService=r,this._store.add(e.inlineCompletionsProvider.register(`*`,this))}async provideInlineCompletions(e,t,n,r){if(n.selectedSuggestionInfo)return;let i;for(let t of this._editorService.listCodeEditors())if(t.getModel()===e){i=t;break}if(!i)return;let a=i.getOption(102);if(KO.isAllOff(a))return;e.tokenization.tokenizeIfCheap(t.lineNumber);let o=e.tokenization.getLineTokens(t.lineNumber),s=o.getStandardTokenType(o.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(KO.valueFor(a,s)!==`inline`)return;let c=e.getWordAtPosition(t),l;if(c?.word||(l=this._getTriggerCharacterInfo(e,t)),!c?.word&&!l||(c||=e.getWordUntilPosition(t),c.endColumn!==t.column))return;let u,d=e.getValueInRange(new w(t.lineNumber,1,t.lineNumber,t.column));if(!l&&this._lastResult?.canBeReused(e,t.lineNumber,c)){let e=new $M(d,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),u=this._lastResult}else{let n=await zO(this._languageFeatureService.completionProvider,e,t,new LO(void 0,lN.createSuggestFilter(i).itemKind,l?.providers),l&&{triggerKind:1,triggerCharacter:l.ch},r),a;n.needsClipboard&&(a=await this._clipboardService.readText());let o=new eN(n.items,t.column,new $M(d,0),nN.None,i.getOption(134),i.getOption(128),{boostFullMatch:!1,firstMatchCanBeWeak:!1},a);u=new iH(e,t.lineNumber,c,o,n,this._suggestMemoryService)}return this._lastResult=u,u}handleItemDidShow(e,t){t.completion.resolve(E.None)}disposeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){let n=e.getValueInRange(w.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),r=new Set;for(let t of this._languageFeatureService.completionProvider.all(e))t.triggerCharacters?.includes(n)&&r.add(t);if(r.size!==0)return{providers:r,ch:n}}};aH=tH([nH(0,z),nH(1,us),nH(2,UM),nH(3,$s)],aH),nt(aH),B(class extends G{constructor(){super({id:`editor.action.toggleHighContrast`,label:Li.toggleHighContrast,alias:`Toggle High Contrast Theme`,precondition:void 0}),this._originalThemeName=null}run(e,t){let n=e.get(xr),r=n.getColorTheme();_t(r.type)?(n.setTheme(this._originalThemeName||(xl(r.type)?`vs-dark`:`vs`)),this._originalThemeName=null):(n.setTheme(xl(r.type)?Ti:vn),this._originalThemeName=r.themeName)}});var oH=class e extends ml{static{this.ID=`editor.action.toggleTabFocusMode`}constructor(){super({id:e.ID,title:R(1604,`Toggle Tab Key Moves Focus`),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:R(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 e=!Sr.getTabFocusMode();Sr.setTabFocusMode(e),Co(e?S(1602,`Pressing Tab will now move focus to the next focusable element`):S(1603,`Pressing Tab will now insert the tab character`))}};ra(oH),B(class extends G{constructor(){super({id:`editor.action.forceRetokenize`,label:R(1606,`Developer: Force Retokenize`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();n.tokenization.resetTokenization();let r=new js;n.tokenization.forceTokenization(n.getLineCount()),r.stop(),console.log(`tokenization took ${r.elapsed()}`)}});var sH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cH=function(e,t){return function(n,r){t(n,r,e)}},lH=26,uH=class extends K{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(dH))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,lH)}};uH=sH([cH(1,W)],uH);var dH=class extends K{constructor(e,t){super(),this.instantiationService=e,this.markdownRendererService=t,this.element=N(`div.editor-banner`),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message==`string`)return e.message}getBannerMessage(e){if(typeof e==`string`){let t=N(`span`);return t.innerText=e,t}return this.markdownRendererService.render(e).element}clear(){Df(this.element)}show(e){Df(this.element);let t=this.getAriaLabel(e);t&&this.element.setAttribute(`aria-label`,t);let n=q(this.element,N(`div.icon-container`));n.setAttribute(`aria-hidden`,`true`),e.icon&&n.appendChild(N(`div${H.asCSSSelector(e.icon)}`));let r=q(this.element,N(`div.message-container`));if(r.setAttribute(`aria-hidden`,`true`),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=q(this.element,N(`div.message-actions-container`)),e.actions)for(let t of e.actions)this._register(this.instantiationService.createInstance(zm,this.messageActionsContainer,{...t,tabIndex:-1},{}));let i=q(this.element,N(`div.action-container`));this.actionBar=this._register(new Hr(i)),this.actionBar.push(this._register(new yr(`banner.close`,S(1607,`Close Banner`),H.asClassName(Yi),!0,()=>{typeof e.onClose==`function`&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};dH=sH([cH(0,W),cH(1,Ca)],dH);var fH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},pH=function(e,t){return function(n,r){t(n,r,e)}},mH=Mr(`extensions-warning-message`,A.warning,S(1608,`Icon shown with a warning message in the extensions editor.`)),hH=class extends K{static{this.ID=`editor.contrib.unicodeHighlighter`}constructor(e,t,n,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=n,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;let t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount),n;if(e.nonBasicAsciiCharacterCount>=t)n={message:S(1609,`This document contains many non-basic ASCII unicode characters`),command:new AH};else if(e.ambiguousCharacterCount>=t)n={message:S(1610,`This document contains many ambiguous unicode characters`),command:new OH};else if(e.invisibleCharacterCount>=t)n={message:S(1611,`This document contains many invisible unicode characters`),command:new kH};else throw Error(`Unreachable`);this._bannerController.show({id:`unicodeHighlightBanner`,message:n.message,icon:mH,actions:[{label:n.command.shortLabel,href:`command:${n.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(uH,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(142),this._register(n.onDidChangeTrust(e=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(142)&&(this._options=e.getOption(142),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&=(this._highlighter.dispose(),null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&=(this._highlighter.dispose(),null),!this._editor.hasModel())return;let e=gH(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(e=>e===!1))return;let t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(e=>e.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(e=>e===`_os`?Ja.NumberFormat().value.resolvedOptions().locale:e===`_vscode`?gi:e)};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new _H(this._editor,t,this._updateState,this._editorWorkerService):new vH(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};hH=fH([pH(1,dr),pH(2,ms),pH(3,W)],hH);function gH(e,t){return{nonBasicASCII:t.nonBasicASCII===`inUntrustedWorkspace`?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===`inUntrustedWorkspace`?!e:t.includeComments,includeStrings:t.includeStrings===`inUntrustedWorkspace`?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}var _H=class extends K{constructor(e,t,n,r){super(),this._editor=e,this._options=t,this._updateState=n,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Lr(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}let e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);let n=[];if(!t.hasMore)for(let e of t.ranges)n.push({range:e,options:TH.instance.getDecorationFromOptions(this._options)});this._decorations.set(n)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel();return Br(t,e)?{reason:wH(t.getValueInRange(e.range),this._options),inComment:En(t,e),inString:or(t,e)}:null}};_H=fH([pH(3,dr)],_H);var vH=class extends K{constructor(e,t,n){super(),this._editor=e,this._options=t,this._updateState=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Lr(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}let e=this._editor.getVisibleRanges(),t=[],n={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(let t of e){let e=Mi.computeUnicodeHighlights(this._model,this._options,t);for(let t of e.ranges)n.ranges.push(t);n.ambiguousCharacterCount+=n.ambiguousCharacterCount,n.invisibleCharacterCount+=n.invisibleCharacterCount,n.nonBasicAsciiCharacterCount+=n.nonBasicAsciiCharacterCount,n.hasMore=n.hasMore||e.hasMore}if(!n.hasMore)for(let e of n.ranges)t.push({range:e,options:TH.instance.getDecorationFromOptions(this._options)});this._updateState(n),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel(),n=t.getValueInRange(e.range);return Br(t,e)?{reason:wH(n,this._options),inComment:En(t,e),inString:or(t,e)}:null}},yH=S(1612,`Configure Unicode Highlight Options`),bH=class{constructor(e,t){this._editor=e,this._markdownRendererService=t,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),r=this._editor.getContribution(hH.ID);if(!r)return[];let i=[],a=new Set,o=300;for(let e of t){let t=r.getDecorationInfo(e);if(!t)continue;let s=n.getValueInRange(e.range).codePointAt(0),c=SH(s),l;switch(t.reason.kind){case 0:l=vd(t.reason.confusableWith)?S(1613,`The character {0} could be confused with the ASCII character {1}, which is more common in source code.`,c,SH(t.reason.confusableWith.codePointAt(0))):S(1614,`The character {0} could be confused with the character {1}, which is more common in source code.`,c,SH(t.reason.confusableWith.codePointAt(0)));break;case 1:l=S(1615,`The character {0} is invisible.`,c);break;case 2:l=S(1616,`The character {0} is not a basic ASCII character.`,c)}if(a.has(l))continue;a.add(l);let u={codePoint:s,reason:t.reason,inComment:t.inComment,inString:t.inString},d=S(1617,`Adjust settings`),f=wn(jH.ID,u),p=new ji(``,!0).appendMarkdown(l).appendText(` `).appendLink(f,d,yH);i.push(new sb(this,e.range,[p],!1,o++))}return i}renderHoverParts(e,t){return fb(e,t,this._editor,this._markdownRendererService)}getAccessibleContent(e){return e.contents.map(e=>e.value).join(`
|
|
50
50
|
`)}};bH=fH([pH(1,Ca)],bH);function xH(e){return`U+${e.toString(16).padStart(4,`0`)}`}function SH(e){let t=`\`${xH(e)}\``;return ho.isInvisibleCharacter(e)||(t+=` "${`${CH(e)}`}"`),t}function CH(e){return e===96?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}function wH(e,t){return Mi.computeUnicodeHighlightReason(e,t)}var TH=class e{constructor(){this.map=new Map}static{this.instance=new e}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){let n=`${e}${t}`,r=this.map.get(n);return r||(r=F.createDynamic({description:`unicode-highlight`,stickiness:1,className:`unicode-highlight`,showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(n,r)),r}},EH=class extends G{constructor(){super({id:OH.ID,label:R(1626,`Disable highlighting of characters in comments`),precondition:void 0}),this.shortLabel=S(1618,`Disable Highlight In Comments`)}async run(e,t){let n=e.get(Wi);n&&this.runAction(n)}async runAction(e){await e.updateValue(xd.includeComments,!1,2)}},DH=class extends G{constructor(){super({id:OH.ID,label:R(1627,`Disable highlighting of characters in strings`),precondition:void 0}),this.shortLabel=S(1619,`Disable Highlight In Strings`)}async run(e,t){let n=e.get(Wi);n&&this.runAction(n)}async runAction(e){await e.updateValue(xd.includeStrings,!1,2)}},OH=class e extends ml{static{this.ID=`editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters`}constructor(){super({id:e.ID,title:R(1628,`Disable highlighting of ambiguous characters`),precondition:void 0,f1:!1}),this.shortLabel=S(1620,`Disable Ambiguous Highlight`)}async run(e,t){let n=e.get(Wi);n&&this.runAction(n)}async runAction(e){await e.updateValue(xd.ambiguousCharacters,!1,2)}},kH=class e extends ml{static{this.ID=`editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters`}constructor(){super({id:e.ID,title:R(1629,`Disable highlighting of invisible characters`),precondition:void 0,f1:!1}),this.shortLabel=S(1621,`Disable Invisible Highlight`)}async run(e,t){let n=e.get(Wi);n&&this.runAction(n)}async runAction(e){await e.updateValue(xd.invisibleCharacters,!1,2)}},AH=class e extends ml{static{this.ID=`editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters`}constructor(){super({id:e.ID,title:R(1630,`Disable highlighting of non basic ASCII characters`),precondition:void 0,f1:!1}),this.shortLabel=S(1622,`Disable Non ASCII Highlight`)}async run(e,t){let n=e.get(Wi);n&&this.runAction(n)}async runAction(e){await e.updateValue(xd.nonBasicASCII,!1,2)}},jH=class e extends ml{static{this.ID=`editor.action.unicodeHighlight.showExcludeOptions`}constructor(){super({id:e.ID,title:R(1631,`Show Exclude Options`),precondition:void 0,f1:!1})}async run(e,t){let{codePoint:n,reason:r,inString:i,inComment:a}=t,o=String.fromCodePoint(n),s=e.get(Jd),c=e.get(Wi);function l(e){return ho.isInvisibleCharacter(e)?S(1623,`Exclude {0} (invisible character) from being highlighted`,xH(e)):S(1624,`Exclude {0} from being highlighted`,`${xH(e)} "${o}"`)}let u=[];if(r.kind===0)for(let e of r.notAmbiguousInLocales)u.push({label:S(1625,`Allow unicode characters that are more common in the language "{0}".`,e),run:async()=>{NH(c,[e])}});if(u.push({label:l(n),run:()=>MH(c,[n])}),a){let e=new EH;u.push({label:e.label,run:async()=>e.runAction(c)})}else if(i){let e=new DH;u.push({label:e.label,run:async()=>e.runAction(c)})}function d(e){return typeof e.desc.title==`string`?e.desc.title:e.desc.title.value}if(r.kind===0){let e=new OH;u.push({label:d(e),run:async()=>e.runAction(c)})}else if(r.kind===1){let e=new kH;u.push({label:d(e),run:async()=>e.runAction(c)})}else if(r.kind===2){let e=new AH;u.push({label:d(e),run:async()=>e.runAction(c)})}else PH(r);let f=await s.pick(u,{title:yH});f&&await f.run()}};async function MH(e,t){let n=e.getValue(xd.allowedCharacters),r;r=typeof n==`object`&&n?n:{};for(let e of t)r[String.fromCodePoint(e)]=!0;await e.updateValue(xd.allowedCharacters,r,2)}async function NH(e,t){let n=e.inspect(xd.allowedLocales).user?.value,r;r=typeof n==`object`&&n?Object.assign({},n):{};for(let e of t)r[e]=!0;await e.updateValue(xd.allowedLocales,r,2)}function PH(e){throw Error(`Unexpected value: ${e}`)}ra(OH),ra(kH),ra(AH),ra(jH),Ls(hH.ID,hH,1),l_.register(bH);var FH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},IH=function(e,t){return function(n,r){t(n,r,e)}},LH=`ignoreUnusualLineTerminators`;function RH(e,t,n){e.setModelProperty(t.uri,LH,n)}function zH(e,t){return e.getModelProperty(t.uri,LH)}var BH=class extends K{static{this.ID=`editor.contrib.unusualLineTerminatorsDetector`}constructor(e,t,n){super(),this._editor=e,this._dialogService=t,this._codeEditorService=n,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(143)&&(this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(e=>{e.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config===`off`||!this._editor.hasModel())return;let e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||zH(this._codeEditorService,e)===!0||this._editor.getOption(104))return;if(this._config===`auto`){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let t;try{this._isPresentingDialog=!0,t=await this._dialogService.confirm({title:S(1632,`Unusual Line Terminators`),message:S(1633,`Detected unusual line terminators`),detail:S(1634,`The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).
|
|
51
51
|
|
|
52
|
-
It is recommended to remove them from the file. This can be configured via \`editor.unusualLineTerminators\`.`,Zd(e.uri)),primaryButton:S(1635,`&&Remove Unusual Line Terminators`),cancelButton:S(1636,`Ignore`)})}finally{this._isPresentingDialog=!1}t.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):RH(this._codeEditorService,e,!0)}};BH=FH([IH(1,da),IH(2,$s)],BH),Ls(BH.ID,BH,1);var VH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},HH=function(e,t){return function(n,r){t(n,r,e)}},UH=class{constructor(){this.selector={language:`*`}}provideDocumentHighlights(e,t,n){if(e.isDisposed())return;let r=[],i=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return i?e.findMatches(i.word,!0,!1,!0,ru,!1).map(e=>({range:e.range,kind:wf.Text})):Promise.resolve(r)}provideMultiDocumentHighlights(e,t,n,r){if(e.isDisposed())return;let i=new El,a=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!a)return Promise.resolve(i);for(let t of[e,...n]){if(t.isDisposed())continue;let e=t.findMatches(a.word,!0,!1,!0,ru,!1).map(e=>({range:e.range,kind:wf.Text}));e&&i.set(t.uri,e)}return i}},WH=class extends K{constructor(e){super(),this._register(e.documentHighlightProvider.register(`*`,new UH)),this._register(e.multiDocumentHighlightProvider.register(`*`,new UH))}};WH=VH([HH(0,z)],WH);var GH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},KH=function(e,t){return function(n,r){t(n,r,e)}},qH,JH,YH=new M(`hasWordHighlights`,!1);function XH(e,t,n,r){let i=e.ordered(t);return qn(i.map(e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,r)).then(void 0,ec)),e=>e!=null).then(e=>{if(e){let n=new El;return n.set(t.uri,e),n}return new El})}function ZH(e,t,n,r,i){let a=e.ordered(t);return qn(a.map(e=>()=>{let a=i.filter(e=>Wf(e)).filter(t=>Id(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(e.provideMultiDocumentHighlights(t,n,a,r)).then(void 0,ec)}),e=>e!=null)}var QH=class{constructor(e,t,n){this._model=e,this._selection=t,this._wordSeparators=n,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||=kt(e=>this._compute(this._model,this._selection,this._wordSeparators,e)),this._result}_getCurrentWordRange(e,t){let n=e.getWordAtPosition(t.getPosition());return n?new w(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}cancel(){this.result.cancel()}},$H=class extends QH{constructor(e,t,n,r){super(e,t,n),this._providers=r}_compute(e,t,n,r){return XH(this._providers,e,t.getPosition(),r).then(e=>e||new El)}},eU=class extends QH{constructor(e,t,n,r,i){super(e,t,n),this._providers=r,this._otherModels=i}_compute(e,t,n,r){return ZH(this._providers,e,t.getPosition(),r,this._otherModels).then(e=>e||new El)}};function tU(e,t,n,r){return new $H(t,n,r,e)}function nU(e,t,n,r,i){return new eU(t,n,r,e,i)}zd(`_executeDocumentHighlights`,async(e,t,n)=>(await XH(e.get(z).documentHighlightProvider,t,n,E.None))?.get(t.uri));var rU=class{static{qH=this}static{this.storedDecorationIDs=new El}static{this.query=null}constructor(e,t,n,r,i,a,o,s){this.toUnhook=new I,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new El,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new rr(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=a,this.textModelService=i,this.configurationService=o,this.logService=s,this._hasWordHighlights=YH.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue(`editor.occurrencesHighlightDelay`),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(e=>{this._ignorePositionChangeEvent||this.occurrencesHighlightEnablement!==`off`&&this.runDelayer.trigger(()=>{this._onPositionChanged(e)}).catch(at)})),this.toUnhook.add(e.onDidFocusEditorText(e=>{this.occurrencesHighlightEnablement!==`off`&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}).catch(at))})),this.toUnhook.add(e.onDidChangeModelContent(e=>{Yr(this.model.uri,`output`)||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():qH.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(e=>{let t=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==t)switch(this.occurrencesHighlightEnablement=t,t){case`off`:this._stopAll();break;case`singleFile`:this._stopAll(qH.query?.modelInfo?.modelURI);break;case`multiFile`:qH.query&&this._run(!0);break;default:console.warn(`Unknown occurrencesHighlight setting value:`,t)}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`editor.occurrencesHighlightDelay`)){let e=o.getValue(`editor.occurrencesHighlightDelay`);this.occurrencesHighlightDelay!==e&&(this.occurrencesHighlightDelay=e)}})),this.toUnhook.add(e.onDidBlurEditorWidget(()=>{let e=this.codeEditorService.getFocusedCodeEditor();e?e.getModel()?.uri.scheme===ul.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==ul.vscodeNotebookCell&&this._stopAll():this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,qH.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(e){this.occurrencesHighlightEnablement!==`off`&&(this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,e)}).catch(at))}stop(){this.occurrencesHighlightEnablement!==`off`&&this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(w.compareRangesUsingStarts)}moveNext(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);Co(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);Co(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let e=qH.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),qH.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){let t=this.codeEditorService.listCodeEditors(),n=[];for(let r of t){if(!r.hasModel()||Wt(r.getModel().uri,e))continue;let t=qH.storedDecorationIDs.get(r.getModel().uri);if(!t)continue;r.removeDecorations(t),n.push(r.getModel().uri);let i=iU.get(r);i?.wordHighlighter&&i.wordHighlighter.decorations.length>0&&(i.wordHighlighter.decorations.clear(),i.wordHighlighter.workerRequest=null,i.wordHighlighter._hasWordHighlights.set(!1))}for(let e of n)qH.storedDecorationIDs.delete(e)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==ul.vscodeNotebookCell&&qH.query?.modelInfo?.modelURI.scheme!==ul.vscodeNotebookCell?(qH.query=null,this._run()):qH.query?.modelInfo&&(qH.query.modelInfo=null)),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_onPositionChanged(e){this.occurrencesHighlightEnablement===`off`||e.source!==`api`&&e.reason!==3?this._stopAll():this._run()}_getWord(){let e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===ul.vscodeNotebookCell){let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){let n=r.getModel();n&&n!==e&&n.uri.scheme===ul.vscodeNotebookCell&&t.push(n)}return t}let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){if(!Vl(r))continue;let n=r.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if(this.occurrencesHighlightEnablement===`singleFile`)return[];for(let r of n){let n=r.getModel();n&&n!==e&&t.push(n)}return t}async _run(e,t){if(this.editor.hasTextFocus()){let e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber){qH.query=null,this._stopAll();return}let t=e.startColumn,n=e.endColumn,r=this._getWord();if(!r||r.startColumn>t||r.endColumn<n){qH.query=null,this._stopAll();return}qH.query={modelInfo:{modelURI:this.model.uri,selection:e}}}else if(!qH.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),Wt(this.editor.getModel().uri,qH.query.modelInfo?.modelURI)){if(!e){let e=this.decorations.getRanges();for(let t of e)if(t.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model.uri:void 0);let n=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let r=this.getOtherModelsToHighlight(this.editor.getModel());if(!qH.query||!qH.query.modelInfo)return;let i=await this.textModelService.createModelReference(qH.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(i.object.textEditorModel,qH.query.modelInfo.selection,r),this.workerRequest?.result.then(e=>{n===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},at)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{i.dispose()}}else if(this.model.uri.scheme===ul.vscodeNotebookCell){let e=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!qH.query||!qH.query.modelInfo)return;let n=await this.textModelService.createModelReference(qH.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(n.object.textEditorModel,qH.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then(n=>{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=n||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},at)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{n.dispose()}}}computeWithModel(e,t,n){return n.length?nU(this.multiDocumentProviders,e,t,this.editor.getOption(148),n):tU(this.providers,e,t,this.editor.getOption(148))}_beginRenderDecorations(e){let t=new Date().getTime(),n=this.lastCursorPositionChangeTime+e;t>=n?(this.renderDecorationsTimer=void 0,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},n-t)}renderDecorations(){this.renderDecorationsTimer=void 0;let e=this.codeEditorService.listCodeEditors();for(let t of e){let e=iU.get(t);if(!e)continue;let n=[],r=t.getModel()?.uri;if(r&&this.workerRequestValue.has(r)){let i=qH.storedDecorationIDs.get(r),a=this.workerRequestValue.get(r);if(a)for(let e of a)e.range&&n.push({range:e.range,options:xz(e.kind)});let o=[];t.changeDecorations(e=>{o=e.deltaDecorations(i??[],n)}),qH.storedDecorationIDs=qH.storedDecorationIDs.set(r,o),n.length>0&&(e.wordHighlighter?.decorations.set(n),e.wordHighlighter?._hasWordHighlights.set(!0))}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}};rU=qH=GH([KH(4,Ki),KH(5,$s),KH(6,Wi),KH(7,Pu)],rU);var iU=class extends K{static{JH=this}static{this.ID=`editor.contrib.wordHighlighter`}static get(e){return e.getContribution(JH.ID)}constructor(e,t,n,r,i,a,o){super(),this._wordHighlighter=null;let s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&e.getModel().uri.scheme!==ul.accessibleView&&(this._wordHighlighter=new rU(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,i,r,a,o))};this._register(e.onDidChangeModel(e=>{this._wordHighlighter&&=(!e.newModelUrl&&e.oldModelUrl?.scheme!==ul.vscodeNotebookCell&&this.wordHighlighter?.stop(),this._wordHighlighter.dispose(),null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore(250)}dispose(){this._wordHighlighter&&=(this._wordHighlighter.dispose(),null),super.dispose()}};iU=JH=GH([KH(1,Ra),KH(2,z),KH(3,$s),KH(4,Ki),KH(5,Wi),KH(6,Pu)],iU);var aU=class extends G{constructor(e,t){super(t),this._isNext=e}run(e,t){let n=iU.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}},oU=class extends aU{constructor(){super(!0,{id:`editor.action.wordHighlight.next`,label:R(1646,`Go to Next Symbol Highlight`),precondition:YH,kbOpts:{kbExpr:D.editorTextFocus,primary:65,weight:100}})}},sU=class extends aU{constructor(){super(!1,{id:`editor.action.wordHighlight.prev`,label:R(1647,`Go to Previous Symbol Highlight`),precondition:YH,kbOpts:{kbExpr:D.editorTextFocus,primary:1089,weight:100}})}},cU=class extends G{constructor(){super({id:`editor.action.wordHighlight.trigger`,label:R(1648,`Trigger Symbol Highlight`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:0,weight:100}})}run(e,t){let n=iU.get(t);n&&n.restoreViewState(!0)}};Ls(iU.ID,iU,0),B(oU),B(sU),B(cU),nt(WH);var lU=class extends id{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;let r=jt(t.getOption(148),t.getOption(147)),i=t.getModel(),a=t.getSelections(),o=a.length>1,s=a.map(e=>{let t=new j(e.positionLineNumber,e.positionColumn),n=this._move(r,i,t,this._wordNavigationType,o);return this._moveTo(e,n,this._inSelectionMode)});if(i.pushStackElement(),t._getViewModel().setCursorStates(`moveWordCommand`,3,s.map(e=>fd.fromModelSelection(e))),s.length===1){let e=new j(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new J(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new J(t.lineNumber,t.column,t.lineNumber,t.column)}},uU=class extends lU{_move(e,t,n,r,i){return Cd.moveWordLeft(e,t,n,r,i)}},dU=class extends lU{_move(e,t,n,r,i){return Cd.moveWordRight(e,t,n,r)}},fU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartLeft`,precondition:void 0})}},pU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndLeft`,precondition:void 0})}},mU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:`cursorWordLeft`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:2063,mac:{primary:527},weight:100}})}},hU=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartLeftSelect`,precondition:void 0})}},gU=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndLeftSelect`,precondition:void 0})}},_U=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:`cursorWordLeftSelect`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}},vU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityLeft`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},yU=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityLeftSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},bU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartRight`,precondition:void 0})}},xU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndRight`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:2065,mac:{primary:529},weight:100}})}},SU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordRight`,precondition:void 0})}},CU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartRightSelect`,precondition:void 0})}},wU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndRightSelect`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}},TU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordRightSelect`,precondition:void 0})}},EU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityRight`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},DU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityRightSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},OU=class extends id{constructor(e){super({canTriggerInlineEdits:!0,...e}),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){let r=e?.get(Ln);if(!t.hasModel()||!r)return;let i=jt(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections(),s=t.getOption(10),c=t.getOption(15),l=r.getLanguageConfiguration(a.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),d=o.map(e=>{let n=this._delete({wordSeparators:i,model:a,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(13),autoClosingBrackets:s,autoClosingQuotes:c,autoClosingPairs:l,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Qc(n,``)});t.pushUndoStop(),t.executeCommands(this.id,d),t.pushUndoStop()}},kU=class extends OU{_delete(e,t){return Cd.deleteWordLeft(e,t)||new w(1,1,1,1)}},AU=class extends OU{_delete(e,t){let n=Cd.deleteWordRight(e,t);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new w(r,i,r,i)}},jU=class extends kU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartLeft`,precondition:D.writable})}},MU=class extends kU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndLeft`,precondition:D.writable})}},NU=class extends kU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordLeft`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},PU=class extends AU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartRight`,precondition:D.writable})}},FU=class extends AU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndRight`,precondition:D.writable})}},IU=class extends AU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordRight`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},LU=class extends G{constructor(){super({id:`deleteInsideWord`,precondition:D.writable,label:R(1650,`Delete Word`),metadata:{description:R(1651,`Delete the word at the cursor`),args:[{name:`args`,schema:{type:`object`,properties:{onlyWord:{type:`boolean`,default:!1,description:S(1649,`Delete only the word and leave surrounding whitespace`)}}}}]}})}run(e,t,n){if(!t.hasModel())return;let r=!!(n&&typeof n==`object`&&n.onlyWord),i=jt(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections().map(e=>{let t=Cd.deleteInsideWord(i,a,e,r);return new Qc(t,``)});t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}};U(new fU),U(new pU),U(new mU),U(new hU),U(new gU),U(new _U),U(new bU),U(new xU),U(new SU),U(new CU),U(new wU),U(new TU),U(new vU),U(new yU),U(new EU),U(new DU),U(new jU),U(new MU),U(new NU),U(new PU),U(new FU),U(new IU),B(LU);var RU=class extends OU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordPartLeft`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return au.deleteWordPartLeft(e)||new w(1,1,1,1)}},zU=class extends OU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordPartRight`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){let n=au.deleteWordPartRight(e);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new w(r,i,r,i)}},BU=class extends lU{_move(e,t,n,r,i){return au.moveWordPartLeft(e,t,n,i)}},VU=class extends BU{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordPartLeft`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};zn.registerCommandAlias(`cursorWordPartStartLeft`,`cursorWordPartLeft`);var HU=class extends BU{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordPartLeftSelect`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};zn.registerCommandAlias(`cursorWordPartStartLeftSelect`,`cursorWordPartLeftSelect`);var UU=class extends lU{_move(e,t,n,r,i){return au.moveWordPartRight(e,t,n)}},WU=class extends UU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordPartRight`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},GU=class extends UU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordPartRightSelect`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};U(new RU),U(new zU),U(new VU),U(new HU),U(new WU),U(new GU);var KU=[{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>Y(()=>import(`./andromeeda-vGVdxbeo.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>Y(()=>import(`./aurora-x-CDeNXAV0.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>Y(()=>import(`./ayu-dark-DluEY0Gj.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>Y(()=>import(`./ayu-light-C3h-C4tm.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>Y(()=>import(`./ayu-mirage-Bqwy1Gya.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>Y(()=>import(`./catppuccin-frappe-C9Q5zVZY.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>Y(()=>import(`./catppuccin-latte-CtsyrtPq.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>Y(()=>import(`./catppuccin-macchiato-R8nAf1vR.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>Y(()=>import(`./catppuccin-mocha-DjuaAJKi.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>Y(()=>import(`./dark-plus-Cs2F2srj.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>Y(()=>import(`./dracula-BHWKrbxM.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>Y(()=>import(`./dracula-soft-5eyTD99u.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>Y(()=>import(`./everforest-dark-sB-x3p7T.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>Y(()=>import(`./everforest-light-Df2xbC6M.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-C-LZuMrd.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-default-DXG-b-1a.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-dimmed-Bx1FflLF.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-high-contrast-B_tTalzw.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>Y(()=>import(`./github-light-EUqPIrTm.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>Y(()=>import(`./github-light-default-BXViO-2h.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>Y(()=>import(`./github-light-high-contrast-B68TUdTA.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>Y(()=>import(`./gruvbox-dark-hard-C820rvS2.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>Y(()=>import(`./gruvbox-dark-medium-BPjhmG05.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>Y(()=>import(`./gruvbox-dark-soft-MrdJrrXF.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>Y(()=>import(`./gruvbox-light-hard-BC_s9l72.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>Y(()=>import(`./gruvbox-light-medium-BAWPOn9u.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>Y(()=>import(`./gruvbox-light-soft-BSMLrYjP.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>Y(()=>import(`./horizon-CE9ld1lL.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>Y(()=>import(`./horizon-bright-DSNQnXHK.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>Y(()=>import(`./houston-CsvMBhTu.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>Y(()=>import(`./kanagawa-dragon-Bozd7klA.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>Y(()=>import(`./kanagawa-lotus-BmuOG9ZW.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>Y(()=>import(`./kanagawa-wave-BML5mF2J.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>Y(()=>import(`./laserwave-C_8bwKvT.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>Y(()=>import(`./light-plus-DVQuIRkW.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-Bm3Qr25_.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-darker-2IIEA8gg.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>Y(()=>import(`./material-theme-lighter-uhdI0v04.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-ocean-CHQ94UKr.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-palenight-B5W6OYN7.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>Y(()=>import(`./min-dark-BSWPekZh.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>Y(()=>import(`./min-light-DDpmG2fV.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>Y(()=>import(`./monokai-BscAjiQZ.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>Y(()=>import(`./night-owl-DhmEMT88.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>Y(()=>import(`./night-owl-light-eJ-hLW7d.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>Y(()=>import(`./nord-Cb4Vim4T.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>Y(()=>import(`./one-dark-pro-C6YyR8OD.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>Y(()=>import(`./one-light-D7Lr4KcI.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>Y(()=>import(`./plastic-DQwYfKfQ.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>Y(()=>import(`./poimandres-DRFjx7u4.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>Y(()=>import(`./red-CYlAq2b0.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>Y(()=>import(`./rose-pine-aMsaMD1D.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>Y(()=>import(`./rose-pine-dawn-8PwUyIlP.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>Y(()=>import(`./rose-pine-moon-DO-qXg-I.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>Y(()=>import(`./slack-dark-DnToyrRv.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>Y(()=>import(`./slack-ochin-B2OO5cIa.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>Y(()=>import(`./snazzy-light-4G7pJPwS.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>Y(()=>import(`./solarized-dark-b97czJOk.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>Y(()=>import(`./solarized-light-DFPxpIYQ.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>Y(()=>import(`./synthwave-84-nFMaYfgc.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>Y(()=>import(`./tokyo-night-oM2G3aXe.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>Y(()=>import(`./vesper-DdrHHSXu.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>Y(()=>import(`./vitesse-black-fwtXNY1n.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>Y(()=>import(`./vitesse-dark-BZCL-v6S.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>Y(()=>import(`./vitesse-light-VbXTXTou.js`),[]))}],qU=Object.fromEntries(KU.map(e=>[e.id,e.import])),JU=tt({langs:Yf,themes:qU,engine:()=>(0,Xf.createOnigurumaEngine)(Y(()=>import(`./wasm-BnjxR4X6.js`),[]))}),{codeToHtml:YU,codeToHast:XU,codeToTokens:ZU,codeToTokensBase:QU,codeToTokensWithThemes:$U,getSingletonHighlighter:eW,getLastGrammarState:tW}=$e(JU,{guessEmbeddedLanguages:et});self.MonacoEnvironment={async getWorker(){return new(await(Y(()=>import(`./editor.worker-CGG2Yh4v.js`),[]))).default}};function nW(e,t){let n=eu.registerCommand(`offsite.block`,(e,n)=>t(n)),r=e===`stage`?`Stage`:`Unstage`,i={id:e===`stage`?`add`:`remove`},a=[Dn.appendMenuItem(O.DiffEditorHunkToolbar,{command:{id:`offsite.block`,title:`${r} Block`,icon:i},group:`primary`,order:10}),Dn.appendMenuItem(O.DiffEditorSelectionToolbar,{command:{id:`offsite.block`,title:`${r} Selection`,icon:i},group:`primary`,order:10})];return()=>{n.dispose();for(let e of a)e.dispose()}}function rW(e,t,n){let r=t.getValue();for(let i of n.innerChanges.slice().reverse()){let n=i.modifiedRange;r=r.slice(0,t.getOffsetAt({lineNumber:n.startLineNumber,column:n.startColumn}))+e.getValueInRange(i.originalRange)+r.slice(t.getOffsetAt({lineNumber:n.endLineNumber,column:n.endColumn}))}return r}var iW=JU({themes:[],langs:[]}),aW=new Map([[`tsx`,()=>Y(()=>import(`./typescript-Dy13l_qr.js`),__vite__mapDeps([13,8,1,2,3,4]))],[`jsx`,()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))],[`json`,()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))],[`jsonc`,()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))],[`shellscript`,()=>Y(()=>import(`./shell-CC2rA5mh.js`),[])],[`docker`,()=>Y(()=>import(`./dockerfile-DZFCIeNp.js`),[])],[`c`,()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])],[`objective-cpp`,()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])],[`vue`,()=>Y(()=>import(`./html-86U_8x8W.js`),__vite__mapDeps([6,1,2,3,4]))],[`svelte`,()=>Y(()=>import(`./html-86U_8x8W.js`),__vite__mapDeps([6,1,2,3,4]))]]);async function oW(e){let t=Ye(e),n=Jf.find(e=>e.id===t||e.aliases?.includes(t)===!0);if(n===void 0)return{id:`plaintext`,name:`Plain Text`};let r=await iW;if(!r.getLoadedLanguages().includes(n.id)){if(await r.loadLanguage(n.import),!qc.getLanguages().some(e=>e.id===n.id)){qc.register({id:n.id});let e=aW.get(n.id);e!==void 0&&qc.setLanguageConfiguration(n.id,(await e()).conf)}await sW()}return{id:n.id,name:n.name}}async function sW(){let e=Oe(),t=KU.find(t=>t.id===e.codeTheme);if(t===void 0)throw Error(`unknown code theme ${e.codeTheme}`);let n=(await t.import()).default,r=await iW;await r.loadTheme({...n,colors:{...n.colors,"editor.background":e.background}}),Tp(r,Ju),eu.setTheme(e.codeTheme)}function cW(e){return{fontFamily:e.font.family,fontSize:e.font.size,lineHeight:e.font.lineHeight,fontLigatures:e.font.ligatures?e.font.features===``||e.font.features:!1,cursorStyle:e.cursor.style===`bar`?`line`:e.cursor.style,cursorBlinking:e.cursor.blink?`expand`:`solid`,tabSize:e.tabSize,insertSpaces:!0,detectIndentation:!1,trimAutoWhitespace:!1,wordWrap:e.wordWrap?`on`:`off`,wrappingStrategy:`advanced`,minimap:{enabled:!1},stickyScroll:{enabled:!1},overviewRulerBorder:!1,padding:{top:3,bottom:48},cursorSurroundingLines:2,copyWithSyntaxHighlighting:!1,accessibilitySupport:`off`,guides:{bracketPairs:!0,bracketPairsHorizontal:!1,highlightActiveBracketPair:!0,highlightActiveIndentation:!0},dragAndDrop:!1,glyphMargin:!1,useTabStops:!1,selectionHighlight:!1,emptySelectionClipboard:!1,renderWhitespace:`selection`,smartSelect:{selectLeadingAndTrailingWhitespace:!1},scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8},scrollBeyondLastLine:!1,smoothScrolling:!0,hover:{above:!1},find:{cursorMoveOnType:!1},acceptSuggestionOnCommitCharacter:!1,suggestSelection:`first`,suggest:{localityBonus:!0,insertMode:`replace`,snippetsPreventQuickSuggestions:!1},quickSuggestions:{comments:`on`,strings:`on`,other:`on`},quickSuggestionsDelay:0}}async function lW(e){await document.fonts.load(`${e.font.size}px ${e.font.family}`),eu.remeasureFonts()}function uW(e){let t=e.model,n=e.editor,r=e.machine,i=e.projectId,a=e.path,o=(0,X.useRef)(null),s=(0,X.useCallback)(e=>{let n=t.onDidChangeContent(e);return()=>n.dispose()},[t]),c=(0,X.useDeferredValue)((0,X.useSyncExternalStore)(s,()=>t.getValue())),l=(0,X.useMemo)(()=>({img(e){return(0,Z.jsx)(dW,{machine:r,projectId:i,file:a,src:e.src,alt:e.alt,width:e.width,height:e.height})}}),[r,i,a]);return(0,X.useEffect)(()=>{if(n===null)return;let e=n.onDidScrollChange(e=>{let t=o.current;t!==null&&e.scrollTopChanged&&!t.matches(`:hover`)&&(t.scrollTop=e.scrollTop/(n.getScrollHeight()-n.getLayoutInfo().height)*(t.scrollHeight-t.clientHeight))});return()=>e.dispose()},[n]),(0,Z.jsx)(`div`,{ref:o,className:Ve(`border-sidebar-border bg-background min-w-0 flex-1 overflow-y-auto p-6`,n!==null&&`border-l`),onScroll:e=>{let t=e.currentTarget;n!==null&&t.matches(`:hover`)&&n.setScrollTop(t.scrollTop/(t.scrollHeight-t.clientHeight)*(n.getScrollHeight()-n.getLayoutInfo().height),eu.ScrollType.Immediate)},onClickCapture:t=>{let n=(t.target instanceof Element?t.target.closest(`a`):null)?.getAttribute(`href`)??null;n===null||fW(n)||(t.preventDefault(),t.stopPropagation(),n.startsWith(`#`)?mW(t.currentTarget,n.slice(1))?.scrollIntoView():e.onOpen(pW(a,n)))},children:(0,Z.jsx)(le,{text:c.replace(/^---\r?\n[\s\S]*?\r?\n---(\r?\n|$)/,``),components:l})})}function dW(e){let t=e.src??``,n=fW(t),[r,i]=(0,X.useState)(void 0);return(0,X.useEffect)(()=>{if(n)return;let r=!0;async function a(){try{let n=await u(e.machine,e.projectId,pW(e.file,t));r&&i(n)}catch{r&&i(void 0)}}return a(),()=>{r=!1}},[n,e.machine,e.projectId,e.file,t]),(0,Z.jsx)(`img`,{src:n?t:r,alt:e.alt,width:e.width,height:e.height,className:`max-w-full`})}function fW(e){return/^([a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function pW(e,t){let n=e.split(`/`).map(encodeURIComponent).join(`/`),r=new URL(t,`file:///${n}`).pathname.slice(1);try{return decodeURIComponent(r)}catch{return r}}function mW(e,t){return[...e.querySelectorAll(`h1, h2, h3, h4, h5, h6`)].find(e=>hW(e.textContent)===t.toLowerCase())}function hW(e){return e.trim().toLowerCase().replace(/[^\p{L}\p{N}\s_-]/gu,``).replaceAll(/\s/g,`-`)}function gW(e){return(0,Z.jsx)(me,{open:e.path!==null,onOpenChange:t=>{t||e.onCancel()},children:(0,Z.jsxs)(ie,{children:[(0,Z.jsxs)(Ce,{children:[(0,Z.jsx)(b,{children:`${yp(e.path??``)} changed on disk`}),(0,Z.jsx)(g,{children:`Something else changed this file after you opened it. Overwriting replaces that version with yours.`})]}),(0,Z.jsxs)(ye,{children:[(0,Z.jsx)(ae,{children:`Cancel`}),(0,Z.jsx)(de,{onClick:e.onOverwrite,children:`Overwrite`})]})]})})}function _W(e){return(0,Z.jsx)(me,{open:e.open,onOpenChange:t=>{t||e.onCancel()},children:(0,Z.jsx)(ie,{children:(0,Z.jsx)(vW,{tabs:e.tabs,onFinish:e.onFinish})})})}function vW(e){let t=e.tabs.map(e=>e.spec.path);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Ce,{children:[(0,Z.jsx)(b,{children:t.length===1?`Do you want to save the changes you made to ${yp(t[0])}?`:`Do you want to save the changes to the following ${t.length} files?`}),(0,Z.jsxs)(g,{children:[t.length>1&&`${t.map(yp).join(`, `)}. `,`Your changes will be lost if you don't save them.`]})]}),(0,Z.jsxs)(ye,{children:[(0,Z.jsx)(ae,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`outline`,onClick:()=>e.onFinish(!1),children:`Don't Save`}),(0,Z.jsx)(de,{onClick:()=>e.onFinish(!0),children:t.length===1?`Save`:`Save All`})]})]})}function yW(e){let[t,n]=(0,X.useState)(null);return(0,X.useEffect)(()=>{let t=e.editor;if(t===null)return;n(bW(t));let r=[t.onDidChangeCursorSelection(()=>n(bW(t))),t.onDidChangeModel(()=>n(bW(t))),t.onDidChangeModelOptions(()=>n(bW(t)))];return()=>{for(let e of r)e.dispose()}},[e.editor]),(0,Z.jsxs)(`div`,{className:`bg-sidebar border-sidebar-border text-muted-foreground flex h-[22px] shrink-0 items-center justify-end gap-4 border-t px-3 text-xs whitespace-nowrap`,children:[e.children,e.language!==null&&t!==null&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{children:[`Ln `,t.line,`, Col `,t.column,t.selected>0&&` (${t.selected} selected)`]}),(0,Z.jsxs)(`span`,{children:[t.spaces?`Spaces`:`Tab Size`,`: `,t.tabSize]}),(0,Z.jsx)(`span`,{children:`UTF-8`}),(0,Z.jsx)(`span`,{children:t.eol}),(0,Z.jsx)(`span`,{children:e.language})]})]})}function bW(e){let t=e.getModel(),n=e.getSelection();if(t===null||n===null)return null;let r=t.getOptions();return{line:n.positionLineNumber,column:n.positionColumn,selected:t.getValueLengthInRange(n),tabSize:r.tabSize,spaces:r.insertSpaces,eol:t.getEndOfLineSequence()===eu.EndOfLineSequence.LF?`LF`:`CRLF`}}function xW(e){let t=SW(e.spec),n=t?.kind??null,r=(0,X.useEffectEvent)(n=>{let r=e.spec,i=e.original,a=e.modified;if(r===void 0||t===null||i===null||a===null)throw Error(`This diff has no blocks to stage`);e.onPerform(()=>je(e.machine,`git.run`,{projectId:e.projectId,repo:r.repo,action:{kind:`stageContent`,path:t.path,content:t.kind===`stage`?n.originalWithModifiedChanges:rW(i,a,n.mapping)}}))});(0,X.useEffect)(()=>{if(n!==null)return nW(n,r)},[n])}function SW(e){return e?.left?.kind===`git`&&e.left.ref===``&&e.right.kind===`worktree`?{kind:`stage`,path:e.left.path}:e?.left?.kind===`git`&&e.right.kind===`git`&&e.right.ref===``?{kind:`unstage`,path:e.right.path}:null}function CW(){let[e,t]=(0,X.useState)(null),[n,r]=(0,X.useState)(null);return{editor:e,diff:n,codeHost:(0,X.useCallback)(e=>{if(e===null)return;let n=eu.create(e,{automaticLayout:!0,model:null});return t(n),()=>n.dispose()},[]),diffHost:(0,X.useCallback)(e=>{if(e===null)return;let t=eu.createDiffEditor(e,{automaticLayout:!0,originalEditable:!1,experimental:{showMoves:!0},useInlineViewWhenSpaceIsLimited:!0});return r(t),()=>t.dispose()},[])}}var wW={M:`Modified`,T:`Type Changed`,A:`Added`,D:`Deleted`,R:`Renamed`,C:`Copied`,U:`Untracked`,"!":`Conflict`},TW={M:`text-warning`,T:`text-warning`,A:`text-success`,D:`text-destructive`,R:`text-success`,C:`text-success`,U:`text-success`,"!":`text-destructive`};function EW(e,t){return e===``?t:`${e}/${t}`}function DW(e){return e.slice(0,7)}function OW(e,t,n){let r=EW(e,n.path),i={kind:`git`,ref:``,path:n.path};function a(t,n,i){return{id:`${t}:${r}`,repo:e,path:r,label:`${yp(r)} (${t})`,left:n,right:i}}return t===`merge`?a(`Working Tree`,null,{kind:`worktree`}):t===`staged`&&n.status===`A`?a(`Index`,null,i):t===`staged`&&n.status===`D`?a(`Deleted`,null,{kind:`git`,ref:`HEAD`,path:n.path}):t===`staged`?a(`Index`,{kind:`git`,ref:`HEAD`,path:n.from??n.path},i):n.status===`U`?a(`Untracked`,null,{kind:`worktree`}):n.status===`A`?a(`Intent to Add`,null,{kind:`worktree`}):n.status===`D`?a(`Deleted`,null,i):a(`Working Tree`,i,{kind:`worktree`})}function kW(e,t){return{id:`File:${t}`,repo:e,path:t,label:yp(t),left:null,right:{kind:`worktree`}}}function AW(e,t){return{...kW(e,t),id:`Preview:${t}`,label:`${yp(t)} (Preview)`,preview:!0}}function jW(e,t){let n=EW(e,t.path);return{id:`HEAD:${n}`,repo:e,path:n,label:`${yp(n)} (HEAD)`,left:null,right:{kind:`git`,ref:`HEAD`,path:t.from??t.path}}}function MW(e,t,n){let r=EW(e,n.path),i=t.parents.at(0)??null;return{id:`${t.hash}:${r}`,repo:e,path:r,label:`${yp(r)} (${i===null?`empty`:DW(i)} ↔ ${DW(t.hash)})`,left:i===null||n.status===`A`?{kind:`empty`}:{kind:`git`,ref:i,path:n.from??n.path},right:n.status===`D`?{kind:`empty`}:{kind:`git`,ref:t.hash,path:n.path}}}function NW(e,t){return[...e].sort((e,n)=>t===`name`?yp(e.path).localeCompare(yp(n.path))||e.path.localeCompare(n.path):t===`status`&&e.status.localeCompare(n.status)||e.path.localeCompare(n.path))}function PW(e,t){let n={folders:new Map,files:[]};for(let t of e){let e=n,r=vp(t.path);for(let t of r===``?[]:r.split(`/`)){let n=e.folders.get(t)??{folders:new Map,files:[]};e.folders.set(t,n),e=n}e.files.push(t)}return FW(n,``,t)}function FW(e,t,n){return[...[...e.folders].sort((e,t)=>e[0].localeCompare(t[0])).map(e=>{let r=e[0],i=e[1];for(;i.files.length===0&&i.folders.size===1;){let e=[...i.folders][0];r=`${r}/${e[0]}`,i=e[1]}let a=t===``?r:`${t}/${r}`,o=FW(i,a,n);return{kind:`folder`,path:a,label:r,children:o,resources:o.flatMap(e=>e.kind===`file`?[e.resource]:e.resources)}}),...NW(e.files,n).map(e=>({kind:`file`,resource:e}))]}var IW=new WeakSet;function LW(e){let[t,n]=(0,X.useState)(()=>({tabs:e.saved.tabs.map(e=>({spec:e.spec,document:{status:`loading`}})),active:e.saved.active})),r=(0,X.useRef)(t),i=(0,X.useRef)(!0),a=(0,X.useRef)(new Set),o=(0,X.useRef)(Promise.resolve()),s=t.tabs,c=t.active,[l,u]=(0,X.useState)(null);_e(de,!0);let[d,f]=(0,X.useState)(null),p=s.filter(e=>e.document.status===`text`&&e.document.dirty),m=l?.kind===`tab`?s.filter(e=>e.spec.id===l.id):p,h=p.length>0;(0,X.useEffect)(()=>{if(!h)return;function e(e){e.preventDefault()}return addEventListener(`beforeunload`,e),()=>removeEventListener(`beforeunload`,e)},[h]),(0,X.useEffect)(()=>(i.current=!0,()=>{i.current=!1,queueMicrotask(()=>{if(i.current)return;let e=new Set([...a.current,...r.current.tabs.flatMap(e=>RW(e.document))]);for(let t of e)t.dispose()})}),[]);function g(e){r.current={...r.current,...e},n(r.current)}function _(e){g({active:e})}function v(){let e=new Set(s.flatMap(e=>RW(e.document)));for(let t of a.current)e.has(t)||t.dispose();a.current=e}async function y(t,n){if(n.kind===`empty`)return``;if(n.kind===`git`)return je(e.machine,`git.show`,{projectId:e.projectId,repo:t.repo,ref:n.ref,path:n.path});let r=await je(e.machine,`files.read`,{projectId:e.projectId,path:t.path});return r.kind===`text`?r.content:null}function b(e){return Promise.all([e.left===null?``:y(e,e.left),y(e,e.right)])}function ee(e,t){g({tabs:r.current.tabs.map(n=>n.spec.id===e?{...n,document:t}:n)})}async function x(t){try{if(t.left===null&&t.right.kind===`worktree`){let n=await je(e.machine,`files.read`,{projectId:e.projectId,path:t.path});return n.kind===`image`?{status:`image`,src:`data:${n.mediaType};base64,${n.data}`}:n.kind===`large`?{status:`large`,size:n.size,limit:n.limit}:n.kind===`binary`?{status:`binary`}:await te(t,``,n.content)}let n=await b(t);return n[0]===null||n[1]===null?{status:`binary`}:await te(t,n[0],n[1])}catch(e){return{status:`error`,message:Be(e)}}}async function te(e,t,n){let i=await oW(e.path),a=e.left===null?null:eu.createModel(t,i.id),o=eu.createModel(n,i.id);return o.onDidChangeContent(()=>{if(IW.has(o))return;let e=r.current.tabs,t=e.find(e=>e.document.status===`text`&&e.document.modified===o);if(t===void 0||t.document.status!==`text`)return;let n=o.getAlternativeVersionId()!==t.document.saved;t.document.dirty!==n&&g({tabs:e.map(e=>e===t?{...t,document:{...t.document,dirty:n}}:e)})}),{status:`text`,original:a,modified:o,language:i.name,saved:o.getAlternativeVersionId(),dirty:!1,base:n}}async function ne(e){let t=r.current.tabs.find(t=>t.spec.id===e);if(t?.document.status!==`text`||t.document.dirty)return;let n=t.document,i=n.modified.getAlternativeVersionId();try{let a=await b(t.spec);if(n.modified.isDisposed()||n.modified.getAlternativeVersionId()!==i)return;let o=a[1];if(a[0]===null||o===null){ee(e,{status:`binary`});return}n.original!==null&&zW(n.original,a[0]),IW.add(n.modified),zW(n.modified,o),IW.delete(n.modified);let s=n.modified.getAlternativeVersionId();(s!==i||o!==n.base)&&g({tabs:r.current.tabs.map(e=>e.document.status===`text`&&e.document.modified===n.modified?{...e,document:{...e.document,saved:s,base:o}}:e)})}catch(t){ee(e,{status:`error`,message:Be(t)})}}async function re(e){g({active:e.id}),r.current.tabs.some(t=>t.spec.id===e.id)||(g({tabs:[...r.current.tabs,{spec:e,document:{status:`loading`}}]}),await ie(e))}async function ie(e){let t=await x(e),n=r.current.tabs.some(t=>t.spec.id===e.id&&t.document.status===`loading`);if(!i.current||!n)for(let e of RW(t))e.dispose();else ee(e.id,t)}function ae(e,t){let n=o.current.then(()=>oe(e,t));return o.current=n,n}async function oe(t,n){let i=r.current.tabs.find(e=>e.spec.id===t);if(i?.document.status!==`text`||!i.document.dirty||i.document.modified.isDisposed()||i.spec.right.kind!==`worktree`||i.spec.preview===!0)return!0;let a=i.document.modified,o=a.getAlternativeVersionId(),s=a.getValue();try{if(!await je(e.machine,`files.write`,{projectId:e.projectId,path:i.spec.path,content:s,base:n?null:i.document.base}))return f(i.spec),!1}catch(e){return Te(e),!1}return g({tabs:r.current.tabs.map(e=>e.document.status===`text`&&e.document.modified===a?{...e,document:{...e.document,saved:o,dirty:a.getAlternativeVersionId()!==o,base:s}}:e)}),e.onSaved(),!0}function se(e){let t=r.current,n=t.tabs.filter(t=>!e(t.spec)),i=t.tabs.findIndex(e=>e.spec.id===t.active);g({tabs:n,active:i!==-1&&e(t.tabs[i].spec)?n.at(Math.min(i,n.length-1))?.spec.id??null:t.active})}function ce(e,t){function n(n){return n===e?t:n.startsWith(`${e}/`)?`${t}${n.slice(e.length)}`:n}let i=r.current,a=i.tabs.map(e=>e.spec.id===kW(e.spec.repo,e.spec.path).id?{...e,spec:kW(e.spec.repo,n(e.spec.path))}:e.spec.id===AW(e.spec.repo,e.spec.path).id?{...e,spec:AW(e.spec.repo,n(e.spec.path))}:e),o=i.tabs.findIndex(e=>e.spec.id===i.active);g({tabs:a,active:o===-1?i.active:a[o].spec.id})}function le(e){se(t=>t.right.kind===`worktree`&&(t.path===e||t.path.startsWith(`${e}/`)))}function ue(e){p.some(t=>t.spec.id===e)?u({kind:`tab`,id:e}):se(t=>t.id===e)}function de(){p.length>0?u({kind:`dialog`}):e.onClose()}async function fe(t){l!==null&&(u(null),t&&(await Promise.all(m.map(e=>ae(e.spec.id,!1)))).includes(!1)||(l.kind===`tab`&&se(e=>e.id===l.id),l.kind===`dialog`&&e.onClose()))}function pe(){d!==null&&ae(d.id,!0),f(null)}let me=(0,X.useEffectEvent)(()=>{for(let t of e.saved.tabs)ie(t.spec)});return(0,X.useEffect)(()=>me(),[]),{tabs:s,active:c,setActive:_,dirty:p,closing:l,setClosing:u,closingTabs:m,conflict:{path:d?.path??null,onCancel:()=>f(null),onOverwrite:pe},open:re,reload:ne,save:ae,close:ue,renamed:ce,deleted:le,requestClose:de,finish:fe,releaseModels:v}}function RW(e){return e.status===`text`?e.original===null?[e.modified]:[e.original,e.modified]:[]}function zW(e,t){let n=e.getValue(),r=0;for(;r<n.length&&r<t.length&&n[r]===t[r];)r++;let i=0;for(;i<n.length-r&&i<t.length-r&&n[n.length-1-i]===t[t.length-1-i];)i++;(r!==n.length||r!==t.length)&&e.applyEdits([{range:yd.fromPositions(e.getPositionAt(r),e.getPositionAt(n.length-i)),text:t.slice(r,t.length-i)}])}function BW(e){return(0,Z.jsxs)(o,{children:[(0,Z.jsxs)(s,{className:`hover:bg-accent data-[state=open]:bg-accent mr-auto ml-1 flex h-6 min-w-0 cursor-pointer items-center gap-1 rounded-sm px-1 text-[11px] font-bold tracking-wide uppercase outline-none`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:e.view===`explorer`?`Explorer`:`Source Control`}),(0,Z.jsx)(Pe,{icon:xe,className:`size-3.5 shrink-0`})]}),(0,Z.jsx)(f,{align:`start`,className:`bg-popover! w-44`,children:(0,Z.jsxs)(a,{value:e.view,onValueChange:t=>{(t===`explorer`||t===`scm`)&&e.onView(t)},children:[(0,Z.jsx)(m,{value:`explorer`,children:`Explorer`}),(0,Z.jsx)(m,{value:`scm`,children:`Source Control`})]})})]})}function VW(e){return(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 pl-1.5`,children:[(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Open File`,"aria-label":`Open File`,onClick:e.onOpenFile,children:(0,Z.jsx)(Pe,{icon:oe,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Previous Change`,"aria-label":`Previous Change`,onClick:e.onPrevious,children:(0,Z.jsx)(Pe,{icon:Se,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Next Change`,"aria-label":`Next Change`,onClick:e.onNext,children:(0,Z.jsx)(Pe,{icon:n,className:`size-4`})}),(0,Z.jsxs)(o,{children:[(0,Z.jsx)(s,{asChild:!0,children:(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`More Actions...`,"aria-label":`More Actions`,children:(0,Z.jsx)(Pe,{icon:ve,className:`size-4`})})}),(0,Z.jsxs)(f,{align:`end`,className:`bg-popover! w-80`,children:[(0,Z.jsx)(l,{checked:e.settings.inline,onCheckedChange:t=>e.onSettings({inline:t}),children:`Inline View`}),(0,Z.jsx)(l,{checked:e.settings.whitespace,onCheckedChange:t=>e.onSettings({whitespace:t}),children:`Show Leading/Trailing Whitespace Differences`}),(0,Z.jsx)(l,{checked:e.settings.collapse,onCheckedChange:t=>e.onSettings({collapse:t}),children:`Collapse Unchanged Regions`})]})]})]})}function HW(e){let t=e.repo;return(0,Z.jsxs)(`div`,{className:`mr-auto -ml-1.5 flex h-full items-center`,children:[(0,Z.jsxs)(`button`,{type:`button`,title:`${t.branch??`HEAD`} (Git) - Checkout Branch/Tag...`,className:`hover:bg-accent hover:text-foreground flex h-full cursor-pointer items-center gap-1 px-1.5 tabular-nums`,onClick:e.onCheckout,children:[(0,Z.jsx)(Pe,{icon:re,className:`size-3.5`}),t.branch??(t.head===null?`HEAD`:DW(t.head)),t.changes.length>0&&`*`,t.staged.length>0&&`+`,t.merge.length>0&&`!`]}),t.upstream!==null&&(0,Z.jsxs)(`button`,{type:`button`,title:`Synchronize Changes`,disabled:e.busy,className:`hover:bg-accent hover:text-foreground flex h-full cursor-pointer items-center gap-1 px-1.5 tabular-nums`,onClick:e.onSync,children:[(0,Z.jsx)(Pe,{icon:te,className:Ve(`size-3.5`,e.busy&&`animate-spin`)}),(t.behind>0||t.ahead>0)&&`${t.behind}↓ ${t.ahead}↑`]}),t.upstream===null&&t.branch!==null&&t.remote&&(0,Z.jsx)(`button`,{type:`button`,title:`Publish Branch`,"aria-label":`Publish Branch`,disabled:e.busy,className:`hover:bg-accent hover:text-foreground flex h-full cursor-pointer items-center gap-1 px-1.5 tabular-nums`,onClick:e.onPublish,children:(0,Z.jsx)(Pe,{icon:_,className:`size-3.5`})})]})}var UW={all:null,amend:!1,then:null};function WW(e){let t=e.repo,r=t.merge.length+t.staged.length+t.changes.length>0,i=!r&&t.branch!==null&&t.upstream===null&&t.remote,a=!r&&t.upstream!==null&&(t.ahead>0||t.behind>0);return(0,Z.jsxs)(`div`,{className:Ve(`grid gap-1.5 pt-1.5 pr-2 pb-1.5`,e.nested?`pl-4`:`pl-2`),children:[(0,Z.jsxs)(`div`,{className:`bg-input/40 border-input focus-within:border-primary relative rounded-sm border`,children:[(0,Z.jsx)(`textarea`,{rows:7,"aria-label":`Source Control Input`,value:e.message,placeholder:`Message (${ze===`⌘`?`⌘Enter`:`Ctrl+Enter`} to commit on "${t.branch??(t.head===null?`HEAD`:DW(t.head))}")`,className:`placeholder:text-muted-foreground block w-full resize-none bg-transparent py-1 pr-7 pl-2 text-[13px] leading-[18px] outline-none`,onChange:t=>e.onMessage(t.target.value),onKeyDown:t=>{(t.metaKey||t.ctrlKey)&&t.key===`Enter`&&(t.preventDefault(),e.onCommit({...UW,then:`push`}))}}),(0,Z.jsx)(`button`,{type:`button`,title:e.generating?`Cancel`:`Generate Commit Message`,"aria-label":e.generating?`Cancel`:`Generate Commit Message`,className:`text-muted-foreground hover:text-foreground hover:bg-accent absolute top-[3px] right-[3px] grid size-5 cursor-pointer place-items-center rounded-sm`,onClick:e.generating?e.onCancel:e.onGenerate,children:(0,Z.jsx)(Pe,{icon:e.generating?ip:y,className:`size-3.5`})})]}),i&&(0,Z.jsxs)(Fe,{size:`xs`,className:`w-full rounded-sm`,disabled:e.busy,onClick:()=>e.onRemote(`git.push`),children:[(0,Z.jsx)(Pe,{icon:_}),`Publish Branch`]}),a&&(0,Z.jsxs)(Fe,{size:`xs`,className:`w-full rounded-sm`,disabled:e.busy,onClick:()=>e.onRemote(`git.sync`),children:[(0,Z.jsx)(Pe,{icon:te}),`Sync Changes`,t.behind>0&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center tabular-nums`,children:[t.behind,(0,Z.jsx)(Pe,{icon:n,className:`size-3`})]}),t.ahead>0&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center tabular-nums`,children:[t.ahead,(0,Z.jsx)(Pe,{icon:Se,className:`size-3`})]})]}),!i&&!a&&(0,Z.jsxs)(`div`,{className:`flex`,children:[(0,Z.jsxs)(Fe,{size:`xs`,className:`flex-1 rounded-sm rounded-r-none [&:active:not([aria-haspopup])]:scale-100`,disabled:!r||e.busy,onClick:()=>e.onCommit({...UW,then:`push`}),children:[(0,Z.jsx)(Pe,{icon:ee}),`Commit & Push`]}),(0,Z.jsxs)(o,{children:[(0,Z.jsx)(s,{asChild:!0,children:(0,Z.jsx)(Fe,{size:`xs`,className:`rounded-sm rounded-l-none px-1 before:absolute before:inset-y-1 before:-left-px before:w-px before:bg-white/10`,disabled:!r||e.busy,title:`More Actions...`,"aria-label":`More Commit Actions`,children:(0,Z.jsx)(Pe,{icon:xe})})}),(0,Z.jsxs)(f,{align:`end`,className:`bg-popover! w-48`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onCommit(UW),children:`Commit`}),(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,amend:!0}),children:`Commit (Amend)`}),(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,then:`push`}),children:`Commit & Push`}),(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,then:`sync`}),children:`Commit & Sync`})]})]})]})]})}var GW=[{id:`merge`,title:`Merge Changes`},{id:`staged`,title:`Staged Changes`},{id:`changes`,title:`Changes`}];function KW(e){let[t,n]=(0,X.useState)([]),[r,i]=(0,X.useState)(null),a=e.repo;function o(e){n(t.includes(e)?t.filter(t=>t!==e):[...t,e])}function s(t,n,r){let i=r===`group`?`All Changes`:`Changes`;return(0,Z.jsxs)(Z.Fragment,{children:[r===`file`&&n[0].status!==`D`&&(0,Z.jsx)(YW,{title:`Open File`,icon:oe,onClick:()=>e.onOpen(kW(a.path,EW(a.path,n[0].path)))}),t===`changes`&&(0,Z.jsx)(YW,{title:`Discard ${i}`,icon:op,onClick:()=>e.onDiscard(n)}),t===`staged`&&(0,Z.jsx)(YW,{title:`Unstage ${i}`,icon:Qf,onClick:()=>e.onUnstage(n)}),t!==`staged`&&(0,Z.jsx)(YW,{title:t===`merge`&&r===`group`?`Stage All Merge Changes`:`Stage ${i}`,icon:Zf,onClick:()=>e.onStage(n)})]})}function c(t,n,r){let o=OW(a.path,t,n),c=EW(a.path,n.path);return(0,Z.jsxs)(`div`,{"data-resource":!0,role:`button`,tabIndex:0,title:`${e.root}/${c} • ${wW[n.status]}`,className:Ve(`group/row hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none focus-visible:ring-1 focus-visible:ring-inset`,o.id===e.active&&`bg-sidebar-row-active`),style:{paddingLeft:20+r*8},onClick:()=>e.onOpen(o),onKeyDown:t=>{t.key===`Enter`&&e.onOpen(o)},onContextMenu:()=>i({group:t,resource:n}),children:[(0,Z.jsx)(Ge,{path:n.path}),(0,Z.jsx)(`span`,{className:Ve(`min-w-0 shrink-0 truncate`,TW[n.status],n.status===`D`&&`line-through`),children:yp(n.path)}),!e.tree&&(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 truncate text-xs`,children:vp(n.path)}),(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-0.5`,children:[(0,Z.jsx)(`span`,{className:`hidden items-center gap-0.5 group-hover/row:flex group-focus-visible/row:flex`,children:s(t,[n],`file`)}),(0,Z.jsx)(`span`,{className:Ve(`w-3.5 text-center text-xs`,TW[n.status]),children:n.status})]})]},`${t}:${n.path}`)}function l(e,n,r){return n.map(n=>{if(n.kind===`file`)return c(e,n.resource,r);let i=`${a.path}:${e}:${n.path}`,u=!t.includes(i);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,title:n.path,className:`group/row hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none focus-visible:ring-1 focus-visible:ring-inset`,style:{paddingLeft:4+r*8},onClick:()=>o(i),onKeyDown:e=>{e.key===`Enter`&&o(i)},children:[(0,Z.jsx)(JW,{open:u}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:n.label}),(0,Z.jsx)(`span`,{className:`ml-auto hidden shrink-0 items-center gap-0.5 group-hover/row:flex group-focus-visible/row:flex`,children:s(e,n.resources,`folder`)})]}),u&&l(e,n.children,r+1)]},i)})}return(0,Z.jsxs)(pe,{children:[(0,Z.jsx)(ne,{asChild:!0,children:(0,Z.jsx)(`div`,{onContextMenu:e=>{e.target instanceof Element&&e.target.closest(`[data-resource]`)!==null||e.preventDefault()},children:GW.map(n=>{let r=a[n.id];if(r.length===0)return null;let i=`${a.path}:${n.id}`,u=!t.includes(i);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,className:`group/row hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none focus-visible:ring-1 focus-visible:ring-inset`,style:{paddingLeft:4+e.depth*8},onClick:()=>o(i),onKeyDown:e=>{e.key===`Enter`&&o(i)},children:[(0,Z.jsx)(JW,{open:u}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n.title}),(0,Z.jsx)(`span`,{className:`hidden shrink-0 items-center gap-0.5 group-hover/row:flex group-focus-visible/row:flex`,children:s(n.id,r,`group`)}),(0,Z.jsx)(`span`,{className:`bg-muted text-foreground grid h-4.5 min-w-4.5 shrink-0 place-items-center rounded-full px-1 text-[11px] tabular-nums`,children:r.length})]}),u&&(e.tree?l(n.id,PW(r,e.sort),e.depth+1):NW(r,e.sort).map(t=>c(n.id,t,e.depth+1)))]},n.id)})})}),r!==null&&(0,Z.jsx)(se,{className:`min-w-52`,children:(0,Z.jsx)(qW,{repo:a.path,root:e.root,group:r.group,resource:r.resource,onOpen:e.onOpen,onStage:e.onStage,onUnstage:e.onUnstage,onDiscard:e.onDiscard,onIgnore:e.onIgnore})})]})}function qW(e){let n=t(),r=e.resource;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(v,{onSelect:()=>e.onOpen(OW(e.repo,e.group,r)),children:`Open Changes`}),r.status!==`D`&&(0,Z.jsx)(v,{onSelect:()=>e.onOpen(kW(e.repo,EW(e.repo,r.path))),children:`Open File`}),r.status!==`U`&&r.status!==`A`&&(0,Z.jsx)(v,{onSelect:()=>e.onOpen(jW(e.repo,r)),children:`Open File (HEAD)`}),(0,Z.jsx)(x,{}),e.group===`staged`&&(0,Z.jsx)(v,{onSelect:()=>e.onUnstage([r]),children:`Unstage Changes`}),e.group!==`staged`&&(0,Z.jsx)(v,{onSelect:()=>e.onStage([r]),children:`Stage Changes`}),e.group===`changes`&&(0,Z.jsx)(v,{onSelect:()=>e.onDiscard([r]),children:`Discard Changes`}),r.status===`U`&&(0,Z.jsx)(v,{onSelect:()=>e.onIgnore([r]),children:`Add to .gitignore`}),(0,Z.jsx)(x,{}),(0,Z.jsx)(v,{onSelect:()=>void n.copy(`${e.root}/${EW(e.repo,r.path)}`),children:`Copy Path`}),(0,Z.jsx)(v,{onSelect:()=>void n.copy(EW(e.repo,r.path)),children:`Copy Relative Path`})]})}function JW(e){return(0,Z.jsx)(Pe,{icon:qe,"aria-hidden":!0,className:Ve(`text-muted-foreground size-4 shrink-0 transition-transform`,e.open&&`rotate-90`)})}function YW(e){return(0,Z.jsx)(`button`,{type:`button`,title:e.title,"aria-label":e.title,className:`text-foreground hover:bg-accent grid size-5 cursor-pointer place-items-center rounded-sm`,onClick:t=>{t.stopPropagation(),e.onClick()},children:(0,Z.jsx)(Pe,{icon:e.icon,className:`size-4`})})}var XW=50,ZW=11,QW=22,$W=[`#59A4F9`,`#FFB000`,`#DC267F`,`#994F00`,`#40B0A6`,`#B66DFF`];function eG(e){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(XW),[l,u]=(0,X.useState)(0),[d,f]=(0,X.useState)([]),[p,m]=(0,X.useState)({}),h=e.repos.find(e=>e.path===t)??e.repos.at(0),g=h?.path??null,_=h?.head??null,v=h?.upstream??null,y=h?.behind??0;(0,X.useEffect)(()=>{if(g===null||_===null){i([]);return}let t=!0;return je(e.machine,`git.history`,{projectId:e.projectId,repo:g,limit:s}).then(e=>{t&&(i(e),o(null))},e=>{t&&o(Be(e))}),()=>{t=!1}},[e.machine,e.projectId,g,_,v,y,s,l]);async function b(t){if(d.includes(t.hash))f(d.filter(e=>e!==t.hash));else if(f([...d,t.hash]),h!==void 0&&p[t.hash]===void 0)try{let n=await je(e.machine,`git.commitFiles`,{projectId:e.projectId,repo:h.path,hash:t.hash,parent:t.parents.at(0)??null});m(e=>({...e,[t.hash]:n}))}catch(e){Te(e)}}let ee=aG(r??[]);return(0,Z.jsxs)(`div`,{className:Ve(`border-sidebar-border relative flex shrink-0 flex-col border-t`,e.open&&`min-h-20`),style:e.open?{height:e.height}:void 0,children:[e.open&&(0,Z.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,className:`hover:bg-primary absolute inset-x-0 -top-0.5 z-10 h-1 cursor-row-resize touch-none transition-colors delay-100`,onPointerDown:t=>{let n=t.currentTarget.parentElement?.parentElement;if(n==null)return;let r=n.getBoundingClientRect();Re(t,t=>e.onHeight(Math.min(Math.max(r.bottom-t.clientY,80),r.height-120)))}}),(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,className:`group/row text-sidebar-foreground flex h-[22px] shrink-0 cursor-pointer items-center gap-0.5 pr-2 pl-0.5 outline-none select-none`,onClick:e.onToggle,onKeyDown:t=>{t.key===`Enter`&&e.onToggle()},children:[(0,Z.jsx)(Pe,{icon:qe,"aria-hidden":!0,className:Ve(`size-4 shrink-0 transition-transform`,e.open&&`rotate-90`)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] font-bold tracking-wide uppercase`,children:`Graph`}),e.repos.length>1&&(0,Z.jsx)(`select`,{"aria-label":`Repository`,value:h?.path??``,className:`bg-sidebar text-muted-foreground max-w-28 cursor-pointer truncate text-xs outline-none`,onClick:e=>e.stopPropagation(),onChange:e=>{n(e.target.value),f([]),c(XW)},children:e.repos.map(e=>(0,Z.jsx)(`option`,{value:e.path,children:e.path===``?`.`:e.path},e.path))}),e.open&&h!==void 0&&(0,Z.jsxs)(`span`,{className:`hidden items-center gap-0.5 group-hover/row:flex`,children:[(0,Z.jsx)(YW,{title:`Fetch From All Remotes`,icon:$f,onClick:()=>e.onFetch(h)}),(0,Z.jsx)(YW,{title:`Refresh`,icon:Ke,onClick:()=>u(l+1)})]})]}),e.open&&(0,Z.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[a!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground px-4 py-1 text-xs`,children:a}),a===null&&ee.length===0&&r!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground px-4 py-1 text-xs`,children:`No commits yet.`}),a===null&&h!==void 0&&ee.map(t=>{let n=t.commit,r=d.includes(n.hash);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,title:`${n.author}, ${new Date(n.date).toLocaleString()}\n\n${n.subject}\n\n${DW(n.hash)}`,className:`hover:bg-sidebar-row-hover flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none`,onClick:()=>void b(n),onKeyDown:e=>{e.key===`Enter`&&b(n)},children:[(0,Z.jsx)(tG,{row:t,child:!1}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:n.subject}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 shrink-[2] truncate text-xs`,children:n.author}),(0,Z.jsx)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:n.refs.map(e=>nG(e,h))})]}),r&&(p[n.hash]??[]).map(r=>{let i=MW(h.path,n,r);return(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,title:`${r.path} • ${wW[r.status]}`,className:Ve(`hover:bg-sidebar-row-hover flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none`,i.id===e.active&&`bg-sidebar-row-active`),onClick:()=>e.onOpen(i),onKeyDown:t=>{t.key===`Enter`&&e.onOpen(i)},children:[(0,Z.jsx)(tG,{row:t,child:!0}),(0,Z.jsx)(Ge,{path:r.path}),(0,Z.jsx)(`span`,{className:Ve(`min-w-0 shrink-0 truncate`,TW[r.status],r.status===`D`&&`line-through`),children:yp(r.path)}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 truncate text-xs`,children:vp(r.path)}),(0,Z.jsx)(`span`,{className:Ve(`ml-auto w-3.5 shrink-0 text-center text-xs`,TW[r.status]),children:r.status})]},r.path)})]},n.hash)}),r!==null&&r.length===s&&(0,Z.jsx)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground w-full cursor-pointer px-4 py-1 text-left text-xs`,onClick:()=>c(s+XW),children:`Load More…`})]})]})}function tG(e){let t=e.row,n=QW/2,r=rG(t.lane);return e.child?(0,Z.jsx)(`svg`,{"aria-hidden":!0,width:ZW*(t.width+1),height:QW,className:`shrink-0`,children:t.after.map(e=>(0,Z.jsx)(`line`,{x1:rG(e),x2:rG(e),y1:0,y2:QW,stroke:iG(e),strokeWidth:1},e))}):(0,Z.jsxs)(`svg`,{"aria-hidden":!0,width:ZW*(t.width+1),height:QW,className:`shrink-0`,children:[t.through.map(e=>(0,Z.jsx)(`line`,{x1:rG(e),x2:rG(e),y1:0,y2:QW,stroke:iG(e),strokeWidth:1},`through-${e}`)),t.up.map(e=>(0,Z.jsx)(`path`,{d:`M ${rG(e)} 0 Q ${rG(e)} ${n} ${r} ${n}`,fill:`none`,stroke:iG(e),strokeWidth:1},`up-${e}`)),t.down.map(e=>(0,Z.jsx)(`path`,{d:`M ${r} ${n} Q ${rG(e)} ${n} ${rG(e)} ${QW}`,fill:`none`,stroke:iG(e),strokeWidth:1},`down-${e}`)),(0,Z.jsx)(`circle`,{cx:r,cy:n,r:t.commit.parents.length>1?3.5:4,fill:t.commit.parents.length>1?`var(--sidebar)`:iG(t.lane),stroke:iG(t.lane),strokeWidth:t.commit.parents.length>1?2:0})]})}function nG(e,t){if(e.endsWith(`/HEAD`))return null;let n=e===`HEAD`||e.startsWith(`HEAD -> `),r=e.startsWith(`tag: `),i=e===t.upstream,a=e.replace(/^HEAD -> /,``).replace(/^tag: /,``);return(0,Z.jsxs)(`span`,{title:a,className:Ve(`inline-flex h-4 max-w-32 items-center gap-0.5 rounded-full px-1.5 text-[11px] font-medium`,n&&`text-background bg-[#59A4F9]`,i&&`text-background bg-[#B180D7]`,!n&&!i&&`bg-muted text-foreground`),children:[(0,Z.jsx)(Pe,{icon:r?ap:i?be:re,className:`size-3 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:a})]},e)}function rG(e){return ZW*(e+1)}function iG(e){return $W[e%$W.length]}function aG(e){let t=[];return e.map(e=>{let n=t,r=n.indexOf(e.hash),i=n.indexOf(null),a=r===-1?i===-1?n.length:i:r,o=n.map(t=>t===e.hash?null:t);o[a]=e.parents.at(0)??null;let s=e.parents.length>0?[a]:[];for(let t of e.parents.slice(1)){let e=o.indexOf(t);if(e!==-1){s.push(e);continue}let n=o.indexOf(null),r=n===-1?o.length:n;o[r]=t,s.push(r)}for(;o.length>0&&o.at(-1)===null;)o.pop();return t=o,{commit:e,lane:a,up:n.flatMap((t,n)=>t===e.hash?[n]:[]),through:n.flatMap((t,n)=>t!==null&&t!==e.hash?[n]:[]),down:s,after:o.flatMap((e,t)=>e===null?[]:[t]),width:Math.max(n.length,o.length,a+1)}})}function oG(e){let t=e.repo;function n(t,n){return(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,...n}),children:t})}return(0,Z.jsxs)(o,{children:[(0,Z.jsx)(s,{asChild:!0,children:(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`More Actions...`,"aria-label":`More Actions`,onClick:e=>e.stopPropagation(),children:(0,Z.jsx)(Pe,{icon:ve,className:`size-4`})})}),(0,Z.jsxs)(f,{align:`end`,className:`bg-popover! w-56`,children:[(0,Z.jsxs)(i,{children:[(0,Z.jsx)(ge,{children:`View & Sort`}),(0,Z.jsxs)(c,{className:`w-44`,children:[(0,Z.jsxs)(a,{value:e.settings.tree?`tree`:`list`,onValueChange:t=>e.onSettings({tree:t===`tree`}),children:[(0,Z.jsx)(m,{value:`list`,children:`View as List`}),(0,Z.jsx)(m,{value:`tree`,children:`View as Tree`})]}),(0,Z.jsx)(h,{}),(0,Z.jsxs)(a,{value:e.settings.sort,onValueChange:t=>{(t===`name`||t===`path`||t===`status`)&&e.onSettings({sort:t})},children:[(0,Z.jsx)(m,{value:`name`,children:`Sort by Name`}),(0,Z.jsx)(m,{value:`path`,children:`Sort by Path`}),(0,Z.jsx)(m,{value:`status`,children:`Sort by Status`})]})]})]}),(0,Z.jsx)(h,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`pull`,rebase:!1}),children:`Pull`}),(0,Z.jsx)(we,{onSelect:()=>e.onRemote(`git.push`),children:`Push`}),(0,Z.jsx)(we,{onSelect:e.onCheckout,children:`Checkout to...`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!1,all:!1}),children:`Fetch`}),(0,Z.jsx)(h,{}),(0,Z.jsxs)(i,{children:[(0,Z.jsx)(ge,{children:`Commit`}),(0,Z.jsxs)(c,{className:`w-52`,children:[n(`Commit`,{}),n(`Commit Staged`,{all:!1}),n(`Commit All`,{all:!0}),(0,Z.jsx)(we,{disabled:t.head===null,onSelect:e.onUndo,children:`Undo Last Commit`}),(0,Z.jsx)(h,{}),n(`Commit (Amend)`,{amend:!0}),n(`Commit Staged (Amend)`,{all:!1,amend:!0}),n(`Commit All (Amend)`,{all:!0,amend:!0})]})]}),(0,Z.jsxs)(i,{children:[(0,Z.jsx)(ge,{children:`Changes`}),(0,Z.jsxs)(c,{className:`w-52`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onStage([...t.merge,...t.changes]),children:`Stage All Changes`}),(0,Z.jsx)(we,{onSelect:()=>e.onUnstage(t.staged),children:`Unstage All Changes`}),(0,Z.jsx)(we,{disabled:t.changes.length===0,onSelect:()=>e.onDiscard(t.changes),children:`Discard All Changes`})]})]}),(0,Z.jsxs)(i,{children:[(0,Z.jsx)(ge,{children:`Pull, Push`}),(0,Z.jsxs)(c,{className:`w-52`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onRemote(`git.sync`),children:`Sync`}),(0,Z.jsx)(h,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`pull`,rebase:!1}),children:`Pull`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`pull`,rebase:!0}),children:`Pull (Rebase)`}),(0,Z.jsx)(h,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRemote(`git.push`),children:`Push`}),(0,Z.jsx)(h,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!1,all:!1}),children:`Fetch`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!0,all:!1}),children:`Fetch (Prune)`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!1,all:!0}),children:`Fetch From All Remotes`})]})]}),(0,Z.jsxs)(i,{children:[(0,Z.jsx)(ge,{children:`Branch`}),(0,Z.jsxs)(c,{className:`w-52`,children:[(0,Z.jsx)(we,{onSelect:e.onCheckout,children:`Create Branch...`}),(0,Z.jsx)(we,{disabled:t.branch===null||t.upstream!==null,onSelect:()=>e.onRemote(`git.push`),children:`Publish Branch...`})]})]}),(0,Z.jsxs)(i,{children:[(0,Z.jsx)(ge,{children:`Stash`}),(0,Z.jsxs)(c,{className:`w-56`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`stash`,mode:`tracked`}),children:`Stash`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`stash`,mode:`untracked`}),children:`Stash (Include Untracked)`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`stash`,mode:`staged`}),children:`Stash Staged`}),(0,Z.jsx)(h,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`unstash`,pop:!1}),children:`Apply Latest Stash`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`unstash`,pop:!0}),children:`Pop Latest Stash`})]})]})]})]})}function sG(e){let[t,n]=(0,X.useState)([]),r=(0,X.useRef)(new Map),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(null),c=e.repos??[],l=c.length===1?c[0]:null,u=e.settings,d=De(e=>e.prefs);function f(e){return u.messages[e.path]??``}function p(t,n){return e.onPerform(()=>je(e.machine,`git.run`,{projectId:e.projectId,repo:t.path,action:n}))}function m(t,n){return e.onPerform(()=>je(e.machine,n,{projectId:e.projectId,repo:t.path}))}async function h(t,n){let r=f(t).trim();if(r===``&&!n.amend){Te(`Please provide a commit message.`);return}let i=t.changes.length+t.merge.length>0;if(n.all===null&&!n.amend&&t.staged.length===0){if(!i){Te(`There are no changes to commit.`);return}if(!u.smartCommit){a({repo:t,options:n});return}}let o=n.all??(t.staged.length===0&&!n.amend&&i);await e.onPerform(async()=>{await je(e.machine,`git.run`,{projectId:e.projectId,repo:t.path,action:{kind:`commit`,message:r,all:o,amend:n.amend}}),e.onMessage(t.path,``),n.then!==null&&await je(e.machine,n.then===`push`?`git.push`:`git.sync`,{projectId:e.projectId,repo:t.path})})}async function _(t){let i={};r.current.set(t.path,i),n(e=>[...e,t.path]);try{let n=await je(e.machine,`git.message`,{projectId:e.projectId,repo:t.path,staged:t.staged.length>0});r.current.get(t.path)===i&&e.onMessage(t.path,n)}catch(e){r.current.get(t.path)===i&&Te(e)}finally{r.current.get(t.path)===i&&v(t)}}function v(e){r.current.delete(e.path),n(t=>t.filter(t=>t!==e.path))}function y(t){e.onPerform(async()=>{e.onMessage(t.path,await je(e.machine,`git.undoCommit`,{projectId:e.projectId,repo:t.path}))})}function x(e,t){p(e,{kind:`unstage`,paths:t.flatMap(e=>e.from===null?[e.path]:[e.path,e.from])})}function te(e,t){p(e,{kind:`stage`,paths:t.map(e=>e.path)})}function ne(t){return(0,Z.jsx)(oG,{repo:t,settings:u,onSettings:e.onSettings,onCommit:e=>void h(t,e),onUndo:()=>y(t),onRun:e=>void p(t,e),onRemote:e=>void m(t,e),onStage:e=>te(t,e),onUnstage:e=>x(t,e),onDiscard:e=>s({repo:t,resources:e}),onCheckout:()=>e.onCheckout(t)})}return(0,Z.jsxs)(`div`,{className:`bg-sidebar flex h-full min-h-0 flex-col`,children:[(0,Z.jsxs)(`div`,{className:`text-sidebar-foreground border-sidebar-border relative flex h-9 shrink-0 items-center gap-0.5 border-b px-1.5`,children:[e.header,(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:u.tree?`View as List`:`View as Tree`,"aria-label":u.tree?`View as List`:`View as Tree`,onClick:()=>e.onSettings({tree:!u.tree}),children:(0,Z.jsx)(Pe,{icon:u.tree?rp:np,className:`size-4`})}),l!==null&&(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Commit`,"aria-label":`Commit`,disabled:e.busy,onClick:()=>void h(l,UW),children:(0,Z.jsx)(Pe,{icon:ee,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Refresh`,"aria-label":`Refresh`,onClick:e.onRefresh,children:(0,Z.jsx)(Pe,{icon:Ke,className:`size-4`})}),l!==null&&ne(l),(e.busy||t.length>0)&&(0,Z.jsx)(`span`,{className:`absolute inset-x-0 -bottom-px h-0.5 overflow-hidden`,children:(0,Z.jsx)(`span`,{className:`bg-primary block h-full w-[2%] animate-[progress_4s_linear_infinite]`})})]}),(0,Z.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[e.error!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:e.error}),e.error===null&&e.repos===null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:`Loading…`}),e.error===null&&e.repos?.length===0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:`The folder currently open doesn't have a git repository.`}),c.map(n=>(0,Z.jsxs)(`div`,{children:[l===null&&(0,Z.jsxs)(`div`,{className:`group/row text-sidebar-foreground flex h-[22px] items-center gap-1.5 pr-1 pl-2 text-[13px]`,children:[(0,Z.jsx)(`span`,{className:`truncate font-semibold`,children:n.path===``?e.name:yp(n.path)}),(0,Z.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:n.branch??(n.head===null?``:DW(n.head))}),(0,Z.jsx)(`span`,{className:`ml-auto hidden shrink-0 items-center gap-0.5 group-hover/row:flex`,children:(0,Z.jsx)(YW,{title:`Commit`,icon:ee,onClick:()=>void h(n,UW)})}),ne(n)]}),(0,Z.jsx)(WW,{repo:n,message:f(n),generating:t.includes(n.path),busy:e.busy,nested:l===null,onMessage:t=>e.onMessage(n.path,t),onGenerate:()=>void _(n),onCancel:()=>v(n),onCommit:e=>void h(n,e),onRemote:e=>void m(n,e)}),(0,Z.jsx)(KW,{repo:n,root:e.root,tree:u.tree,sort:u.sort,depth:+(l===null),active:e.active,onOpen:e.onOpen,onStage:e=>te(n,e),onUnstage:e=>x(n,e),onDiscard:e=>s({repo:n,resources:e}),onIgnore:e=>void p(n,{kind:`ignore`,paths:e.map(e=>e.path)})})]},n.path))]}),c.length>0&&(0,Z.jsx)(eG,{machine:e.machine,projectId:e.projectId,repos:c,open:d.editor.graph,height:u.graphHeight,active:e.active,onToggle:()=>Me({...d,editor:{...d.editor,graph:!d.editor.graph}}),onHeight:t=>e.onSettings({graphHeight:t}),onOpen:e.onOpen,onFetch:e=>void p(e,{kind:`fetch`,prune:!1,all:!0})}),(0,Z.jsx)(me,{open:i!==null,onOpenChange:e=>{e||a(null)},children:(0,Z.jsxs)(ie,{children:[(0,Z.jsxs)(Ce,{children:[(0,Z.jsx)(b,{children:`There are no staged changes to commit.`}),(0,Z.jsx)(g,{children:`Would you like to stage all your changes and commit them directly?`})]}),(0,Z.jsxs)(ye,{children:[(0,Z.jsx)(ae,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`outline`,onClick:()=>{i!==null&&(e.onSettings({smartCommit:!0}),h(i.repo,{...i.options,all:!0}))},children:`Always`}),(0,Z.jsx)(de,{onClick:()=>{i!==null&&h(i.repo,{...i.options,all:!0})},children:`Yes`})]})]})}),(0,Z.jsx)(me,{open:o!==null,onOpenChange:e=>{e||s(null)},children:(0,Z.jsx)(ie,{children:o!==null&&(0,Z.jsx)(cG,{resources:o.resources,onDiscard:(e,t)=>void p(o.repo,{kind:`discard`,tracked:e,untracked:t})})})})]})}function cG(e){let t=e.resources,n=t.filter(e=>e.status===`U`);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Ce,{children:[(0,Z.jsx)(b,{children:t.length>1?`Are you sure you want to discard ALL changes in ${t.length} files?`:n.length===1?`Are you sure you want to DELETE the following untracked file: '${yp(t[0].path)}'?`:`Are you sure you want to discard changes in '${yp(t.at(0)?.path??``)}'?`}),(0,Z.jsxs)(g,{children:[t.length>1&&`This is IRREVERSIBLE! Your current working set will be FOREVER LOST if you proceed.`,t.length===1&&n.length===1&&`This is IRREVERSIBLE! This file will be FOREVER LOST if you proceed.`]})]}),(0,Z.jsxs)(ye,{children:[(0,Z.jsx)(ae,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`destructive`,onClick:()=>e.onDiscard(t.filter(e=>e.status!==`U`).map(e=>e.path),n.map(e=>e.path)),children:t.length>1?`Discard All ${t.length} Files`:n.length===1?`Delete File`:`Discard File`})]})]})}var lG=3e3;function uG(e){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),a=(0,X.useEffectEvent)(e.onLoaded);return(0,X.useEffect)(()=>{let t=!0,r=!1;async function o(){if(!r){r=!0;try{let r=await je(e.machine,`git.changes`,{projectId:e.projectId});if(!t)return;i(null),n(e=>d(e,r)?e:r),a()}catch(e){t&&i(Be(e))}finally{r=!1}}}function s(){document.hidden||o()}o();let c=window.setInterval(s,lG);return window.addEventListener(`focus`,s),()=>{t=!1,window.clearInterval(c),window.removeEventListener(`focus`,s)}},[e.machine,e.projectId,e.version]),{repos:t,error:r}}var dG=(0,X.lazy)(async()=>({default:(await Y(async()=>{let{ZoomableImage:e}=await import(`./zoomable-image-_HGrW8wW.js`);return{ZoomableImage:e}},__vite__mapDeps([16,17,2,18,19,20,21,22]))).ZoomableImage}));function fG(e){let t=De(t=>Ae(t,e.machine,e.projectId)),n=Ee(),r=De(e=>e.prefs.editor),[i]=(0,X.useState)(()=>fp(e.machine,e.projectId)),[a]=(0,X.useState)(()=>new Map(i.tabs.map(e=>[e.spec.id,e.view]))),[o,s]=(0,X.useState)(()=>({...i.settings,width:Math.min(i.settings.width,window.innerWidth*.6)})),[c,l]=(0,X.useState)(i.expanded),[u,d]=(0,X.useState)(0),[f,m]=(0,X.useState)(0),[h,g]=(0,X.useState)(null),_=CW(),v=_.editor,y=_.diff,b=(0,X.useRef)(null),ee=(0,X.useCallback)(()=>d(e=>e+1),[]),x=LW({machine:e.machine,projectId:e.projectId,saved:i,onSaved:ee,onClose:()=>{ve(),e.onClose()}}),te=x.active;function ne(){te!==null&&x.reload(te)}let re=uG({machine:e.machine,projectId:e.projectId,version:u,onLoaded:ne}),ie=re.repos,ae=x.tabs.find(e=>e.spec.id===te),oe=ae?.document.status===`text`&&ae.spec.preview!==!0?ae.document:null,se=ae?.document.status===`text`&&ae.spec.preview===!0?ae.document.modified:null,ce=oe?.original??null,le=oe?.modified??null,de=ae?.spec.right.kind===`worktree`,fe=ie?.find(e=>e.path===ae?.spec.repo)??ie?.at(0)??null,pe=ce===null&&le?.getLanguageId()===`markdown`?le:null;(0,X.useEffect)(()=>{sW().catch(Te)},[n]),(0,X.useEffect)(()=>{v?.updateOptions(cW(r)),y?.updateOptions(cW(r)),lW(r).catch(Te)},[v,y,r]),(0,X.useEffect)(()=>{y?.updateOptions({renderSideBySide:!o.inline,ignoreTrimWhitespace:!o.whitespace,hideUnchangedRegions:{enabled:o.collapse}})},[y,o.inline,o.whitespace,o.collapse]),(0,X.useEffect)(()=>{if(v===null||y===null||(b.current!==null&&a.set(b.current.id,b.current.editor.saveViewState()),b.current=null,v.setModel(ce===null?le:null),y.setModel(ce===null||le===null?null:{original:ce,modified:le}),le===null||te===null))return;let e=ce===null?v:y.getModifiedEditor();e.updateOptions({readOnly:!de}),y.updateOptions({readOnly:!de}),e.restoreViewState(a.get(te)??null),e.focus(),b.current={id:te,editor:e}},[v,y,ce,le,te,de,a]),(0,X.useEffect)(()=>x.releaseModels());let me=(0,X.useEffectEvent)(ne);(0,X.useEffect)(()=>me(),[te]),xW({machine:e.machine,projectId:e.projectId,spec:ae?.spec,original:ce,modified:le,onPerform:ge});function he(e){window.innerWidth<640&&_e({sidebar:!1}),x.open(e)}async function ge(e){m(e=>e+1);try{await e()}catch(e){Te(e)}finally{m(e=>e-1),ee()}}function _e(e){s(t=>({...t,...e}))}function ve(){b.current!==null&&a.set(b.current.id,b.current.editor.saveViewState()),pp(e.machine,e.projectId,{tabs:x.tabs.map(e=>({spec:e.spec,view:a.get(e.spec.id)??null})),active:te,expanded:c,settings:o})}(0,X.useEffect)(ve);let ye=(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Toggle Primary Side Bar`,"aria-label":`Toggle Primary Side Bar`,"aria-pressed":o.sidebar,onClick:()=>_e({sidebar:!o.sidebar}),children:(0,Z.jsx)(Pe,{icon:ue,className:`size-4`})}),be=(0,Z.jsxs)(Z.Fragment,{children:[ye,(0,Z.jsx)(BW,{view:o.view,onView:e=>_e({view:e})})]});return(0,Z.jsx)(We,{open:!0,onOpenChange:()=>x.requestClose(),children:(0,Z.jsxs)(He,{"aria-describedby":void 0,showCloseButton:!1,className:`top-0 left-0 flex h-dvh w-dvw max-w-none translate-x-0 translate-y-0 flex-col gap-0 overflow-hidden rounded-none border-0 p-0 sm:max-w-none`,onEscapeKeyDown:e=>e.preventDefault(),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),te!==null&&x.save(te,!1)),(e.metaKey||e.ctrlKey)&&e.key===`w`&&(e.preventDefault(),te!==null&&x.close(te)),(e.metaKey||e.ctrlKey)&&e.shiftKey&&e.key.toLowerCase()===`v`&&pe!==null&&(e.preventDefault(),_e({preview:!o.preview}))},children:[(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:Ve(`border-sidebar-border relative shrink-0 border-r`,!o.sidebar&&`hidden`),style:{width:o.width},children:[o.view===`explorer`&&(0,Z.jsx)(gp,{machine:e.machine,projectId:e.projectId,root:t?.path??``,header:be,expanded:c,onExpanded:l,active:ae?.spec.path??null,onOpen:e=>he(kW(``,e)),onPreview:e=>he(AW(``,e)),onRenamed:x.renamed,onDeleted:x.deleted}),o.view===`scm`&&(0,Z.jsx)(sG,{machine:e.machine,projectId:e.projectId,name:t?.name??``,root:t?.path??``,header:be,repos:ie,error:re.error,busy:f>0,settings:o,onSettings:_e,onMessage:(e,t)=>s(n=>({...n,messages:{...n.messages,[e]:t}})),active:te,onOpen:he,onRefresh:ee,onPerform:ge,onCheckout:g}),(0,Z.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,className:`hover:bg-primary absolute inset-y-0 -right-0.5 z-10 w-1 cursor-col-resize touch-none transition-colors delay-100`,onPointerDown:e=>Re(e,e=>_e({width:Math.min(Math.max(e.clientX,200),window.innerWidth-240)}))})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Z.jsxs)(`div`,{className:`bg-sidebar flex h-9 shrink-0 items-center shadow-[inset_0_-1px_0_var(--sidebar-border)]`,children:[!o.sidebar&&(0,Z.jsx)(`div`,{className:`shrink-0 px-1.5`,children:ye}),(0,Z.jsx)(Ue,{className:`sr-only`,children:`Editor`}),(0,Z.jsx)(bp,{tabs:x.tabs.map(e=>({id:e.spec.id,path:e.spec.path,label:e.spec.label})),active:te,dirty:x.dirty.map(e=>e.spec.id),onSelect:x.setActive,onClose:x.close}),ae!==void 0&&ce!==null&&(0,Z.jsx)(VW,{settings:o,onSettings:_e,onOpenFile:()=>he(kW(ae.spec.repo,ae.spec.path)),onPrevious:()=>y?.goToDiff(`previous`),onNext:()=>y?.goToDiff(`next`)}),pe!==null&&(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,className:`ml-1.5 shrink-0`,title:`Toggle Preview`,"aria-label":`Toggle Preview`,"aria-pressed":o.preview,onClick:()=>_e({preview:!o.preview}),children:(0,Z.jsx)(Pe,{icon:sp,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,className:`mx-1.5 shrink-0`,title:`Close`,"aria-label":`Close`,onClick:x.requestClose,children:(0,Z.jsx)(Pe,{icon:Ne,className:`size-4`})})]}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:Ve(`relative min-w-0 flex-1`,pe!==null&&o.preview&&`max-sm:hidden`,se!==null&&`hidden`),children:[(0,Z.jsx)(`div`,{ref:_.codeHost,className:Ve(`absolute inset-0`,(le===null||ce!==null)&&`hidden`)}),(0,Z.jsx)(`div`,{ref:_.diffHost,className:Ve(`absolute inset-0`,(le===null||ce===null)&&`hidden`)}),ae?.document.status===`image`&&(0,Z.jsx)(X.Suspense,{children:(0,Z.jsx)(dG,{src:ae.document.src,alt:ae.spec.path})}),(0,Z.jsx)(cp,{document:ae?.document,view:o.view})]}),pe!==null&&o.preview&&v!==null&&ae!==void 0&&(0,Z.jsx)(uW,{machine:e.machine,projectId:e.projectId,path:ae.spec.path,model:pe,editor:v,onOpen:e=>he(kW(``,e))}),se!==null&&ae!==void 0&&(0,Z.jsx)(uW,{machine:e.machine,projectId:e.projectId,path:ae.spec.path,model:se,editor:null,onOpen:e=>he(kW(``,e))},ae.spec.id)]})]})]}),(0,Z.jsx)(yW,{editor:le===null?null:ce===null?v:y?.getModifiedEditor()??null,language:oe?.language??null,children:fe!==null&&(0,Z.jsx)(HW,{repo:fe,busy:f>0,onCheckout:()=>g(fe),onSync:()=>void ge(()=>je(e.machine,`git.sync`,{projectId:e.projectId,repo:fe.path})),onPublish:()=>void ge(()=>je(e.machine,`git.push`,{projectId:e.projectId,repo:fe.path}))})}),(0,Z.jsx)(dp,{}),(0,Z.jsx)(_W,{open:x.closing!==null,tabs:x.closingTabs,onCancel:()=>x.setClosing(null),onFinish:e=>void x.finish(e)}),(0,Z.jsx)(gW,{...x.conflict}),h!==null&&(0,Z.jsx)(p,{machine:e.machine,projectId:e.projectId,repo:{...h,changed:h.merge.length+h.staged.length+h.changes.length},onRefresh:ee,onClose:()=>g(null)})]})})}export{fG as EditorDialog};
|
|
52
|
+
It is recommended to remove them from the file. This can be configured via \`editor.unusualLineTerminators\`.`,Zd(e.uri)),primaryButton:S(1635,`&&Remove Unusual Line Terminators`),cancelButton:S(1636,`Ignore`)})}finally{this._isPresentingDialog=!1}t.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):RH(this._codeEditorService,e,!0)}};BH=FH([IH(1,da),IH(2,$s)],BH),Ls(BH.ID,BH,1);var VH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},HH=function(e,t){return function(n,r){t(n,r,e)}},UH=class{constructor(){this.selector={language:`*`}}provideDocumentHighlights(e,t,n){if(e.isDisposed())return;let r=[],i=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return i?e.findMatches(i.word,!0,!1,!0,ru,!1).map(e=>({range:e.range,kind:wf.Text})):Promise.resolve(r)}provideMultiDocumentHighlights(e,t,n,r){if(e.isDisposed())return;let i=new El,a=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!a)return Promise.resolve(i);for(let t of[e,...n]){if(t.isDisposed())continue;let e=t.findMatches(a.word,!0,!1,!0,ru,!1).map(e=>({range:e.range,kind:wf.Text}));e&&i.set(t.uri,e)}return i}},WH=class extends K{constructor(e){super(),this._register(e.documentHighlightProvider.register(`*`,new UH)),this._register(e.multiDocumentHighlightProvider.register(`*`,new UH))}};WH=VH([HH(0,z)],WH);var GH=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},KH=function(e,t){return function(n,r){t(n,r,e)}},qH,JH,YH=new M(`hasWordHighlights`,!1);function XH(e,t,n,r){let i=e.ordered(t);return qn(i.map(e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,r)).then(void 0,ec)),e=>e!=null).then(e=>{if(e){let n=new El;return n.set(t.uri,e),n}return new El})}function ZH(e,t,n,r,i){let a=e.ordered(t);return qn(a.map(e=>()=>{let a=i.filter(e=>Wf(e)).filter(t=>Id(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(e.provideMultiDocumentHighlights(t,n,a,r)).then(void 0,ec)}),e=>e!=null)}var QH=class{constructor(e,t,n){this._model=e,this._selection=t,this._wordSeparators=n,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||=kt(e=>this._compute(this._model,this._selection,this._wordSeparators,e)),this._result}_getCurrentWordRange(e,t){let n=e.getWordAtPosition(t.getPosition());return n?new w(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}cancel(){this.result.cancel()}},$H=class extends QH{constructor(e,t,n,r){super(e,t,n),this._providers=r}_compute(e,t,n,r){return XH(this._providers,e,t.getPosition(),r).then(e=>e||new El)}},eU=class extends QH{constructor(e,t,n,r,i){super(e,t,n),this._providers=r,this._otherModels=i}_compute(e,t,n,r){return ZH(this._providers,e,t.getPosition(),r,this._otherModels).then(e=>e||new El)}};function tU(e,t,n,r){return new $H(t,n,r,e)}function nU(e,t,n,r,i){return new eU(t,n,r,e,i)}zd(`_executeDocumentHighlights`,async(e,t,n)=>(await XH(e.get(z).documentHighlightProvider,t,n,E.None))?.get(t.uri));var rU=class{static{qH=this}static{this.storedDecorationIDs=new El}static{this.query=null}constructor(e,t,n,r,i,a,o,s){this.toUnhook=new I,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new El,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new rr(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=a,this.textModelService=i,this.configurationService=o,this.logService=s,this._hasWordHighlights=YH.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue(`editor.occurrencesHighlightDelay`),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(e=>{this._ignorePositionChangeEvent||this.occurrencesHighlightEnablement!==`off`&&this.runDelayer.trigger(()=>{this._onPositionChanged(e)}).catch(at)})),this.toUnhook.add(e.onDidFocusEditorText(e=>{this.occurrencesHighlightEnablement!==`off`&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}).catch(at))})),this.toUnhook.add(e.onDidChangeModelContent(e=>{Yr(this.model.uri,`output`)||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():qH.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(e=>{let t=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==t)switch(this.occurrencesHighlightEnablement=t,t){case`off`:this._stopAll();break;case`singleFile`:this._stopAll(qH.query?.modelInfo?.modelURI);break;case`multiFile`:qH.query&&this._run(!0);break;default:console.warn(`Unknown occurrencesHighlight setting value:`,t)}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`editor.occurrencesHighlightDelay`)){let e=o.getValue(`editor.occurrencesHighlightDelay`);this.occurrencesHighlightDelay!==e&&(this.occurrencesHighlightDelay=e)}})),this.toUnhook.add(e.onDidBlurEditorWidget(()=>{let e=this.codeEditorService.getFocusedCodeEditor();e?e.getModel()?.uri.scheme===ul.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==ul.vscodeNotebookCell&&this._stopAll():this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,qH.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(e){this.occurrencesHighlightEnablement!==`off`&&(this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,e)}).catch(at))}stop(){this.occurrencesHighlightEnablement!==`off`&&this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(w.compareRangesUsingStarts)}moveNext(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);Co(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);Co(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let e=qH.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),qH.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){let t=this.codeEditorService.listCodeEditors(),n=[];for(let r of t){if(!r.hasModel()||Wt(r.getModel().uri,e))continue;let t=qH.storedDecorationIDs.get(r.getModel().uri);if(!t)continue;r.removeDecorations(t),n.push(r.getModel().uri);let i=iU.get(r);i?.wordHighlighter&&i.wordHighlighter.decorations.length>0&&(i.wordHighlighter.decorations.clear(),i.wordHighlighter.workerRequest=null,i.wordHighlighter._hasWordHighlights.set(!1))}for(let e of n)qH.storedDecorationIDs.delete(e)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==ul.vscodeNotebookCell&&qH.query?.modelInfo?.modelURI.scheme!==ul.vscodeNotebookCell?(qH.query=null,this._run()):qH.query?.modelInfo&&(qH.query.modelInfo=null)),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_onPositionChanged(e){this.occurrencesHighlightEnablement===`off`||e.source!==`api`&&e.reason!==3?this._stopAll():this._run()}_getWord(){let e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===ul.vscodeNotebookCell){let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){let n=r.getModel();n&&n!==e&&n.uri.scheme===ul.vscodeNotebookCell&&t.push(n)}return t}let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){if(!Vl(r))continue;let n=r.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if(this.occurrencesHighlightEnablement===`singleFile`)return[];for(let r of n){let n=r.getModel();n&&n!==e&&t.push(n)}return t}async _run(e,t){if(this.editor.hasTextFocus()){let e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber){qH.query=null,this._stopAll();return}let t=e.startColumn,n=e.endColumn,r=this._getWord();if(!r||r.startColumn>t||r.endColumn<n){qH.query=null,this._stopAll();return}qH.query={modelInfo:{modelURI:this.model.uri,selection:e}}}else if(!qH.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),Wt(this.editor.getModel().uri,qH.query.modelInfo?.modelURI)){if(!e){let e=this.decorations.getRanges();for(let t of e)if(t.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model.uri:void 0);let n=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let r=this.getOtherModelsToHighlight(this.editor.getModel());if(!qH.query||!qH.query.modelInfo)return;let i=await this.textModelService.createModelReference(qH.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(i.object.textEditorModel,qH.query.modelInfo.selection,r),this.workerRequest?.result.then(e=>{n===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},at)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{i.dispose()}}else if(this.model.uri.scheme===ul.vscodeNotebookCell){let e=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!qH.query||!qH.query.modelInfo)return;let n=await this.textModelService.createModelReference(qH.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(n.object.textEditorModel,qH.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then(n=>{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=n||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},at)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{n.dispose()}}}computeWithModel(e,t,n){return n.length?nU(this.multiDocumentProviders,e,t,this.editor.getOption(148),n):tU(this.providers,e,t,this.editor.getOption(148))}_beginRenderDecorations(e){let t=new Date().getTime(),n=this.lastCursorPositionChangeTime+e;t>=n?(this.renderDecorationsTimer=void 0,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},n-t)}renderDecorations(){this.renderDecorationsTimer=void 0;let e=this.codeEditorService.listCodeEditors();for(let t of e){let e=iU.get(t);if(!e)continue;let n=[],r=t.getModel()?.uri;if(r&&this.workerRequestValue.has(r)){let i=qH.storedDecorationIDs.get(r),a=this.workerRequestValue.get(r);if(a)for(let e of a)e.range&&n.push({range:e.range,options:xz(e.kind)});let o=[];t.changeDecorations(e=>{o=e.deltaDecorations(i??[],n)}),qH.storedDecorationIDs=qH.storedDecorationIDs.set(r,o),n.length>0&&(e.wordHighlighter?.decorations.set(n),e.wordHighlighter?._hasWordHighlights.set(!0))}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}};rU=qH=GH([KH(4,Ki),KH(5,$s),KH(6,Wi),KH(7,Pu)],rU);var iU=class extends K{static{JH=this}static{this.ID=`editor.contrib.wordHighlighter`}static get(e){return e.getContribution(JH.ID)}constructor(e,t,n,r,i,a,o){super(),this._wordHighlighter=null;let s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&e.getModel().uri.scheme!==ul.accessibleView&&(this._wordHighlighter=new rU(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,i,r,a,o))};this._register(e.onDidChangeModel(e=>{this._wordHighlighter&&=(!e.newModelUrl&&e.oldModelUrl?.scheme!==ul.vscodeNotebookCell&&this.wordHighlighter?.stop(),this._wordHighlighter.dispose(),null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore(250)}dispose(){this._wordHighlighter&&=(this._wordHighlighter.dispose(),null),super.dispose()}};iU=JH=GH([KH(1,Ra),KH(2,z),KH(3,$s),KH(4,Ki),KH(5,Wi),KH(6,Pu)],iU);var aU=class extends G{constructor(e,t){super(t),this._isNext=e}run(e,t){let n=iU.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}},oU=class extends aU{constructor(){super(!0,{id:`editor.action.wordHighlight.next`,label:R(1646,`Go to Next Symbol Highlight`),precondition:YH,kbOpts:{kbExpr:D.editorTextFocus,primary:65,weight:100}})}},sU=class extends aU{constructor(){super(!1,{id:`editor.action.wordHighlight.prev`,label:R(1647,`Go to Previous Symbol Highlight`),precondition:YH,kbOpts:{kbExpr:D.editorTextFocus,primary:1089,weight:100}})}},cU=class extends G{constructor(){super({id:`editor.action.wordHighlight.trigger`,label:R(1648,`Trigger Symbol Highlight`),precondition:void 0,kbOpts:{kbExpr:D.editorTextFocus,primary:0,weight:100}})}run(e,t){let n=iU.get(t);n&&n.restoreViewState(!0)}};Ls(iU.ID,iU,0),B(oU),B(sU),B(cU),nt(WH);var lU=class extends id{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;let r=jt(t.getOption(148),t.getOption(147)),i=t.getModel(),a=t.getSelections(),o=a.length>1,s=a.map(e=>{let t=new j(e.positionLineNumber,e.positionColumn),n=this._move(r,i,t,this._wordNavigationType,o);return this._moveTo(e,n,this._inSelectionMode)});if(i.pushStackElement(),t._getViewModel().setCursorStates(`moveWordCommand`,3,s.map(e=>fd.fromModelSelection(e))),s.length===1){let e=new j(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new J(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new J(t.lineNumber,t.column,t.lineNumber,t.column)}},uU=class extends lU{_move(e,t,n,r,i){return Cd.moveWordLeft(e,t,n,r,i)}},dU=class extends lU{_move(e,t,n,r,i){return Cd.moveWordRight(e,t,n,r)}},fU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartLeft`,precondition:void 0})}},pU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndLeft`,precondition:void 0})}},mU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:`cursorWordLeft`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:2063,mac:{primary:527},weight:100}})}},hU=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartLeftSelect`,precondition:void 0})}},gU=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndLeftSelect`,precondition:void 0})}},_U=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:`cursorWordLeftSelect`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}},vU=class extends uU{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityLeft`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},yU=class extends uU{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityLeftSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},bU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartRight`,precondition:void 0})}},xU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndRight`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:2065,mac:{primary:529},weight:100}})}},SU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordRight`,precondition:void 0})}},CU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartRightSelect`,precondition:void 0})}},wU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndRightSelect`,precondition:void 0,kbOpts:{kbExpr:T.and(D.textInputFocus,T.and($a,td)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}},TU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordRightSelect`,precondition:void 0})}},EU=class extends dU{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityRight`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},DU=class extends dU{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityRightSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(jt(Ji.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},OU=class extends id{constructor(e){super({canTriggerInlineEdits:!0,...e}),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){let r=e?.get(Ln);if(!t.hasModel()||!r)return;let i=jt(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections(),s=t.getOption(10),c=t.getOption(15),l=r.getLanguageConfiguration(a.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),d=o.map(e=>{let n=this._delete({wordSeparators:i,model:a,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(13),autoClosingBrackets:s,autoClosingQuotes:c,autoClosingPairs:l,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Qc(n,``)});t.pushUndoStop(),t.executeCommands(this.id,d),t.pushUndoStop()}},kU=class extends OU{_delete(e,t){return Cd.deleteWordLeft(e,t)||new w(1,1,1,1)}},AU=class extends OU{_delete(e,t){let n=Cd.deleteWordRight(e,t);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new w(r,i,r,i)}},jU=class extends kU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartLeft`,precondition:D.writable})}},MU=class extends kU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndLeft`,precondition:D.writable})}},NU=class extends kU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordLeft`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},PU=class extends AU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartRight`,precondition:D.writable})}},FU=class extends AU{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndRight`,precondition:D.writable})}},IU=class extends AU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordRight`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},LU=class extends G{constructor(){super({id:`deleteInsideWord`,precondition:D.writable,label:R(1650,`Delete Word`),metadata:{description:R(1651,`Delete the word at the cursor`),args:[{name:`args`,schema:{type:`object`,properties:{onlyWord:{type:`boolean`,default:!1,description:S(1649,`Delete only the word and leave surrounding whitespace`)}}}}]}})}run(e,t,n){if(!t.hasModel())return;let r=!!(n&&typeof n==`object`&&n.onlyWord),i=jt(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections().map(e=>{let t=Cd.deleteInsideWord(i,a,e,r);return new Qc(t,``)});t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}};U(new fU),U(new pU),U(new mU),U(new hU),U(new gU),U(new _U),U(new bU),U(new xU),U(new SU),U(new CU),U(new wU),U(new TU),U(new vU),U(new yU),U(new EU),U(new DU),U(new jU),U(new MU),U(new NU),U(new PU),U(new FU),U(new IU),B(LU);var RU=class extends OU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordPartLeft`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return au.deleteWordPartLeft(e)||new w(1,1,1,1)}},zU=class extends OU{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordPartRight`,precondition:D.writable,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){let n=au.deleteWordPartRight(e);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new w(r,i,r,i)}},BU=class extends lU{_move(e,t,n,r,i){return au.moveWordPartLeft(e,t,n,i)}},VU=class extends BU{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordPartLeft`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};zn.registerCommandAlias(`cursorWordPartStartLeft`,`cursorWordPartLeft`);var HU=class extends BU{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordPartLeftSelect`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};zn.registerCommandAlias(`cursorWordPartStartLeftSelect`,`cursorWordPartLeftSelect`);var UU=class extends lU{_move(e,t,n,r,i){return au.moveWordPartRight(e,t,n)}},WU=class extends UU{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordPartRight`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},GU=class extends UU{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordPartRightSelect`,precondition:void 0,kbOpts:{kbExpr:D.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};U(new RU),U(new zU),U(new VU),U(new HU),U(new WU),U(new GU);var KU=[{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>Y(()=>import(`./andromeeda-vGVdxbeo.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>Y(()=>import(`./aurora-x-CDeNXAV0.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>Y(()=>import(`./ayu-dark-DluEY0Gj.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>Y(()=>import(`./ayu-light-C3h-C4tm.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>Y(()=>import(`./ayu-mirage-Bqwy1Gya.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>Y(()=>import(`./catppuccin-frappe-C9Q5zVZY.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>Y(()=>import(`./catppuccin-latte-CtsyrtPq.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>Y(()=>import(`./catppuccin-macchiato-R8nAf1vR.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>Y(()=>import(`./catppuccin-mocha-DjuaAJKi.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>Y(()=>import(`./dark-plus-Cs2F2srj.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>Y(()=>import(`./dracula-BHWKrbxM.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>Y(()=>import(`./dracula-soft-5eyTD99u.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>Y(()=>import(`./everforest-dark-sB-x3p7T.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>Y(()=>import(`./everforest-light-Df2xbC6M.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-C-LZuMrd.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-default-DXG-b-1a.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-dimmed-Bx1FflLF.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>Y(()=>import(`./github-dark-high-contrast-B_tTalzw.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>Y(()=>import(`./github-light-EUqPIrTm.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>Y(()=>import(`./github-light-default-BXViO-2h.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>Y(()=>import(`./github-light-high-contrast-B68TUdTA.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>Y(()=>import(`./gruvbox-dark-hard-C820rvS2.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>Y(()=>import(`./gruvbox-dark-medium-BPjhmG05.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>Y(()=>import(`./gruvbox-dark-soft-MrdJrrXF.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>Y(()=>import(`./gruvbox-light-hard-BC_s9l72.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>Y(()=>import(`./gruvbox-light-medium-BAWPOn9u.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>Y(()=>import(`./gruvbox-light-soft-BSMLrYjP.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>Y(()=>import(`./horizon-CE9ld1lL.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>Y(()=>import(`./horizon-bright-DSNQnXHK.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>Y(()=>import(`./houston-CsvMBhTu.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>Y(()=>import(`./kanagawa-dragon-Bozd7klA.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>Y(()=>import(`./kanagawa-lotus-BmuOG9ZW.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>Y(()=>import(`./kanagawa-wave-BML5mF2J.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>Y(()=>import(`./laserwave-C_8bwKvT.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>Y(()=>import(`./light-plus-DVQuIRkW.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-Bm3Qr25_.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-darker-2IIEA8gg.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>Y(()=>import(`./material-theme-lighter-uhdI0v04.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-ocean-CHQ94UKr.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>Y(()=>import(`./material-theme-palenight-B5W6OYN7.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>Y(()=>import(`./min-dark-BSWPekZh.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>Y(()=>import(`./min-light-DDpmG2fV.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>Y(()=>import(`./monokai-BscAjiQZ.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>Y(()=>import(`./night-owl-DhmEMT88.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>Y(()=>import(`./night-owl-light-eJ-hLW7d.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>Y(()=>import(`./nord-Cb4Vim4T.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>Y(()=>import(`./one-dark-pro-C6YyR8OD.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>Y(()=>import(`./one-light-D7Lr4KcI.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>Y(()=>import(`./plastic-DQwYfKfQ.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>Y(()=>import(`./poimandres-DRFjx7u4.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>Y(()=>import(`./red-CYlAq2b0.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>Y(()=>import(`./rose-pine-aMsaMD1D.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>Y(()=>import(`./rose-pine-dawn-8PwUyIlP.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>Y(()=>import(`./rose-pine-moon-DO-qXg-I.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>Y(()=>import(`./slack-dark-DnToyrRv.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>Y(()=>import(`./slack-ochin-B2OO5cIa.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>Y(()=>import(`./snazzy-light-4G7pJPwS.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>Y(()=>import(`./solarized-dark-b97czJOk.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>Y(()=>import(`./solarized-light-DFPxpIYQ.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>Y(()=>import(`./synthwave-84-nFMaYfgc.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>Y(()=>import(`./tokyo-night-oM2G3aXe.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>Y(()=>import(`./vesper-DdrHHSXu.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>Y(()=>import(`./vitesse-black-fwtXNY1n.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>Y(()=>import(`./vitesse-dark-BZCL-v6S.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>Y(()=>import(`./vitesse-light-VbXTXTou.js`),[]))}],qU=Object.fromEntries(KU.map(e=>[e.id,e.import])),JU=tt({langs:Yf,themes:qU,engine:()=>(0,Xf.createOnigurumaEngine)(Y(()=>import(`./wasm-BnjxR4X6.js`),[]))}),{codeToHtml:YU,codeToHast:XU,codeToTokens:ZU,codeToTokensBase:QU,codeToTokensWithThemes:$U,getSingletonHighlighter:eW,getLastGrammarState:tW}=$e(JU,{guessEmbeddedLanguages:et});self.MonacoEnvironment={async getWorker(){return new(await(Y(()=>import(`./editor.worker-CGG2Yh4v.js`),[]))).default}};function nW(e,t){let n=eu.registerCommand(`offsite.block`,(e,n)=>t(n)),r=e===`stage`?`Stage`:`Unstage`,i={id:e===`stage`?`add`:`remove`},a=[Dn.appendMenuItem(O.DiffEditorHunkToolbar,{command:{id:`offsite.block`,title:`${r} Block`,icon:i},group:`primary`,order:10}),Dn.appendMenuItem(O.DiffEditorSelectionToolbar,{command:{id:`offsite.block`,title:`${r} Selection`,icon:i},group:`primary`,order:10})];return()=>{n.dispose();for(let e of a)e.dispose()}}function rW(e,t,n){let r=t.getValue();for(let i of n.innerChanges.slice().reverse()){let n=i.modifiedRange;r=r.slice(0,t.getOffsetAt({lineNumber:n.startLineNumber,column:n.startColumn}))+e.getValueInRange(i.originalRange)+r.slice(t.getOffsetAt({lineNumber:n.endLineNumber,column:n.endColumn}))}return r}var iW=JU({themes:[],langs:[]}),aW=new Map([[`tsx`,()=>Y(()=>import(`./typescript-Dy13l_qr.js`),__vite__mapDeps([13,8,1,2,3,4]))],[`jsx`,()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))],[`json`,()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))],[`jsonc`,()=>Y(()=>import(`./javascript-MI6i-TIC.js`),__vite__mapDeps([7,8,1,2,3,4]))],[`shellscript`,()=>Y(()=>import(`./shell-CC2rA5mh.js`),[])],[`docker`,()=>Y(()=>import(`./dockerfile-DZFCIeNp.js`),[])],[`c`,()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])],[`objective-cpp`,()=>Y(()=>import(`./cpp-C7h46wYY.js`),[])],[`vue`,()=>Y(()=>import(`./html-86U_8x8W.js`),__vite__mapDeps([6,1,2,3,4]))],[`svelte`,()=>Y(()=>import(`./html-86U_8x8W.js`),__vite__mapDeps([6,1,2,3,4]))]]);async function oW(e){let t=Ye(e),n=Jf.find(e=>e.id===t||e.aliases?.includes(t)===!0);if(n===void 0)return{id:`plaintext`,name:`Plain Text`};let r=await iW;if(!r.getLoadedLanguages().includes(n.id)){if(await r.loadLanguage(n.import),!qc.getLanguages().some(e=>e.id===n.id)){qc.register({id:n.id});let e=aW.get(n.id);e!==void 0&&qc.setLanguageConfiguration(n.id,(await e()).conf)}await sW()}return{id:n.id,name:n.name}}async function sW(){let e=Te(),t=KU.find(t=>t.id===e.codeTheme);if(t===void 0)throw Error(`unknown code theme ${e.codeTheme}`);let n=(await t.import()).default,r=await iW;await r.loadTheme({...n,colors:{...n.colors,"editor.background":e.background}}),Tp(r,Ju),eu.setTheme(e.codeTheme)}function cW(e){return{fontFamily:e.font.family,fontSize:e.font.size,lineHeight:e.font.lineHeight,fontLigatures:e.font.ligatures?e.font.features===``||e.font.features:!1,cursorStyle:e.cursor.style===`bar`?`line`:e.cursor.style,cursorBlinking:e.cursor.blink?`expand`:`solid`,tabSize:e.tabSize,insertSpaces:!0,detectIndentation:!1,trimAutoWhitespace:!1,wordWrap:e.wordWrap?`on`:`off`,wrappingStrategy:`advanced`,minimap:{enabled:!1},stickyScroll:{enabled:!1},overviewRulerBorder:!1,padding:{top:3,bottom:48},cursorSurroundingLines:2,copyWithSyntaxHighlighting:!1,accessibilitySupport:`off`,guides:{bracketPairs:!0,bracketPairsHorizontal:!1,highlightActiveBracketPair:!0,highlightActiveIndentation:!0},dragAndDrop:!1,glyphMargin:!1,useTabStops:!1,selectionHighlight:!1,emptySelectionClipboard:!1,renderWhitespace:`selection`,smartSelect:{selectLeadingAndTrailingWhitespace:!1},scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8},scrollBeyondLastLine:!1,smoothScrolling:!0,hover:{above:!1},find:{cursorMoveOnType:!1},acceptSuggestionOnCommitCharacter:!1,suggestSelection:`first`,suggest:{localityBonus:!0,insertMode:`replace`,snippetsPreventQuickSuggestions:!1},quickSuggestions:{comments:`on`,strings:`on`,other:`on`},quickSuggestionsDelay:0}}async function lW(e){await document.fonts.load(`${e.font.size}px ${e.font.family}`),eu.remeasureFonts()}function uW(e){let t=e.model,n=e.editor,r=e.machine,i=e.projectId,a=e.path,o=(0,X.useRef)(null),s=(0,X.useCallback)(e=>{let n=t.onDidChangeContent(e);return()=>n.dispose()},[t]),c=(0,X.useDeferredValue)((0,X.useSyncExternalStore)(s,()=>t.getValue())),l=(0,X.useMemo)(()=>({img(e){return(0,Z.jsx)(dW,{machine:r,projectId:i,file:a,src:e.src,alt:e.alt,width:e.width,height:e.height})}}),[r,i,a]);return(0,X.useEffect)(()=>{if(n===null)return;let e=n.onDidScrollChange(e=>{let t=o.current;t!==null&&e.scrollTopChanged&&!t.matches(`:hover`)&&(t.scrollTop=e.scrollTop/(n.getScrollHeight()-n.getLayoutInfo().height)*(t.scrollHeight-t.clientHeight))});return()=>e.dispose()},[n]),(0,Z.jsx)(`div`,{ref:o,className:Be(`border-sidebar-border bg-background min-w-0 flex-1 overflow-y-auto p-6`,n!==null&&`border-l`),onScroll:e=>{let t=e.currentTarget;n!==null&&t.matches(`:hover`)&&n.setScrollTop(t.scrollTop/(t.scrollHeight-t.clientHeight)*(n.getScrollHeight()-n.getLayoutInfo().height),eu.ScrollType.Immediate)},onClickCapture:t=>{let n=(t.target instanceof Element?t.target.closest(`a`):null)?.getAttribute(`href`)??null;n===null||fW(n)||(t.preventDefault(),t.stopPropagation(),n.startsWith(`#`)?mW(t.currentTarget,n.slice(1))?.scrollIntoView():e.onOpen(pW(a,n)))},children:(0,Z.jsx)(le,{text:c.replace(/^---\r?\n[\s\S]*?\r?\n---(\r?\n|$)/,``),components:l})})}function dW(e){let t=e.src??``,n=fW(t),[r,i]=(0,X.useState)(void 0);return(0,X.useEffect)(()=>{if(n)return;let r=!0;async function a(){try{let n=await l(e.machine,e.projectId,pW(e.file,t));r&&i(n)}catch{r&&i(void 0)}}return a(),()=>{r=!1}},[n,e.machine,e.projectId,e.file,t]),(0,Z.jsx)(`img`,{src:n?t:r,alt:e.alt,width:e.width,height:e.height,className:`max-w-full`})}function fW(e){return/^([a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function pW(e,t){let n=e.split(`/`).map(encodeURIComponent).join(`/`),r=new URL(t,`file:///${n}`).pathname.slice(1);try{return decodeURIComponent(r)}catch{return r}}function mW(e,t){return[...e.querySelectorAll(`h1, h2, h3, h4, h5, h6`)].find(e=>hW(e.textContent)===t.toLowerCase())}function hW(e){return e.trim().toLowerCase().replace(/[^\p{L}\p{N}\s_-]/gu,``).replaceAll(/\s/g,`-`)}function gW(e){return(0,Z.jsx)(he,{open:e.path!==null,onOpenChange:t=>{t||e.onCancel()},children:(0,Z.jsxs)(ie,{children:[(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(y,{children:`${yp(e.path??``)} changed on disk`}),(0,Z.jsx)(h,{children:`Something else changed this file after you opened it. Overwriting replaces that version with yours.`})]}),(0,Z.jsxs)(xe,{children:[(0,Z.jsx)(oe,{children:`Cancel`}),(0,Z.jsx)(de,{onClick:e.onOverwrite,children:`Overwrite`})]})]})})}function _W(e){return(0,Z.jsx)(he,{open:e.open,onOpenChange:t=>{t||e.onCancel()},children:(0,Z.jsx)(ie,{children:(0,Z.jsx)(vW,{tabs:e.tabs,onFinish:e.onFinish})})})}function vW(e){let t=e.tabs.map(e=>e.spec.path);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(y,{children:t.length===1?`Do you want to save the changes you made to ${yp(t[0])}?`:`Do you want to save the changes to the following ${t.length} files?`}),(0,Z.jsxs)(h,{children:[t.length>1&&`${t.map(yp).join(`, `)}. `,`Your changes will be lost if you don't save them.`]})]}),(0,Z.jsxs)(xe,{children:[(0,Z.jsx)(oe,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`outline`,onClick:()=>e.onFinish(!1),children:`Don't Save`}),(0,Z.jsx)(de,{onClick:()=>e.onFinish(!0),children:t.length===1?`Save`:`Save All`})]})]})}function yW(e){let[t,n]=(0,X.useState)(null);return(0,X.useEffect)(()=>{let t=e.editor;if(t===null)return;n(bW(t));let r=[t.onDidChangeCursorSelection(()=>n(bW(t))),t.onDidChangeModel(()=>n(bW(t))),t.onDidChangeModelOptions(()=>n(bW(t)))];return()=>{for(let e of r)e.dispose()}},[e.editor]),(0,Z.jsxs)(`div`,{className:`bg-sidebar border-sidebar-border text-muted-foreground flex h-[22px] shrink-0 items-center justify-end gap-4 border-t px-3 text-xs whitespace-nowrap`,children:[e.children,e.language!==null&&t!==null&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{children:[`Ln `,t.line,`, Col `,t.column,t.selected>0&&` (${t.selected} selected)`]}),(0,Z.jsxs)(`span`,{children:[t.spaces?`Spaces`:`Tab Size`,`: `,t.tabSize]}),(0,Z.jsx)(`span`,{children:`UTF-8`}),(0,Z.jsx)(`span`,{children:t.eol}),(0,Z.jsx)(`span`,{children:e.language})]})]})}function bW(e){let t=e.getModel(),n=e.getSelection();if(t===null||n===null)return null;let r=t.getOptions();return{line:n.positionLineNumber,column:n.positionColumn,selected:t.getValueLengthInRange(n),tabSize:r.tabSize,spaces:r.insertSpaces,eol:t.getEndOfLineSequence()===eu.EndOfLineSequence.LF?`LF`:`CRLF`}}function xW(e){let t=SW(e.spec),n=t?.kind??null,r=(0,X.useEffectEvent)(n=>{let r=e.spec,i=e.original,a=e.modified;if(r===void 0||t===null||i===null||a===null)throw Error(`This diff has no blocks to stage`);e.onPerform(()=>je(e.machine,`git.run`,{projectId:e.projectId,repo:r.repo,action:{kind:`stageContent`,path:t.path,content:t.kind===`stage`?n.originalWithModifiedChanges:rW(i,a,n.mapping)}}))});(0,X.useEffect)(()=>{if(n!==null)return nW(n,r)},[n])}function SW(e){return e?.left?.kind===`git`&&e.left.ref===``&&e.right.kind===`worktree`?{kind:`stage`,path:e.left.path}:e?.left?.kind===`git`&&e.right.kind===`git`&&e.right.ref===``?{kind:`unstage`,path:e.right.path}:null}function CW(){let[e,t]=(0,X.useState)(null),[n,r]=(0,X.useState)(null);return{editor:e,diff:n,codeHost:(0,X.useCallback)(e=>{if(e===null)return;let n=eu.create(e,{automaticLayout:!0,model:null});return t(n),()=>n.dispose()},[]),diffHost:(0,X.useCallback)(e=>{if(e===null)return;let t=eu.createDiffEditor(e,{automaticLayout:!0,originalEditable:!1,experimental:{showMoves:!0},useInlineViewWhenSpaceIsLimited:!0});return r(t),()=>t.dispose()},[])}}var wW={M:`Modified`,T:`Type Changed`,A:`Added`,D:`Deleted`,R:`Renamed`,C:`Copied`,U:`Untracked`,"!":`Conflict`},TW={M:`text-warning`,T:`text-warning`,A:`text-success`,D:`text-destructive`,R:`text-success`,C:`text-success`,U:`text-success`,"!":`text-destructive`};function EW(e,t){return e===``?t:`${e}/${t}`}function DW(e){return e.slice(0,7)}function OW(e,t,n){let r=EW(e,n.path),i={kind:`git`,ref:``,path:n.path};function a(t,n,i){return{id:`${t}:${r}`,repo:e,path:r,label:`${yp(r)} (${t})`,left:n,right:i}}return t===`merge`?a(`Working Tree`,null,{kind:`worktree`}):t===`staged`&&n.status===`A`?a(`Index`,null,i):t===`staged`&&n.status===`D`?a(`Deleted`,null,{kind:`git`,ref:`HEAD`,path:n.path}):t===`staged`?a(`Index`,{kind:`git`,ref:`HEAD`,path:n.from??n.path},i):n.status===`U`?a(`Untracked`,null,{kind:`worktree`}):n.status===`A`?a(`Intent to Add`,null,{kind:`worktree`}):n.status===`D`?a(`Deleted`,null,i):a(`Working Tree`,i,{kind:`worktree`})}function kW(e,t){return{id:`File:${t}`,repo:e,path:t,label:yp(t),left:null,right:{kind:`worktree`}}}function AW(e,t){return{...kW(e,t),id:`Preview:${t}`,label:`${yp(t)} (Preview)`,preview:!0}}function jW(e,t){let n=EW(e,t.path);return{id:`HEAD:${n}`,repo:e,path:n,label:`${yp(n)} (HEAD)`,left:null,right:{kind:`git`,ref:`HEAD`,path:t.from??t.path}}}function MW(e,t,n){let r=EW(e,n.path),i=t.parents.at(0)??null;return{id:`${t.hash}:${r}`,repo:e,path:r,label:`${yp(r)} (${i===null?`empty`:DW(i)} ↔ ${DW(t.hash)})`,left:i===null||n.status===`A`?{kind:`empty`}:{kind:`git`,ref:i,path:n.from??n.path},right:n.status===`D`?{kind:`empty`}:{kind:`git`,ref:t.hash,path:n.path}}}function NW(e,t){return[...e].sort((e,n)=>t===`name`?yp(e.path).localeCompare(yp(n.path))||e.path.localeCompare(n.path):t===`status`&&e.status.localeCompare(n.status)||e.path.localeCompare(n.path))}function PW(e,t){let n={folders:new Map,files:[]};for(let t of e){let e=n,r=vp(t.path);for(let t of r===``?[]:r.split(`/`)){let n=e.folders.get(t)??{folders:new Map,files:[]};e.folders.set(t,n),e=n}e.files.push(t)}return FW(n,``,t)}function FW(e,t,n){return[...[...e.folders].sort((e,t)=>e[0].localeCompare(t[0])).map(e=>{let r=e[0],i=e[1];for(;i.files.length===0&&i.folders.size===1;){let e=[...i.folders][0];r=`${r}/${e[0]}`,i=e[1]}let a=t===``?r:`${t}/${r}`,o=FW(i,a,n);return{kind:`folder`,path:a,label:r,children:o,resources:o.flatMap(e=>e.kind===`file`?[e.resource]:e.resources)}}),...NW(e.files,n).map(e=>({kind:`file`,resource:e}))]}var IW=new WeakSet;function LW(e){let[t,n]=(0,X.useState)(()=>({tabs:e.saved.tabs.map(e=>({spec:e.spec,document:{status:`loading`}})),active:e.saved.active})),r=(0,X.useRef)(t),i=(0,X.useRef)(!0),a=(0,X.useRef)(new Set),o=(0,X.useRef)(Promise.resolve()),s=t.tabs,c=t.active,[l,u]=(0,X.useState)(null);ye(de,!0);let[d,f]=(0,X.useState)(null),p=s.filter(e=>e.document.status===`text`&&e.document.dirty),m=l?.kind===`tab`?s.filter(e=>e.spec.id===l.id):p,h=p.length>0;(0,X.useEffect)(()=>{if(!h)return;function e(e){e.preventDefault()}return addEventListener(`beforeunload`,e),()=>removeEventListener(`beforeunload`,e)},[h]),(0,X.useEffect)(()=>(i.current=!0,()=>{i.current=!1,queueMicrotask(()=>{if(i.current)return;let e=new Set([...a.current,...r.current.tabs.flatMap(e=>RW(e.document))]);for(let t of e)t.dispose()})}),[]);function g(e){r.current={...r.current,...e},n(r.current)}function _(e){g({active:e})}function v(){let e=new Set(s.flatMap(e=>RW(e.document)));for(let t of a.current)e.has(t)||t.dispose();a.current=e}async function y(t,n){if(n.kind===`empty`)return``;if(n.kind===`git`)return je(e.machine,`git.show`,{projectId:e.projectId,repo:t.repo,ref:n.ref,path:n.path});let r=await je(e.machine,`files.read`,{projectId:e.projectId,path:t.path});return r.kind===`text`?r.content:null}function b(e){return Promise.all([e.left===null?``:y(e,e.left),y(e,e.right)])}function ee(e,t){g({tabs:r.current.tabs.map(n=>n.spec.id===e?{...n,document:t}:n)})}async function te(t){try{if(t.left===null&&t.right.kind===`worktree`){let n=await je(e.machine,`files.read`,{projectId:e.projectId,path:t.path});return n.kind===`image`?{status:`image`,src:`data:${n.mediaType};base64,${n.data}`}:n.kind===`large`?{status:`large`,size:n.size,limit:n.limit}:n.kind===`binary`?{status:`binary`}:await x(t,``,n.content)}let n=await b(t);return n[0]===null||n[1]===null?{status:`binary`}:await x(t,n[0],n[1])}catch(e){return{status:`error`,message:ze(e)}}}async function x(e,t,n){let i=await oW(e.path),a=e.left===null?null:eu.createModel(t,i.id),o=eu.createModel(n,i.id);return o.onDidChangeContent(()=>{if(IW.has(o))return;let e=r.current.tabs,t=e.find(e=>e.document.status===`text`&&e.document.modified===o);if(t===void 0||t.document.status!==`text`)return;let n=o.getAlternativeVersionId()!==t.document.saved;t.document.dirty!==n&&g({tabs:e.map(e=>e===t?{...t,document:{...t.document,dirty:n}}:e)})}),{status:`text`,original:a,modified:o,language:i.name,saved:o.getAlternativeVersionId(),dirty:!1,base:n}}async function ne(e){let t=r.current.tabs.find(t=>t.spec.id===e);if(t?.document.status!==`text`||t.document.dirty)return;let n=t.document,i=n.modified.getAlternativeVersionId();try{let a=await b(t.spec);if(n.modified.isDisposed()||n.modified.getAlternativeVersionId()!==i)return;let o=a[1];if(a[0]===null||o===null){ee(e,{status:`binary`});return}n.original!==null&&zW(n.original,a[0]),IW.add(n.modified),zW(n.modified,o),IW.delete(n.modified);let s=n.modified.getAlternativeVersionId();(s!==i||o!==n.base)&&g({tabs:r.current.tabs.map(e=>e.document.status===`text`&&e.document.modified===n.modified?{...e,document:{...e.document,saved:s,base:o}}:e)})}catch(t){ee(e,{status:`error`,message:ze(t)})}}async function re(e){g({active:e.id}),r.current.tabs.some(t=>t.spec.id===e.id)||(g({tabs:[...r.current.tabs,{spec:e,document:{status:`loading`}}]}),await ie(e))}async function ie(e){let t=await te(e),n=r.current.tabs.some(t=>t.spec.id===e.id&&t.document.status===`loading`);if(!i.current||!n)for(let e of RW(t))e.dispose();else ee(e.id,t)}function ae(e,t){let n=o.current.then(()=>oe(e,t));return o.current=n,n}async function oe(t,n){let i=r.current.tabs.find(e=>e.spec.id===t);if(i?.document.status!==`text`||!i.document.dirty||i.document.modified.isDisposed()||i.spec.right.kind!==`worktree`||i.spec.preview===!0)return!0;let a=i.document.modified,o=a.getAlternativeVersionId(),s=a.getValue();try{if(!await je(e.machine,`files.write`,{projectId:e.projectId,path:i.spec.path,content:s,base:n?null:i.document.base}))return f(i.spec),!1}catch(e){return ke(e),!1}return g({tabs:r.current.tabs.map(e=>e.document.status===`text`&&e.document.modified===a?{...e,document:{...e.document,saved:o,dirty:a.getAlternativeVersionId()!==o,base:s}}:e)}),e.onSaved(),!0}function se(e){let t=r.current,n=t.tabs.filter(t=>!e(t.spec)),i=t.tabs.findIndex(e=>e.spec.id===t.active);g({tabs:n,active:i!==-1&&e(t.tabs[i].spec)?n.at(Math.min(i,n.length-1))?.spec.id??null:t.active})}function ce(e,t){function n(n){return n===e?t:n.startsWith(`${e}/`)?`${t}${n.slice(e.length)}`:n}let i=r.current,a=i.tabs.map(e=>e.spec.id===kW(e.spec.repo,e.spec.path).id?{...e,spec:kW(e.spec.repo,n(e.spec.path))}:e.spec.id===AW(e.spec.repo,e.spec.path).id?{...e,spec:AW(e.spec.repo,n(e.spec.path))}:e),o=i.tabs.findIndex(e=>e.spec.id===i.active);g({tabs:a,active:o===-1?i.active:a[o].spec.id})}function le(e){se(t=>t.right.kind===`worktree`&&(t.path===e||t.path.startsWith(`${e}/`)))}function ue(e){p.some(t=>t.spec.id===e)?u({kind:`tab`,id:e}):se(t=>t.id===e)}function de(){p.length>0?u({kind:`dialog`}):e.onClose()}async function fe(t){l!==null&&(u(null),t&&(await Promise.all(m.map(e=>ae(e.spec.id,!1)))).includes(!1)||(l.kind===`tab`&&se(e=>e.id===l.id),l.kind===`dialog`&&e.onClose()))}function pe(){d!==null&&ae(d.id,!0),f(null)}let me=(0,X.useEffectEvent)(()=>{for(let t of e.saved.tabs)ie(t.spec)});return(0,X.useEffect)(()=>me(),[]),{tabs:s,active:c,setActive:_,dirty:p,closing:l,setClosing:u,closingTabs:m,conflict:{path:d?.path??null,onCancel:()=>f(null),onOverwrite:pe},open:re,reload:ne,save:ae,close:ue,renamed:ce,deleted:le,requestClose:de,finish:fe,releaseModels:v}}function RW(e){return e.status===`text`?e.original===null?[e.modified]:[e.original,e.modified]:[]}function zW(e,t){let n=e.getValue(),r=0;for(;r<n.length&&r<t.length&&n[r]===t[r];)r++;let i=0;for(;i<n.length-r&&i<t.length-r&&n[n.length-1-i]===t[t.length-1-i];)i++;(r!==n.length||r!==t.length)&&e.applyEdits([{range:yd.fromPositions(e.getPositionAt(r),e.getPositionAt(n.length-i)),text:t.slice(r,t.length-i)}])}function BW(e){return(0,Z.jsxs)(a,{children:[(0,Z.jsxs)(o,{className:`hover:bg-accent data-[state=open]:bg-accent mr-auto ml-1 flex h-6 min-w-0 cursor-pointer items-center gap-1 rounded-sm px-1 text-[11px] font-bold tracking-wide uppercase outline-none`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:e.view===`explorer`?`Explorer`:`Source Control`}),(0,Z.jsx)(Pe,{icon:b,className:`size-3.5 shrink-0`})]}),(0,Z.jsx)(u,{align:`start`,className:`bg-popover! w-44`,children:(0,Z.jsxs)(i,{value:e.view,onValueChange:t=>{(t===`explorer`||t===`scm`)&&e.onView(t)},children:[(0,Z.jsx)(p,{value:`explorer`,children:`Explorer`}),(0,Z.jsx)(p,{value:`scm`,children:`Source Control`})]})})]})}function VW(e){return(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 pl-1.5`,children:[(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Open File`,"aria-label":`Open File`,onClick:e.onOpenFile,children:(0,Z.jsx)(Pe,{icon:x,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Previous Change`,"aria-label":`Previous Change`,onClick:e.onPrevious,children:(0,Z.jsx)(Pe,{icon:g,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Next Change`,"aria-label":`Next Change`,onClick:e.onNext,children:(0,Z.jsx)(Pe,{icon:Ce,className:`size-4`})}),(0,Z.jsxs)(a,{children:[(0,Z.jsx)(o,{asChild:!0,children:(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`More Actions...`,"aria-label":`More Actions`,children:(0,Z.jsx)(Pe,{icon:me,className:`size-4`})})}),(0,Z.jsxs)(u,{align:`end`,className:`bg-popover! w-80`,children:[(0,Z.jsx)(c,{checked:e.settings.inline,onCheckedChange:t=>e.onSettings({inline:t}),children:`Inline View`}),(0,Z.jsx)(c,{checked:e.settings.whitespace,onCheckedChange:t=>e.onSettings({whitespace:t}),children:`Show Leading/Trailing Whitespace Differences`}),(0,Z.jsx)(c,{checked:e.settings.collapse,onCheckedChange:t=>e.onSettings({collapse:t}),children:`Collapse Unchanged Regions`})]})]})]})}function HW(e){let t=e.repo;return(0,Z.jsxs)(`div`,{className:`mr-auto -ml-1.5 flex h-full items-center`,children:[(0,Z.jsxs)(`button`,{type:`button`,title:`${t.branch??`HEAD`} (Git) - Checkout Branch/Tag...`,className:`hover:bg-accent hover:text-foreground flex h-full cursor-pointer items-center gap-1 px-1.5 tabular-nums`,onClick:e.onCheckout,children:[(0,Z.jsx)(Pe,{icon:te,className:`size-3.5`}),t.branch??(t.head===null?`HEAD`:DW(t.head)),t.changes.length>0&&`*`,t.staged.length>0&&`+`,t.merge.length>0&&`!`]}),t.upstream!==null&&(0,Z.jsxs)(`button`,{type:`button`,title:`Synchronize Changes`,disabled:e.busy,className:`hover:bg-accent hover:text-foreground flex h-full cursor-pointer items-center gap-1 px-1.5 tabular-nums`,onClick:e.onSync,children:[(0,Z.jsx)(Pe,{icon:ve,className:Be(`size-3.5`,e.busy&&`animate-spin`)}),(t.behind>0||t.ahead>0)&&`${t.behind}↓ ${t.ahead}↑`]}),t.upstream===null&&t.branch!==null&&t.remote&&(0,Z.jsx)(`button`,{type:`button`,title:`Publish Branch`,"aria-label":`Publish Branch`,disabled:e.busy,className:`hover:bg-accent hover:text-foreground flex h-full cursor-pointer items-center gap-1 px-1.5 tabular-nums`,onClick:e.onPublish,children:(0,Z.jsx)(Pe,{icon:ge,className:`size-3.5`})})]})}var UW={all:null,amend:!1,then:null};function WW(e){let t=e.repo,n=t.merge.length+t.staged.length+t.changes.length>0,r=!n&&t.branch!==null&&t.upstream===null&&t.remote,i=!n&&t.upstream!==null&&(t.ahead>0||t.behind>0);return(0,Z.jsxs)(`div`,{className:Be(`grid gap-1.5 pt-1.5 pr-2 pb-1.5`,e.nested?`pl-4`:`pl-2`),children:[(0,Z.jsxs)(`div`,{className:`bg-input/40 border-input focus-within:border-primary relative rounded-sm border`,children:[(0,Z.jsx)(`textarea`,{rows:7,"aria-label":`Source Control Input`,value:e.message,placeholder:`Message (${Re===`⌘`?`⌘Enter`:`Ctrl+Enter`} to commit on "${t.branch??(t.head===null?`HEAD`:DW(t.head))}")`,className:`placeholder:text-muted-foreground block w-full resize-none bg-transparent py-1 pr-7 pl-2 text-[13px] leading-[18px] outline-none`,onChange:t=>e.onMessage(t.target.value),onKeyDown:t=>{(t.metaKey||t.ctrlKey)&&t.key===`Enter`&&(t.preventDefault(),e.onCommit({...UW,then:`push`}))}}),(0,Z.jsx)(`button`,{type:`button`,title:e.generating?`Cancel`:`Generate Commit Message`,"aria-label":e.generating?`Cancel`:`Generate Commit Message`,className:`text-muted-foreground hover:text-foreground hover:bg-accent absolute top-[3px] right-[3px] grid size-5 cursor-pointer place-items-center rounded-sm`,onClick:e.generating?e.onCancel:e.onGenerate,children:(0,Z.jsx)(Pe,{icon:e.generating?ip:ne,className:`size-3.5`})})]}),r&&(0,Z.jsxs)(Fe,{size:`xs`,className:`w-full rounded-sm`,disabled:e.busy,onClick:()=>e.onRemote(`git.push`),children:[(0,Z.jsx)(Pe,{icon:ge}),`Publish Branch`]}),i&&(0,Z.jsxs)(Fe,{size:`xs`,className:`w-full rounded-sm`,disabled:e.busy,onClick:()=>e.onRemote(`git.sync`),children:[(0,Z.jsx)(Pe,{icon:ve}),`Sync Changes`,t.behind>0&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center tabular-nums`,children:[t.behind,(0,Z.jsx)(Pe,{icon:Ce,className:`size-3`})]}),t.ahead>0&&(0,Z.jsxs)(`span`,{className:`inline-flex items-center tabular-nums`,children:[t.ahead,(0,Z.jsx)(Pe,{icon:g,className:`size-3`})]})]}),!r&&!i&&(0,Z.jsxs)(`div`,{className:`flex`,children:[(0,Z.jsxs)(Fe,{size:`xs`,className:`flex-1 rounded-sm rounded-r-none [&:active:not([aria-haspopup])]:scale-100`,disabled:!n||e.busy,onClick:()=>e.onCommit({...UW,then:`push`}),children:[(0,Z.jsx)(Pe,{icon:ae}),`Commit & Push`]}),(0,Z.jsxs)(a,{children:[(0,Z.jsx)(o,{asChild:!0,children:(0,Z.jsx)(Fe,{size:`xs`,className:`rounded-sm rounded-l-none px-1 before:absolute before:inset-y-1 before:-left-px before:w-px before:bg-white/10`,disabled:!n||e.busy,title:`More Actions...`,"aria-label":`More Commit Actions`,children:(0,Z.jsx)(Pe,{icon:b})})}),(0,Z.jsxs)(u,{align:`end`,className:`bg-popover! w-48`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onCommit(UW),children:`Commit`}),(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,amend:!0}),children:`Commit (Amend)`}),(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,then:`push`}),children:`Commit & Push`}),(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,then:`sync`}),children:`Commit & Sync`})]})]})]})]})}var GW=[{id:`merge`,title:`Merge Changes`},{id:`staged`,title:`Staged Changes`},{id:`changes`,title:`Changes`}];function KW(e){let[t,n]=(0,X.useState)([]),[r,i]=(0,X.useState)(null),a=e.repo;function o(e){n(t.includes(e)?t.filter(t=>t!==e):[...t,e])}function s(t,n,r){let i=r===`group`?`All Changes`:`Changes`;return(0,Z.jsxs)(Z.Fragment,{children:[r===`file`&&n[0].status!==`D`&&(0,Z.jsx)(YW,{title:`Open File`,icon:x,onClick:()=>e.onOpen(kW(a.path,EW(a.path,n[0].path)))}),t===`changes`&&(0,Z.jsx)(YW,{title:`Discard ${i}`,icon:op,onClick:()=>e.onDiscard(n)}),t===`staged`&&(0,Z.jsx)(YW,{title:`Unstage ${i}`,icon:Qf,onClick:()=>e.onUnstage(n)}),t!==`staged`&&(0,Z.jsx)(YW,{title:t===`merge`&&r===`group`?`Stage All Merge Changes`:`Stage ${i}`,icon:Zf,onClick:()=>e.onStage(n)})]})}function c(t,n,r){let o=OW(a.path,t,n),c=EW(a.path,n.path);return(0,Z.jsxs)(`div`,{"data-resource":!0,role:`button`,tabIndex:0,title:`${e.root}/${c} • ${wW[n.status]}`,className:Be(`group/row hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none focus-visible:ring-1 focus-visible:ring-inset`,o.id===e.active&&`bg-sidebar-row-active`),style:{paddingLeft:20+r*8},onClick:()=>e.onOpen(o),onKeyDown:t=>{t.key===`Enter`&&e.onOpen(o)},onContextMenu:()=>i({group:t,resource:n}),children:[(0,Z.jsx)(Ge,{path:n.path}),(0,Z.jsx)(`span`,{className:Be(`min-w-0 shrink-0 truncate`,TW[n.status],n.status===`D`&&`line-through`),children:yp(n.path)}),!e.tree&&(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 truncate text-xs`,children:vp(n.path)}),(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-0.5`,children:[(0,Z.jsx)(`span`,{className:`hidden items-center gap-0.5 group-hover/row:flex group-focus-visible/row:flex`,children:s(t,[n],`file`)}),(0,Z.jsx)(`span`,{className:Be(`w-3.5 text-center text-xs`,TW[n.status]),children:n.status})]})]},`${t}:${n.path}`)}function l(e,n,r){return n.map(n=>{if(n.kind===`file`)return c(e,n.resource,r);let i=`${a.path}:${e}:${n.path}`,u=!t.includes(i);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,title:n.path,className:`group/row hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none focus-visible:ring-1 focus-visible:ring-inset`,style:{paddingLeft:4+r*8},onClick:()=>o(i),onKeyDown:e=>{e.key===`Enter`&&o(i)},children:[(0,Z.jsx)(JW,{open:u}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:n.label}),(0,Z.jsx)(`span`,{className:`ml-auto hidden shrink-0 items-center gap-0.5 group-hover/row:flex group-focus-visible/row:flex`,children:s(e,n.resources,`folder`)})]}),u&&l(e,n.children,r+1)]},i)})}return(0,Z.jsxs)(pe,{children:[(0,Z.jsx)(re,{asChild:!0,children:(0,Z.jsx)(`div`,{onContextMenu:e=>{e.target instanceof Element&&e.target.closest(`[data-resource]`)!==null||e.preventDefault()},children:GW.map(n=>{let r=a[n.id];if(r.length===0)return null;let i=`${a.path}:${n.id}`,u=!t.includes(i);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,className:`group/row hover:bg-sidebar-row-hover focus-visible:ring-ring relative flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none focus-visible:ring-1 focus-visible:ring-inset`,style:{paddingLeft:4+e.depth*8},onClick:()=>o(i),onKeyDown:e=>{e.key===`Enter`&&o(i)},children:[(0,Z.jsx)(JW,{open:u}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n.title}),(0,Z.jsx)(`span`,{className:`hidden shrink-0 items-center gap-0.5 group-hover/row:flex group-focus-visible/row:flex`,children:s(n.id,r,`group`)}),(0,Z.jsx)(`span`,{className:`bg-muted text-foreground grid h-4.5 min-w-4.5 shrink-0 place-items-center rounded-full px-1 text-[11px] tabular-nums`,children:r.length})]}),u&&(e.tree?l(n.id,PW(r,e.sort),e.depth+1):NW(r,e.sort).map(t=>c(n.id,t,e.depth+1)))]},n.id)})})}),r!==null&&(0,Z.jsx)(se,{className:`min-w-52`,children:(0,Z.jsx)(qW,{repo:a.path,root:e.root,group:r.group,resource:r.resource,onOpen:e.onOpen,onStage:e.onStage,onUnstage:e.onUnstage,onDiscard:e.onDiscard,onIgnore:e.onIgnore})})]})}function qW(e){let n=t(),r=e.resource;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(_,{onSelect:()=>e.onOpen(OW(e.repo,e.group,r)),children:`Open Changes`}),r.status!==`D`&&(0,Z.jsx)(_,{onSelect:()=>e.onOpen(kW(e.repo,EW(e.repo,r.path))),children:`Open File`}),r.status!==`U`&&r.status!==`A`&&(0,Z.jsx)(_,{onSelect:()=>e.onOpen(jW(e.repo,r)),children:`Open File (HEAD)`}),(0,Z.jsx)(ee,{}),e.group===`staged`&&(0,Z.jsx)(_,{onSelect:()=>e.onUnstage([r]),children:`Unstage Changes`}),e.group!==`staged`&&(0,Z.jsx)(_,{onSelect:()=>e.onStage([r]),children:`Stage Changes`}),e.group===`changes`&&(0,Z.jsx)(_,{onSelect:()=>e.onDiscard([r]),children:`Discard Changes`}),r.status===`U`&&(0,Z.jsx)(_,{onSelect:()=>e.onIgnore([r]),children:`Add to .gitignore`}),(0,Z.jsx)(ee,{}),(0,Z.jsx)(_,{onSelect:()=>void n.copy(`${e.root}/${EW(e.repo,r.path)}`),children:`Copy Path`}),(0,Z.jsx)(_,{onSelect:()=>void n.copy(EW(e.repo,r.path)),children:`Copy Relative Path`})]})}function JW(e){return(0,Z.jsx)(Pe,{icon:qe,"aria-hidden":!0,className:Be(`text-muted-foreground size-4 shrink-0 transition-transform`,e.open&&`rotate-90`)})}function YW(e){return(0,Z.jsx)(`button`,{type:`button`,title:e.title,"aria-label":e.title,className:`text-foreground hover:bg-accent grid size-5 cursor-pointer place-items-center rounded-sm`,onClick:t=>{t.stopPropagation(),e.onClick()},children:(0,Z.jsx)(Pe,{icon:e.icon,className:`size-4`})})}var XW=50,ZW=11,QW=22,$W=[`#59A4F9`,`#FFB000`,`#DC267F`,`#994F00`,`#40B0A6`,`#B66DFF`];function eG(e){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(XW),[l,u]=(0,X.useState)(0),[d,f]=(0,X.useState)([]),[p,m]=(0,X.useState)({}),h=e.repos.find(e=>e.path===t)??e.repos.at(0),g=h?.path??null,_=h?.head??null,v=h?.upstream??null,y=h?.behind??0;(0,X.useEffect)(()=>{if(g===null||_===null){i([]);return}let t=!0;return je(e.machine,`git.history`,{projectId:e.projectId,repo:g,limit:s}).then(e=>{t&&(i(e),o(null))},e=>{t&&o(ze(e))}),()=>{t=!1}},[e.machine,e.projectId,g,_,v,y,s,l]);async function b(t){if(d.includes(t.hash))f(d.filter(e=>e!==t.hash));else if(f([...d,t.hash]),h!==void 0&&p[t.hash]===void 0)try{let n=await je(e.machine,`git.commitFiles`,{projectId:e.projectId,repo:h.path,hash:t.hash,parent:t.parents.at(0)??null});m(e=>({...e,[t.hash]:n}))}catch(e){ke(e)}}let ee=aG(r??[]);return(0,Z.jsxs)(`div`,{className:Be(`border-sidebar-border relative flex shrink-0 flex-col border-t`,e.open&&`min-h-20`),style:e.open?{height:e.height}:void 0,children:[e.open&&(0,Z.jsx)(`div`,{role:`separator`,"aria-orientation":`horizontal`,className:`hover:bg-primary absolute inset-x-0 -top-0.5 z-10 h-1 cursor-row-resize touch-none transition-colors delay-100`,onPointerDown:t=>{let n=t.currentTarget.parentElement?.parentElement;if(n==null)return;let r=n.getBoundingClientRect();Le(t,t=>e.onHeight(Math.min(Math.max(r.bottom-t.clientY,80),r.height-120)))}}),(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,className:`group/row text-sidebar-foreground flex h-[22px] shrink-0 cursor-pointer items-center gap-0.5 pr-2 pl-0.5 outline-none select-none`,onClick:e.onToggle,onKeyDown:t=>{t.key===`Enter`&&e.onToggle()},children:[(0,Z.jsx)(Pe,{icon:qe,"aria-hidden":!0,className:Be(`size-4 shrink-0 transition-transform`,e.open&&`rotate-90`)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] font-bold tracking-wide uppercase`,children:`Graph`}),e.repos.length>1&&(0,Z.jsx)(`select`,{"aria-label":`Repository`,value:h?.path??``,className:`bg-sidebar text-muted-foreground max-w-28 cursor-pointer truncate text-xs outline-none`,onClick:e=>e.stopPropagation(),onChange:e=>{n(e.target.value),f([]),c(XW)},children:e.repos.map(e=>(0,Z.jsx)(`option`,{value:e.path,children:e.path===``?`.`:e.path},e.path))}),e.open&&h!==void 0&&(0,Z.jsxs)(`span`,{className:`hidden items-center gap-0.5 group-hover/row:flex`,children:[(0,Z.jsx)(YW,{title:`Fetch From All Remotes`,icon:$f,onClick:()=>e.onFetch(h)}),(0,Z.jsx)(YW,{title:`Refresh`,icon:Ke,onClick:()=>u(l+1)})]})]}),e.open&&(0,Z.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[a!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground px-4 py-1 text-xs`,children:a}),a===null&&ee.length===0&&r!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground px-4 py-1 text-xs`,children:`No commits yet.`}),a===null&&h!==void 0&&ee.map(t=>{let n=t.commit,r=d.includes(n.hash);return(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,title:`${n.author}, ${new Date(n.date).toLocaleString()}\n\n${n.subject}\n\n${DW(n.hash)}`,className:`hover:bg-sidebar-row-hover flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none`,onClick:()=>void b(n),onKeyDown:e=>{e.key===`Enter`&&b(n)},children:[(0,Z.jsx)(tG,{row:t,child:!1}),(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:n.subject}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 shrink-[2] truncate text-xs`,children:n.author}),(0,Z.jsx)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:n.refs.map(e=>nG(e,h))})]}),r&&(p[n.hash]??[]).map(r=>{let i=MW(h.path,n,r);return(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,title:`${r.path} • ${wW[r.status]}`,className:Be(`hover:bg-sidebar-row-hover flex h-[22px] cursor-pointer items-center gap-1.5 pr-2 text-[13px] outline-none select-none`,i.id===e.active&&`bg-sidebar-row-active`),onClick:()=>e.onOpen(i),onKeyDown:t=>{t.key===`Enter`&&e.onOpen(i)},children:[(0,Z.jsx)(tG,{row:t,child:!0}),(0,Z.jsx)(Ge,{path:r.path}),(0,Z.jsx)(`span`,{className:Be(`min-w-0 shrink-0 truncate`,TW[r.status],r.status===`D`&&`line-through`),children:yp(r.path)}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 truncate text-xs`,children:vp(r.path)}),(0,Z.jsx)(`span`,{className:Be(`ml-auto w-3.5 shrink-0 text-center text-xs`,TW[r.status]),children:r.status})]},r.path)})]},n.hash)}),r!==null&&r.length===s&&(0,Z.jsx)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground w-full cursor-pointer px-4 py-1 text-left text-xs`,onClick:()=>c(s+XW),children:`Load More…`})]})]})}function tG(e){let t=e.row,n=QW/2,r=rG(t.lane);return e.child?(0,Z.jsx)(`svg`,{"aria-hidden":!0,width:ZW*(t.width+1),height:QW,className:`shrink-0`,children:t.after.map(e=>(0,Z.jsx)(`line`,{x1:rG(e),x2:rG(e),y1:0,y2:QW,stroke:iG(e),strokeWidth:1},e))}):(0,Z.jsxs)(`svg`,{"aria-hidden":!0,width:ZW*(t.width+1),height:QW,className:`shrink-0`,children:[t.through.map(e=>(0,Z.jsx)(`line`,{x1:rG(e),x2:rG(e),y1:0,y2:QW,stroke:iG(e),strokeWidth:1},`through-${e}`)),t.up.map(e=>(0,Z.jsx)(`path`,{d:`M ${rG(e)} 0 Q ${rG(e)} ${n} ${r} ${n}`,fill:`none`,stroke:iG(e),strokeWidth:1},`up-${e}`)),t.down.map(e=>(0,Z.jsx)(`path`,{d:`M ${r} ${n} Q ${rG(e)} ${n} ${rG(e)} ${QW}`,fill:`none`,stroke:iG(e),strokeWidth:1},`down-${e}`)),(0,Z.jsx)(`circle`,{cx:r,cy:n,r:t.commit.parents.length>1?3.5:4,fill:t.commit.parents.length>1?`var(--sidebar)`:iG(t.lane),stroke:iG(t.lane),strokeWidth:t.commit.parents.length>1?2:0})]})}function nG(e,t){if(e.endsWith(`/HEAD`))return null;let n=e===`HEAD`||e.startsWith(`HEAD -> `),r=e.startsWith(`tag: `),i=e===t.upstream,a=e.replace(/^HEAD -> /,``).replace(/^tag: /,``);return(0,Z.jsxs)(`span`,{title:a,className:Be(`inline-flex h-4 max-w-32 items-center gap-0.5 rounded-full px-1.5 text-[11px] font-medium`,n&&`text-background bg-[#59A4F9]`,i&&`text-background bg-[#B180D7]`,!n&&!i&&`bg-muted text-foreground`),children:[(0,Z.jsx)(Pe,{icon:r?ap:i?fe:te,className:`size-3 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:a})]},e)}function rG(e){return ZW*(e+1)}function iG(e){return $W[e%$W.length]}function aG(e){let t=[];return e.map(e=>{let n=t,r=n.indexOf(e.hash),i=n.indexOf(null),a=r===-1?i===-1?n.length:i:r,o=n.map(t=>t===e.hash?null:t);o[a]=e.parents.at(0)??null;let s=e.parents.length>0?[a]:[];for(let t of e.parents.slice(1)){let e=o.indexOf(t);if(e!==-1){s.push(e);continue}let n=o.indexOf(null),r=n===-1?o.length:n;o[r]=t,s.push(r)}for(;o.length>0&&o.at(-1)===null;)o.pop();return t=o,{commit:e,lane:a,up:n.flatMap((t,n)=>t===e.hash?[n]:[]),through:n.flatMap((t,n)=>t!==null&&t!==e.hash?[n]:[]),down:s,after:o.flatMap((e,t)=>e===null?[]:[t]),width:Math.max(n.length,o.length,a+1)}})}function oG(e){let t=e.repo;function n(t,n){return(0,Z.jsx)(we,{onSelect:()=>e.onCommit({...UW,...n}),children:t})}return(0,Z.jsxs)(a,{children:[(0,Z.jsx)(o,{asChild:!0,children:(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`More Actions...`,"aria-label":`More Actions`,onClick:e=>e.stopPropagation(),children:(0,Z.jsx)(Pe,{icon:me,className:`size-4`})})}),(0,Z.jsxs)(u,{align:`end`,className:`bg-popover! w-56`,children:[(0,Z.jsxs)(r,{children:[(0,Z.jsx)(_e,{children:`View & Sort`}),(0,Z.jsxs)(s,{className:`w-44`,children:[(0,Z.jsxs)(i,{value:e.settings.tree?`tree`:`list`,onValueChange:t=>e.onSettings({tree:t===`tree`}),children:[(0,Z.jsx)(p,{value:`list`,children:`View as List`}),(0,Z.jsx)(p,{value:`tree`,children:`View as Tree`})]}),(0,Z.jsx)(m,{}),(0,Z.jsxs)(i,{value:e.settings.sort,onValueChange:t=>{(t===`name`||t===`path`||t===`status`)&&e.onSettings({sort:t})},children:[(0,Z.jsx)(p,{value:`name`,children:`Sort by Name`}),(0,Z.jsx)(p,{value:`path`,children:`Sort by Path`}),(0,Z.jsx)(p,{value:`status`,children:`Sort by Status`})]})]})]}),(0,Z.jsx)(m,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`pull`,rebase:!1}),children:`Pull`}),(0,Z.jsx)(we,{onSelect:()=>e.onRemote(`git.push`),children:`Push`}),(0,Z.jsx)(we,{onSelect:e.onCheckout,children:`Checkout to...`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!1,all:!1}),children:`Fetch`}),(0,Z.jsx)(m,{}),(0,Z.jsxs)(r,{children:[(0,Z.jsx)(_e,{children:`Commit`}),(0,Z.jsxs)(s,{className:`w-52`,children:[n(`Commit`,{}),n(`Commit Staged`,{all:!1}),n(`Commit All`,{all:!0}),(0,Z.jsx)(we,{disabled:t.head===null,onSelect:e.onUndo,children:`Undo Last Commit`}),(0,Z.jsx)(m,{}),n(`Commit (Amend)`,{amend:!0}),n(`Commit Staged (Amend)`,{all:!1,amend:!0}),n(`Commit All (Amend)`,{all:!0,amend:!0})]})]}),(0,Z.jsxs)(r,{children:[(0,Z.jsx)(_e,{children:`Changes`}),(0,Z.jsxs)(s,{className:`w-52`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onStage([...t.merge,...t.changes]),children:`Stage All Changes`}),(0,Z.jsx)(we,{onSelect:()=>e.onUnstage(t.staged),children:`Unstage All Changes`}),(0,Z.jsx)(we,{disabled:t.changes.length===0,onSelect:()=>e.onDiscard(t.changes),children:`Discard All Changes`})]})]}),(0,Z.jsxs)(r,{children:[(0,Z.jsx)(_e,{children:`Pull, Push`}),(0,Z.jsxs)(s,{className:`w-52`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onRemote(`git.sync`),children:`Sync`}),(0,Z.jsx)(m,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`pull`,rebase:!1}),children:`Pull`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`pull`,rebase:!0}),children:`Pull (Rebase)`}),(0,Z.jsx)(m,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRemote(`git.push`),children:`Push`}),(0,Z.jsx)(m,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!1,all:!1}),children:`Fetch`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!0,all:!1}),children:`Fetch (Prune)`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`fetch`,prune:!1,all:!0}),children:`Fetch From All Remotes`})]})]}),(0,Z.jsxs)(r,{children:[(0,Z.jsx)(_e,{children:`Branch`}),(0,Z.jsxs)(s,{className:`w-52`,children:[(0,Z.jsx)(we,{onSelect:e.onCheckout,children:`Create Branch...`}),(0,Z.jsx)(we,{disabled:t.branch===null||t.upstream!==null,onSelect:()=>e.onRemote(`git.push`),children:`Publish Branch...`})]})]}),(0,Z.jsxs)(r,{children:[(0,Z.jsx)(_e,{children:`Stash`}),(0,Z.jsxs)(s,{className:`w-56`,children:[(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`stash`,mode:`tracked`}),children:`Stash`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`stash`,mode:`untracked`}),children:`Stash (Include Untracked)`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`stash`,mode:`staged`}),children:`Stash Staged`}),(0,Z.jsx)(m,{}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`unstash`,pop:!1}),children:`Apply Latest Stash`}),(0,Z.jsx)(we,{onSelect:()=>e.onRun({kind:`unstash`,pop:!0}),children:`Pop Latest Stash`})]})]})]})]})}function sG(e){let[t,n]=(0,X.useState)([]),r=(0,X.useRef)(new Map),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(null),c=e.repos??[],l=c.length===1?c[0]:null,u=e.settings,d=Oe(e=>e.prefs);function f(e){return u.messages[e.path]??``}function p(t,n){return e.onPerform(()=>je(e.machine,`git.run`,{projectId:e.projectId,repo:t.path,action:n}))}function m(t,n){return e.onPerform(()=>je(e.machine,n,{projectId:e.projectId,repo:t.path}))}async function g(t,n){let r=f(t).trim();if(r===``&&!n.amend){ke(`Please provide a commit message.`);return}let i=t.changes.length+t.merge.length>0;if(n.all===null&&!n.amend&&t.staged.length===0){if(!i){ke(`There are no changes to commit.`);return}if(!u.smartCommit){a({repo:t,options:n});return}}let o=n.all??(t.staged.length===0&&!n.amend&&i);await e.onPerform(async()=>{await je(e.machine,`git.run`,{projectId:e.projectId,repo:t.path,action:{kind:`commit`,message:r,all:o,amend:n.amend}}),e.onMessage(t.path,``),n.then!==null&&await je(e.machine,n.then===`push`?`git.push`:`git.sync`,{projectId:e.projectId,repo:t.path})})}async function _(t){let i={};r.current.set(t.path,i),n(e=>[...e,t.path]);try{let n=await je(e.machine,`git.message`,{projectId:e.projectId,repo:t.path,staged:t.staged.length>0});r.current.get(t.path)===i&&e.onMessage(t.path,n)}catch(e){r.current.get(t.path)===i&&ke(e)}finally{r.current.get(t.path)===i&&v(t)}}function v(e){r.current.delete(e.path),n(t=>t.filter(t=>t!==e.path))}function b(t){e.onPerform(async()=>{e.onMessage(t.path,await je(e.machine,`git.undoCommit`,{projectId:e.projectId,repo:t.path}))})}function ee(e,t){p(e,{kind:`unstage`,paths:t.flatMap(e=>e.from===null?[e.path]:[e.path,e.from])})}function te(e,t){p(e,{kind:`stage`,paths:t.map(e=>e.path)})}function x(t){return(0,Z.jsx)(oG,{repo:t,settings:u,onSettings:e.onSettings,onCommit:e=>void g(t,e),onUndo:()=>b(t),onRun:e=>void p(t,e),onRemote:e=>void m(t,e),onStage:e=>te(t,e),onUnstage:e=>ee(t,e),onDiscard:e=>s({repo:t,resources:e}),onCheckout:()=>e.onCheckout(t)})}return(0,Z.jsxs)(`div`,{className:`bg-sidebar flex h-full min-h-0 flex-col`,children:[(0,Z.jsxs)(`div`,{className:`text-sidebar-foreground border-sidebar-border relative flex h-9 shrink-0 items-center gap-0.5 border-b px-1.5`,children:[e.header,(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:u.tree?`View as List`:`View as Tree`,"aria-label":u.tree?`View as List`:`View as Tree`,onClick:()=>e.onSettings({tree:!u.tree}),children:(0,Z.jsx)(Pe,{icon:u.tree?rp:np,className:`size-4`})}),l!==null&&(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Commit`,"aria-label":`Commit`,disabled:e.busy,onClick:()=>void g(l,UW),children:(0,Z.jsx)(Pe,{icon:ae,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Refresh`,"aria-label":`Refresh`,onClick:e.onRefresh,children:(0,Z.jsx)(Pe,{icon:Ke,className:`size-4`})}),l!==null&&x(l),(e.busy||t.length>0)&&(0,Z.jsx)(`span`,{className:`absolute inset-x-0 -bottom-px h-0.5 overflow-hidden`,children:(0,Z.jsx)(`span`,{className:`bg-primary block h-full w-[2%] animate-[progress_4s_linear_infinite]`})})]}),(0,Z.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-2`,children:[e.error!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:e.error}),e.error===null&&e.repos===null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:`Loading…`}),e.error===null&&e.repos?.length===0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground p-4 text-xs`,children:`The folder currently open doesn't have a git repository.`}),c.map(n=>(0,Z.jsxs)(`div`,{children:[l===null&&(0,Z.jsxs)(`div`,{className:`group/row text-sidebar-foreground flex h-[22px] items-center gap-1.5 pr-1 pl-2 text-[13px]`,children:[(0,Z.jsx)(`span`,{className:`truncate font-semibold`,children:n.path===``?e.name:yp(n.path)}),(0,Z.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:n.branch??(n.head===null?``:DW(n.head))}),(0,Z.jsx)(`span`,{className:`ml-auto hidden shrink-0 items-center gap-0.5 group-hover/row:flex`,children:(0,Z.jsx)(YW,{title:`Commit`,icon:ae,onClick:()=>void g(n,UW)})}),x(n)]}),(0,Z.jsx)(WW,{repo:n,message:f(n),generating:t.includes(n.path),busy:e.busy,nested:l===null,onMessage:t=>e.onMessage(n.path,t),onGenerate:()=>void _(n),onCancel:()=>v(n),onCommit:e=>void g(n,e),onRemote:e=>void m(n,e)}),(0,Z.jsx)(KW,{repo:n,root:e.root,tree:u.tree,sort:u.sort,depth:+(l===null),active:e.active,onOpen:e.onOpen,onStage:e=>te(n,e),onUnstage:e=>ee(n,e),onDiscard:e=>s({repo:n,resources:e}),onIgnore:e=>void p(n,{kind:`ignore`,paths:e.map(e=>e.path)})})]},n.path))]}),c.length>0&&(0,Z.jsx)(eG,{machine:e.machine,projectId:e.projectId,repos:c,open:d.editor.graph,height:u.graphHeight,active:e.active,onToggle:()=>De({...d,editor:{...d.editor,graph:!d.editor.graph}}),onHeight:t=>e.onSettings({graphHeight:t}),onOpen:e.onOpen,onFetch:e=>void p(e,{kind:`fetch`,prune:!1,all:!0})}),(0,Z.jsx)(he,{open:i!==null,onOpenChange:e=>{e||a(null)},children:(0,Z.jsxs)(ie,{children:[(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(y,{children:`There are no staged changes to commit.`}),(0,Z.jsx)(h,{children:`Would you like to stage all your changes and commit them directly?`})]}),(0,Z.jsxs)(xe,{children:[(0,Z.jsx)(oe,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`outline`,onClick:()=>{i!==null&&(e.onSettings({smartCommit:!0}),g(i.repo,{...i.options,all:!0}))},children:`Always`}),(0,Z.jsx)(de,{onClick:()=>{i!==null&&g(i.repo,{...i.options,all:!0})},children:`Yes`})]})]})}),(0,Z.jsx)(he,{open:o!==null,onOpenChange:e=>{e||s(null)},children:(0,Z.jsx)(ie,{children:o!==null&&(0,Z.jsx)(cG,{resources:o.resources,onDiscard:(e,t)=>void p(o.repo,{kind:`discard`,tracked:e,untracked:t})})})})]})}function cG(e){let t=e.resources,n=t.filter(e=>e.status===`U`);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(y,{children:t.length>1?`Are you sure you want to discard ALL changes in ${t.length} files?`:n.length===1?`Are you sure you want to DELETE the following untracked file: '${yp(t[0].path)}'?`:`Are you sure you want to discard changes in '${yp(t.at(0)?.path??``)}'?`}),(0,Z.jsxs)(h,{children:[t.length>1&&`This is IRREVERSIBLE! Your current working set will be FOREVER LOST if you proceed.`,t.length===1&&n.length===1&&`This is IRREVERSIBLE! This file will be FOREVER LOST if you proceed.`]})]}),(0,Z.jsxs)(xe,{children:[(0,Z.jsx)(oe,{children:`Cancel`}),(0,Z.jsx)(de,{variant:`destructive`,onClick:()=>e.onDiscard(t.filter(e=>e.status!==`U`).map(e=>e.path),n.map(e=>e.path)),children:t.length>1?`Discard All ${t.length} Files`:n.length===1?`Delete File`:`Discard File`})]})]})}var lG=3e3;function uG(e){let[t,r]=(0,X.useState)(null),[i,a]=(0,X.useState)(null),o=(0,X.useEffectEvent)(e.onLoaded);return(0,X.useEffect)(()=>{let t=!0,i=!1;async function s(){if(!i){i=!0;try{let i=await je(e.machine,`git.changes`,{projectId:e.projectId});if(!t)return;a(null),r(e=>n(e,i)?e:i),o()}catch(e){t&&a(ze(e))}finally{i=!1}}}function c(){document.hidden||s()}s();let l=window.setInterval(c,lG);return window.addEventListener(`focus`,c),()=>{t=!1,window.clearInterval(l),window.removeEventListener(`focus`,c)}},[e.machine,e.projectId,e.version]),{repos:t,error:i}}var dG=(0,X.lazy)(async()=>({default:(await Y(async()=>{let{ZoomableImage:e}=await import(`./zoomable-image-D0X1OvmT.js`);return{ZoomableImage:e}},__vite__mapDeps([16,17,2,18,19,20,21,22]))).ZoomableImage}));function fG(e){let t=Oe(t=>Ne(t,e.machine,e.projectId)),n=Ee(),r=Oe(e=>e.prefs.editor),[i]=(0,X.useState)(()=>fp(e.machine,e.projectId)),[a]=(0,X.useState)(()=>new Map(i.tabs.map(e=>[e.spec.id,e.view]))),[o,s]=(0,X.useState)(()=>({...i.settings,width:Math.min(i.settings.width,window.innerWidth*.6)})),[c,l]=(0,X.useState)(i.expanded),[u,f]=(0,X.useState)(0),[p,m]=(0,X.useState)(0),[h,g]=(0,X.useState)(null),_=CW(),y=_.editor,b=_.diff,ee=(0,X.useRef)(null),te=(0,X.useCallback)(()=>f(e=>e+1),[]),x=LW({machine:e.machine,projectId:e.projectId,saved:i,onSaved:te,onClose:()=>{ve(),e.onClose()}}),ne=x.active;function re(){ne!==null&&x.reload(ne)}let ie=uG({machine:e.machine,projectId:e.projectId,version:u,onLoaded:re}),ae=ie.repos,oe=x.tabs.find(e=>e.spec.id===ne),se=oe?.document.status===`text`&&oe.spec.preview!==!0?oe.document:null,ce=oe?.document.status===`text`&&oe.spec.preview===!0?oe.document.modified:null,le=se?.original??null,ue=se?.modified??null,de=oe?.spec.right.kind===`worktree`,fe=ae?.find(e=>e.path===oe?.spec.repo)??ae?.at(0)??null,pe=le===null&&ue?.getLanguageId()===`markdown`?ue:null;(0,X.useEffect)(()=>{sW().catch(ke)},[n]),(0,X.useEffect)(()=>{y?.updateOptions(cW(r)),b?.updateOptions(cW(r)),lW(r).catch(ke)},[y,b,r]),(0,X.useEffect)(()=>{b?.updateOptions({renderSideBySide:!o.inline,ignoreTrimWhitespace:!o.whitespace,hideUnchangedRegions:{enabled:o.collapse}})},[b,o.inline,o.whitespace,o.collapse]),(0,X.useEffect)(()=>{if(y===null||b===null||(ee.current!==null&&a.set(ee.current.id,ee.current.editor.saveViewState()),ee.current=null,y.setModel(le===null?ue:null),b.setModel(le===null||ue===null?null:{original:le,modified:ue}),ue===null||ne===null))return;let e=le===null?y:b.getModifiedEditor();e.updateOptions({readOnly:!de}),b.updateOptions({readOnly:!de}),e.restoreViewState(a.get(ne)??null),e.focus(),ee.current={id:ne,editor:e}},[y,b,le,ue,ne,de,a]),(0,X.useEffect)(()=>x.releaseModels());let me=(0,X.useEffectEvent)(re);(0,X.useEffect)(()=>me(),[ne]),xW({machine:e.machine,projectId:e.projectId,spec:oe?.spec,original:le,modified:ue,onPerform:ge});function he(e){window.innerWidth<640&&_e({sidebar:!1}),x.open(e)}async function ge(e){m(e=>e+1);try{await e()}catch(e){ke(e)}finally{m(e=>e-1),te()}}function _e(e){s(t=>({...t,...e}))}function ve(){ee.current!==null&&a.set(ee.current.id,ee.current.editor.saveViewState()),pp(e.machine,e.projectId,{tabs:x.tabs.map(e=>({spec:e.spec,view:a.get(e.spec.id)??null})),active:ne,expanded:c,settings:o})}(0,X.useEffect)(ve);let ye=(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,title:`Toggle Primary Side Bar`,"aria-label":`Toggle Primary Side Bar`,"aria-pressed":o.sidebar,onClick:()=>_e({sidebar:!o.sidebar}),children:(0,Z.jsx)(Pe,{icon:v,className:`size-4`})}),be=(0,Z.jsxs)(Z.Fragment,{children:[ye,(0,Z.jsx)(BW,{view:o.view,onView:e=>_e({view:e})})]});return(0,Z.jsx)(We,{open:!0,onOpenChange:()=>x.requestClose(),children:(0,Z.jsxs)(He,{"aria-describedby":void 0,showCloseButton:!1,className:`top-0 left-0 flex h-dvh w-dvw max-w-none translate-x-0 translate-y-0 flex-col gap-0 overflow-hidden rounded-none border-0 p-0 sm:max-w-none`,onEscapeKeyDown:e=>e.preventDefault(),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),ne!==null&&x.save(ne,!1)),(e.metaKey||e.ctrlKey)&&e.key===`w`&&(e.preventDefault(),ne!==null&&x.close(ne)),(e.metaKey||e.ctrlKey)&&e.shiftKey&&e.key.toLowerCase()===`v`&&pe!==null&&(e.preventDefault(),_e({preview:!o.preview}))},children:[(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:Be(`border-sidebar-border relative shrink-0 border-r`,!o.sidebar&&`hidden`),style:{width:o.width},children:[o.view===`explorer`&&(0,Z.jsx)(gp,{machine:e.machine,projectId:e.projectId,root:t?.path??``,header:be,expanded:c,onExpanded:l,active:oe?.spec.path??null,onOpen:e=>he(kW(``,e)),onPreview:e=>he(AW(``,e)),onRenamed:x.renamed,onDeleted:x.deleted}),o.view===`scm`&&(0,Z.jsx)(sG,{machine:e.machine,projectId:e.projectId,name:t?.name??``,root:t?.path??``,header:be,repos:ae,error:ie.error,busy:p>0,settings:o,onSettings:_e,onMessage:(e,t)=>s(n=>({...n,messages:{...n.messages,[e]:t}})),active:ne,onOpen:he,onRefresh:te,onPerform:ge,onCheckout:g}),(0,Z.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,className:`hover:bg-primary absolute inset-y-0 -right-0.5 z-10 w-1 cursor-col-resize touch-none transition-colors delay-100`,onPointerDown:e=>Le(e,e=>_e({width:Math.min(Math.max(e.clientX,200),window.innerWidth-240)}))})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Z.jsxs)(`div`,{className:`bg-sidebar flex h-9 shrink-0 items-center shadow-[inset_0_-1px_0_var(--sidebar-border)]`,children:[!o.sidebar&&(0,Z.jsx)(`div`,{className:`shrink-0 px-1.5`,children:ye}),(0,Z.jsx)(Ue,{className:`sr-only`,children:`Editor`}),(0,Z.jsx)(bp,{tabs:x.tabs.map(e=>({id:e.spec.id,path:e.spec.path,label:e.spec.label})),active:ne,dirty:x.dirty.map(e=>e.spec.id),onSelect:x.setActive,onClose:x.close}),oe!==void 0&&le!==null&&(0,Z.jsx)(VW,{settings:o,onSettings:_e,onOpenFile:()=>he(kW(oe.spec.repo,oe.spec.path)),onPrevious:()=>b?.goToDiff(`previous`),onNext:()=>b?.goToDiff(`next`)}),pe!==null&&(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,className:`ml-1.5 shrink-0`,title:`Toggle Preview`,"aria-label":`Toggle Preview`,"aria-pressed":o.preview,onClick:()=>_e({preview:!o.preview}),children:(0,Z.jsx)(Pe,{icon:sp,className:`size-4`})}),(0,Z.jsx)(Fe,{size:`icon-micro`,variant:`ghost`,className:`mx-1.5 shrink-0`,title:`Close`,"aria-label":`Close`,onClick:x.requestClose,children:(0,Z.jsx)(Pe,{icon:Me,className:`size-4`})})]}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:Be(`relative min-w-0 flex-1`,pe!==null&&o.preview&&`max-sm:hidden`,ce!==null&&`hidden`),children:[(0,Z.jsx)(`div`,{ref:_.codeHost,className:Be(`absolute inset-0`,(ue===null||le!==null)&&`hidden`)}),(0,Z.jsx)(`div`,{ref:_.diffHost,className:Be(`absolute inset-0`,(ue===null||le===null)&&`hidden`)}),oe?.document.status===`image`&&(0,Z.jsx)(X.Suspense,{children:(0,Z.jsx)(dG,{src:oe.document.src,alt:oe.spec.path})}),(0,Z.jsx)(cp,{document:oe?.document,view:o.view})]}),pe!==null&&o.preview&&y!==null&&oe!==void 0&&(0,Z.jsx)(uW,{machine:e.machine,projectId:e.projectId,path:oe.spec.path,model:pe,editor:y,onOpen:e=>he(kW(``,e))}),ce!==null&&oe!==void 0&&(0,Z.jsx)(uW,{machine:e.machine,projectId:e.projectId,path:oe.spec.path,model:ce,editor:null,onOpen:e=>he(kW(``,e))},oe.spec.id)]})]})]}),(0,Z.jsx)(yW,{editor:ue===null?null:le===null?y:b?.getModifiedEditor()??null,language:se?.language??null,children:fe!==null&&(0,Z.jsx)(HW,{repo:fe,busy:p>0,onCheckout:()=>g(fe),onSync:()=>void ge(()=>je(e.machine,`git.sync`,{projectId:e.projectId,repo:fe.path})),onPublish:()=>void ge(()=>je(e.machine,`git.push`,{projectId:e.projectId,repo:fe.path}))})}),(0,Z.jsx)(dp,{}),(0,Z.jsx)(_W,{open:x.closing!==null,tabs:x.closingTabs,onCancel:()=>x.setClosing(null),onFinish:e=>void x.finish(e)}),(0,Z.jsx)(gW,{...x.conflict}),h!==null&&(0,Z.jsx)(d,{machine:e.machine,projectId:e.projectId,repo:{...h,changed:h.merge.length+h.staged.length+h.changes.length},onRefresh:te,onClose:()=>g(null)})]})})}export{fG as EditorDialog};
|